[jboss-cvs] JBossAS SVN: r97055 - in projects/jboss-osgi/projects/bundles: jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 26 19:15:11 EST 2009


Author: thomas.diesler at jboss.com
Date: 2009-11-26 19:15:10 -0500 (Thu, 26 Nov 2009)
New Revision: 97055

Removed:
   projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedBeanDeployer.java
   projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedSchemaResolverFactory.java
Modified:
   projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/scripts/assembly-bundles.xml
   projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/UnmarshallerService.java
   projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/UnmarshallerServiceImpl.java
   projects/jboss-osgi/projects/bundles/microcontainer/trunk/pom.xml
   projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedKernelBootstrap.java
   projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedXMLDeployer.java
Log:
WIP

Modified: projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/scripts/assembly-bundles.xml
===================================================================
--- projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/scripts/assembly-bundles.xml	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/scripts/assembly-bundles.xml	2009-11-27 00:15:10 UTC (rev 97055)
@@ -16,6 +16,7 @@
       <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
       <includes>
         <include>*:jboss-osgi-apache-xerces:jar</include>
+        <include>*:jboss-osgi-common:jar</include>
         <include>*:jboss-osgi-common-core:jar</include>
         <include>*:jboss-osgi-husky:jar</include>
         <include>*:jboss-osgi-jaxb:jar</include>

Modified: projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/UnmarshallerService.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/UnmarshallerService.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/UnmarshallerService.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -46,15 +46,10 @@
    
    void setErrorHandler(ErrorHandler errorHandler);
    
-   /**
-    * Register the mapping from the public id/system id to the dtd/xsd file
-    * name. This overwrites any existing mapping.
-    *
-    * @param id  the DOCTYPE public id or system id such as "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
-    * @param dtdOrSchema the simple dtd/xsd file name, "ejb-jar.dtd"
-    */
    void registerSchemaLocation(String id, String dtdOrSchema);
 
+   void addClassBinding(String nsUri, String className);
+
    void addClassBinding(String nsUri, Class<?> clazz);
 
    Object unmarshal(Reader xmlReader) throws IOException;

Modified: projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/UnmarshallerServiceImpl.java
===================================================================
--- projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/UnmarshallerServiceImpl.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/jboss-xml-binding/trunk/src/main/java/org/jboss/osgi/jbossxb/internal/UnmarshallerServiceImpl.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -52,16 +52,16 @@
    // Provide logging
    private static Logger log = LoggerFactory.getLogger(UnmarshallerServiceImpl.class);
 
-   private BundleContext context;
    private Unmarshaller unmarshaller;
    private JBossEntityResolver entityResolver;
    private DefaultSchemaResolver schemaBindingResolver;
+   private BundleClassLoader bundleLoader;
 
    public UnmarshallerServiceImpl(BundleContext context)
    {
-      this.context = context;
       unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
       schemaBindingResolver = new DefaultSchemaResolver();
+      bundleLoader = BundleClassLoader.createClassLoader(context.getBundle());
    }
 
    public void setNamespaceAware(boolean namespaces)
@@ -99,7 +99,7 @@
          throw new IllegalStateException(ex);
       }
    }
-   
+
    public void setErrorHandler(ErrorHandler errorHandler)
    {
       unmarshaller.setErrorHandler(errorHandler);
@@ -120,8 +120,28 @@
          }
       }
       entityResolver.registerLocalEntity(id, dtdOrSchema);
+      log.debug("Register [" + id + "=" + dtdOrSchema + "]");
    }
 
+   public void addClassBinding(String nsUri, String className)
+   {
+      ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+      try
+      {
+         Thread.currentThread().setContextClassLoader(bundleLoader);
+         schemaBindingResolver.addClassBinding(nsUri, className);
+         log.debug("Add mapping of '" + nsUri + "' to " + className);
+      }
+      catch (ClassNotFoundException ex)
+      {
+         log.debug("Ignore mapping of '" + nsUri + "' to " + className);
+      }
+      finally
+      {
+         Thread.currentThread().setContextClassLoader(ctxLoader);
+      }
+   }
+
    public void addClassBinding(String nsUri, Class<?> clazz)
    {
       schemaBindingResolver.addClassBinding(nsUri, clazz);
@@ -129,8 +149,10 @@
 
    public Object unmarshal(Reader xmlReader) throws IOException
    {
+      ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
       try
       {
+         Thread.currentThread().setContextClassLoader(bundleLoader);
          return unmarshaller.unmarshal(xmlReader, schemaBindingResolver);
       }
       catch (JBossXBException ex)
@@ -139,12 +161,18 @@
          ioex.initCause(ex);
          throw ioex;
       }
+      finally
+      {
+         Thread.currentThread().setContextClassLoader(ctxLoader);
+      }
    }
 
    public Object unmarshal(InputStream xmlStream) throws IOException
    {
+      ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
       try
       {
+         Thread.currentThread().setContextClassLoader(bundleLoader);
          return unmarshaller.unmarshal(xmlStream, schemaBindingResolver);
       }
       catch (JBossXBException ex)
@@ -153,12 +181,18 @@
          ioex.initCause(ex);
          throw ioex;
       }
