[jboss-cvs] JBossAS SVN: r71326 - 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 17:33:34 EDT 2008


Author: alesj
Date: 2008-03-26 17:33:34 -0400 (Wed, 26 Mar 2008)
New Revision: 71326

Modified:
   projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java
Log:
Unregistering schema on uninstall.

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 21:18:22 UTC (rev 71325)
+++ projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/org/jboss/deployers/vfs/spi/deployer/SchemaResolverDeployer.java	2008-03-26 21:33:34 UTC (rev 71326)
@@ -26,11 +26,11 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.virtual.VirtualFile;
+import org.jboss.xb.annotations.JBossXmlSchema;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
-import org.jboss.xb.annotations.JBossXmlSchema;
 
 /**
  * SchemaResolverDeployer.
@@ -46,8 +46,8 @@
    /** Unmarshaller factory */
    private static final UnmarshallerFactory factory = UnmarshallerFactory.newInstance();
 
-   /** The resolver */
-   private static final SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
+   /** The singleton schema resolver */
+   private static DefaultSchemaResolver resolver = (DefaultSchemaResolver)SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
 
    /** Whether the Unmarshaller will use schema validation */
    private boolean useSchemaValidation = true;
@@ -136,12 +136,22 @@
    {
       if (isRegisterWithJBossXB())
       {
-         SingletonSchemaResolverFactory schemaResolverFactory = SingletonSchemaResolverFactory.getInstance();
-         schemaResolverFactory.addJaxbSchema(findNamespace(), getOutput().getName());
+         resolver.addClassBinding(findNamespace(), getOutput());
       }
    }
 
    /**
+    * Remove registered schema
+    */
+   public void destroy()
+   {
+      if (isRegisterWithJBossXB())
+      {
+         resolver.removeClassBinding(findNamespace());
+      }
+   }
+
+   /**
     * Find the namespace on class/package
     *
     * @return jboss xml schema namespace
@@ -156,7 +166,7 @@
          jBossXmlSchema = pckg.getAnnotation(JBossXmlSchema.class);
       }
       if (jBossXmlSchema == null)
-         throw new IllegalArgumentException("RegisterWithJBossXB equals true, but cannot find @JBossXmlSchema on class or package.");
+         throw new IllegalArgumentException("RegisterWithJBossXB is enabled, but cannot find @JBossXmlSchema on class or package.");
 
       return jBossXmlSchema.namespace();
    }




More information about the jboss-cvs-commits mailing list