[jboss-cvs] JBossAS SVN: r71330 - projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 26 20:07:44 EDT 2008


Author: alesj
Date: 2008-03-26 20:07:44 -0400 (Wed, 26 Mar 2008)
New Revision: 71330

Modified:
   projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java
Log:
Proper place to throw exception + better msg.

Modified: projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java	2008-03-26 22:41:44 UTC (rev 71329)
+++ projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java	2008-03-27 00:07:44 UTC (rev 71330)
@@ -27,6 +27,7 @@
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.xb.annotations.JBossXmlSchema;
+import org.jboss.xb.annotations.JBossXmlConstants;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
@@ -136,7 +137,14 @@
    {
       if (isRegisterWithJBossXB())
       {
-         resolver.addClassBinding(findNamespace(), getOutput());
+         String namespace = findNamespace();
+         if (namespace == null || JBossXmlConstants.DEFAULT.equals(namespace))
+            throw new IllegalArgumentException(
+                  "RegisterWithJBossXB is enabled, but cannot find namespace on class or package: " + getOutput() +
+                  ", perhaps missing @JBossXmlSchema or using default namespace attribute."
+            );
+
+         resolver.addClassBinding(namespace, getOutput());
       }
    }
 
@@ -147,6 +155,7 @@
    {
       if (isRegisterWithJBossXB())
       {
+         // namespace should exist, since we got past create
          resolver.removeClassBinding(findNamespace());
       }
    }
@@ -166,10 +175,7 @@
          if (pckg != null)
             jBossXmlSchema = pckg.getAnnotation(JBossXmlSchema.class);
       }
-      if (jBossXmlSchema == null)
-         throw new IllegalArgumentException("RegisterWithJBossXB is enabled, but cannot find @JBossXmlSchema on class or package.");
-
-      return jBossXmlSchema.namespace();
+      return jBossXmlSchema != null ? jBossXmlSchema.namespace() : null;
    }
 
    protected T parse(VFSDeploymentUnit unit, VirtualFile file, T root) throws Exception




More information about the jboss-cvs-commits mailing list