+      finally
+      {
+         Thread.currentThread().setContextClassLoader(ctxLoader);
+      }
    }
 
    public Object unmarshal(InputSource source) throws IOException
    {
+      ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
       try
       {
+         Thread.currentThread().setContextClassLoader(bundleLoader);
          return unmarshaller.unmarshal(source, schemaBindingResolver);
       }
       catch (JBossXBException ex)
@@ -167,6 +201,10 @@
          ioex.initCause(ex);
          throw ioex;
       }
+      finally
+      {
+         Thread.currentThread().setContextClassLoader(ctxLoader);
+      }
    }
 
    public Object unmarshal(String xml) throws IOException
@@ -174,7 +212,6 @@
       ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
       try
       {
-         BundleClassLoader bundleLoader = BundleClassLoader.createClassLoader(context.getBundle());
          Thread.currentThread().setContextClassLoader(bundleLoader);
          return unmarshaller.unmarshal(xml, schemaBindingResolver);
       }

Modified: projects/jboss-osgi/projects/bundles/microcontainer/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/projects/bundles/microcontainer/trunk/pom.xml	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/microcontainer/trunk/pom.xml	2009-11-27 00:15:10 UTC (rev 97055)
@@ -40,7 +40,6 @@
   <!-- Properties -->
   <properties>
     <version.jboss.osgi.runtime.felix>2.0.0</version.jboss.osgi.runtime.felix>
-    <version.javassist>3.9.0.GA</version.javassist>
     <version.jboss.deployers>2.0.5.SP1</version.jboss.deployers>
     <version.jboss.microcontainer>2.0.9.GA</version.jboss.microcontainer>
     <version.jboss.osgi.common>1.0.4-SNAPSHOT</version.jboss.osgi.common>
@@ -53,18 +52,12 @@
     <version.jboss.osgi.spi>1.0.3-SNAPSHOT</version.jboss.osgi.spi>
     <version.jboss.osgi.xml.binding>2.0.2-SNAPSHOT</version.jboss.osgi.xml.binding>
     <version.jboss.reflect>2.0.2.GA</version.jboss.reflect>
-    <version.jboss.xb>2.0.2.Beta3</version.jboss.xb>
     <version.osgi>4.2.0</version.osgi>
   </properties>
 
   <!-- Dependencies -->
   <dependencies>
     <dependency>
-      <groupId>javassist</groupId>
-      <artifactId>javassist</artifactId>
-      <version>${version.javassist}</version>
-    </dependency>
-    <dependency>
       <groupId>org.jboss.deployers</groupId>
       <artifactId>jboss-deployers-vfs</artifactId>
       <version>${version.jboss.deployers}</version>
@@ -87,17 +80,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jbossxb</artifactId>
-      <version>${version.jboss.xb}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.jboss.osgi</groupId>
       <artifactId>jboss-osgi-spi</artifactId>
       <version>${version.jboss.osgi.spi}</version>
@@ -226,7 +208,6 @@
             <DynamicImport-Package>*</DynamicImport-Package>
             <Embed-Transitive>true</Embed-Transitive>
             <Embed-Dependency>
-              javassist;inline=false,
               jboss-classloader;inline=false,
               jboss-classloading;inline=false,
               jboss-classloading-spi;inline=false,
@@ -247,7 +228,6 @@
               jboss-osgi-deployers;inline=false,
               jboss-reflect;inline=false,
               jboss-kernel;inline=false,
-              jbossxb;inline=false,
             </Embed-Dependency>
             <_exportcontents>
               org.jboss.beans.metadata*;version=2.0.9,

