[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