Deleted: projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedBeanDeployer.java
===================================================================
--- projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedBeanDeployer.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedBeanDeployer.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.microcontainer.internal;
-
-// $Id: $
-
-import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
-import org.jboss.deployers.vfs.spi.deployer.JBossXBDeployerHelper;
-import org.jboss.kernel.spi.deployment.KernelDeployment;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverFactory;
-
-/**
- * A {@link BeanDeployer} that provides a non-static {@link SchemaBindingResolver}.
- * 
- * @author thomas.diesler at jboss.com
- * @since 30-Jun-2009
- */
-public class EmbeddedBeanDeployer extends BeanDeployer
-{
-   private JBossXBDeployerHelper<KernelDeployment> helper;
-   
-   @Override
-   protected JBossXBDeployerHelper<KernelDeployment> getHelper()
-   {
-      if (helper == null)
-         helper = new EmbeddedDeployerHelper<KernelDeployment>(getOutput());
-      
-      return helper;
-   }
-   
-   class EmbeddedDeployerHelper<T> extends JBossXBDeployerHelper<T>
-   {
-      private DefaultSchemaResolver resolver;
-      
-      protected EmbeddedDeployerHelper(Class<T> output)
-      {
-         super(output);
-      }
-
-      @Override
-      public DefaultSchemaResolver getResolver()
-      {
-         if (resolver == null)
-         {
-            SchemaResolverFactory factory = EmbeddedSchemaResolverFactory.getInstance();
-            resolver = (DefaultSchemaResolver)factory.getSchemaBindingResolver();
-         }
-         return resolver;
-      }
-   }
-}

Modified: projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedKernelBootstrap.java
===================================================================
--- projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedKernelBootstrap.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedKernelBootstrap.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -45,7 +45,6 @@
 
    public EmbeddedKernelBootstrap(BundleContext context)
    {
-      
       // Get or bootstrap the kernel
       if (kernel == null)
       {
@@ -59,7 +58,7 @@
             throw new IllegalStateException("Cannot bootstrap kernel", e);
          }
       }
-      deployer = new EmbeddedXMLDeployer(kernel);
+      deployer = new EmbeddedXMLDeployer(context, kernel);
    }
 
    /** 

Deleted: projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedSchemaResolverFactory.java
===================================================================
--- projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedSchemaResolverFactory.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedSchemaResolverFactory.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.microcontainer.internal;
-
-// $Id$
-
-import org.jboss.logging.Logger;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
-
-/**
- * A {@link SchemaResolverFactory} that unlike the {@link SingletonSchemaResolverFactory} 
- * does not cache classes in static singletons.
- * 
- * @author thomas.diesler at jboss.com
- * @since 27-Jun-2008
- */
-public class EmbeddedSchemaResolverFactory implements SchemaResolverFactory
-{
-   /** The log */
-   private static final Logger log = Logger.getLogger(EmbeddedSchemaResolverFactory.class);
-
-   /** The resolver */
-   private final DefaultSchemaResolver resolver = new DefaultSchemaResolver();
-
-   /**
-    * Create a new SingletonSchemaResolverFactory.
-    */
-   private EmbeddedSchemaResolverFactory()
-   {
-      addJaxbSchema("urn:jboss:aop-beans:1.0", "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment");
-      addJaxbSchema("urn:jboss:bean-deployer", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment10");
-      addJaxbSchema("urn:jboss:bean-deployer:2.0", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment");
-      addJaxbSchema("urn:jboss:javabean:1.0", "org.jboss.javabean.plugins.jaxb.JavaBean10");
-      addJaxbSchema("urn:jboss:javabean:2.0", "org.jboss.javabean.plugins.jaxb.JavaBean20");
-      addJaxbSchema("urn:jboss:policy:1.0", "org.jboss.beans.metadata.plugins.policy.AbstractPolicyMetaData");
-      addJaxbSchema("urn:jboss:classloading:1.0", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData10");
-      addJaxbSchema("urn:jboss:classloader:1.0", "org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10");
-      addJaxbSchema("urn:jboss:deployers:2.0", "org.jboss.deployers.vfs.plugins.xb.SchemaResolverDeployerMetaData");
-   }
-
-   public static SchemaResolverFactory getInstance()
-   {
-      return new EmbeddedSchemaResolverFactory();
-   }
-   
-   public SchemaBindingResolver getSchemaBindingResolver()
-   {
-      return resolver;
-   }
-
-   /**
-    * Set the parse annotations for a schema
-    * 
-    * @param namespace the namespace
-    * @param parseAnnotations whether to parse annotations
-    */
-   protected void setParseAnnotations(String namespace, Boolean parseAnnotations)
-   {
-      resolver.addSchemaParseAnnotations(namespace, parseAnnotations);
-      if (log.isTraceEnabled())
-         log.trace("Parse annotations '" + namespace + "' set to '" + parseAnnotations + "'");
-   }
-
-   /**
-    * Add a schema.
-    * 
-    * @param namespace the namespace
-    * @param reference the schema reference class
-    * @return true when added
-    */
-   public boolean addJaxbSchema(String namespace, String reference)
-   {
-      try
-      {
-         resolver.addClassBinding(namespace, reference);
-         if (log.isTraceEnabled())
-            log.trace("Mapped '" + namespace + "' to '" + reference + "'");
-         
-         return true;
-      }
-      catch (Exception ignored)
-      {
-         if (log.isTraceEnabled())
-            log.trace("Ignored: ", ignored);
-         
-         return false;
-      }
-   }
-}

Modified: projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedXMLDeployer.java
===================================================================
--- projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedXMLDeployer.java	2009-11-27 00:13:39 UTC (rev 97054)
+++ projects/jboss-osgi/projects/bundles/microcontainer/trunk/src/main/java/org/jboss/osgi/microcontainer/internal/EmbeddedXMLDeployer.java	2009-11-27 00:15:10 UTC (rev 97055)
@@ -33,9 +33,9 @@
 import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
 import org.jboss.kernel.spi.deployment.KernelDeployment;
 import org.jboss.logging.Logger;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.osgi.jbossxb.UnmarshallerService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 
 /**
  * An XML deployer that unlike the {@link BasicXMLDeployer} does not cache
@@ -46,26 +46,24 @@
  */
 public class EmbeddedXMLDeployer extends BasicKernelDeployer
 {
-   /** The log */
+   // Provide Logging
    private static final Logger log = Logger.getLogger(EmbeddedXMLDeployer.class);
 
-   /** Unmarshaller factory */
-   private UnmarshallerFactory factory = UnmarshallerFactory.newInstance();
-
-   /** The resolver */
-   private SchemaBindingResolver resolver = EmbeddedSchemaResolverFactory.getInstance().getSchemaBindingResolver();
-
+   private BundleContext context;
+   
    /** The deployments by url or name */
    private Map<String, KernelDeployment> deploymentsByName = new ConcurrentHashMap<String, KernelDeployment>();
 
    /**
     * Create a new XML deployer
     * 
+    * @param context the bundle context 
     * @param kernel the kernel
     */
-   public EmbeddedXMLDeployer(Kernel kernel)
+   public EmbeddedXMLDeployer(BundleContext context, Kernel kernel)
    {
       super(kernel, null);
+      this.context = context;
    }
 
    public Collection<String> getDeploymentNames()
@@ -136,8 +134,22 @@
 
       long start = System.currentTimeMillis();
 
-      Unmarshaller unmarshaller = factory.newUnmarshaller();
-      KernelDeployment deployment = (KernelDeployment)unmarshaller.unmarshal(url.toString(), resolver);
+      ServiceReference sref = context.getServiceReference(UnmarshallerService.class.getName());
+      if (sref == null)
+         throw new IllegalStateException("Cannot obtain: " + UnmarshallerService.class.getName());
+      
+      UnmarshallerService unmarshaller = (UnmarshallerService)context.getService(sref);
+      unmarshaller.addClassBinding("urn:jboss:aop-beans:1.0", "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment");
+      unmarshaller.addClassBinding("urn:jboss:bean-deployer", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment10");
+      unmarshaller.addClassBinding("urn:jboss:bean-deployer:2.0", "org.jboss.kernel.plugins.deployment.AbstractKernelDeployment");
+      unmarshaller.addClassBinding("urn:jboss:javabean:1.0", "org.jboss.javabean.plugins.jaxb.JavaBean10");
+      unmarshaller.addClassBinding("urn:jboss:javabean:2.0", "org.jboss.javabean.plugins.jaxb.JavaBean20");
+      unmarshaller.addClassBinding("urn:jboss:policy:1.0", "org.jboss.beans.metadata.plugins.policy.AbstractPolicyMetaData");
+      unmarshaller.addClassBinding("urn:jboss:classloading:1.0", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData10");
+      unmarshaller.addClassBinding("urn:jboss:classloader:1.0", "org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10");
+      unmarshaller.addClassBinding("urn:jboss:deployers:2.0", "org.jboss.deployers.vfs.plugins.xb.SchemaResolverDeployerMetaData");
+      
+      KernelDeployment deployment = (KernelDeployment)unmarshaller.unmarshal(url.toString());
       if (deployment == null)
          throw new RuntimeException("The xml " + url + " is not well formed!");
 




More information about the jboss-cvs-commits mailing list