[jboss-cvs] JBossAS SVN: r108196 - in branches/weld-snapshot: weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 16 23:37:10 EDT 2010


Author: marius.bogoevici
Date: 2010-09-16 23:37:09 -0400 (Thu, 16 Sep 2010)
New Revision: 108196

Added:
   branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClassLoaderResourceLoader.java
Modified:
   branches/weld-snapshot/component-matrix/pom.xml
   branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
Log:
changes for adding in WELD-683 and fixing JBAS-8355

Modified: branches/weld-snapshot/component-matrix/pom.xml
===================================================================
--- branches/weld-snapshot/component-matrix/pom.xml	2010-09-16 21:54:04 UTC (rev 108195)
+++ branches/weld-snapshot/component-matrix/pom.xml	2010-09-17 03:37:09 UTC (rev 108196)
@@ -157,7 +157,7 @@
     <version.org.jboss.stdio>1.0.0.CR3</version.org.jboss.stdio>
     <version.org.jboss.threads>2.0.0.CR4</version.org.jboss.threads>
     <version.org.jboss.vfs>3.0.0.CR5</version.org.jboss.vfs>
-    <version.org.jboss.weld>1.1.0.Beta1</version.org.jboss.weld>
+    <version.org.jboss.weld>1.1.0-SNAPSHOT</version.org.jboss.weld>
     <version.org.jboss.xnio>2.1.0.CR2</version.org.jboss.xnio>
     <version.org.jboss.xnio.metadata>2.1.0.CR5</version.org.jboss.xnio.metadata>
     <version.org.osgi>4.2.0</version.org.osgi>
@@ -172,7 +172,7 @@
     <version.sun.jaxb>2.2</version.sun.jaxb>
     <version.sun-jaxws>2.2</version.sun-jaxws>
     <version.sun-policy>2.0-b01</version.sun-policy>
-    <version.weld.api>1.1.Beta1</version.weld.api>
+    <version.weld.api>1.1-SNAPSHOT</version.weld.api>
     <version.xdoclet>1.2.3</version.xdoclet>
     <version.xmlschema>1.4.5</version.xmlschema>
   </properties>

Modified: branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
===================================================================
--- branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java	2010-09-16 21:54:04 UTC (rev 108195)
+++ branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java	2010-09-17 03:37:09 UTC (rev 108196)
@@ -27,10 +27,12 @@
 import java.util.Map;
 import java.util.WeakHashMap;
 
+import org.jboss.client.ReflectionLauncher;
 import org.jboss.weld.bootstrap.api.Bootstrap;
 import org.jboss.weld.bootstrap.api.ServiceRegistry;
 import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.weld.ejb.spi.EjbDescriptor;
+import org.jboss.weld.resources.spi.ResourceLoader;
 
 /**
  * An archive is an abstract representation of one or more deployed archives.
@@ -230,6 +232,7 @@
    {
       if (bda == null)
       {
+         services.add(ResourceLoader.class, new ClassLoaderResourceLoader(classLoader));      
          bda = new BeanDeploymentArchiveImpl(classLoader.toString(), bootstrap, services, this);
          for (ArchiveLifecycleListener listener: lifecycleListeners)
          {

Added: branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClassLoaderResourceLoader.java
===================================================================
--- branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClassLoaderResourceLoader.java	                        (rev 0)
+++ branches/weld-snapshot/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClassLoaderResourceLoader.java	2010-09-17 03:37:09 UTC (rev 108196)
@@ -0,0 +1,74 @@
+package org.jboss.weld.integration.deployer.env.bda;
+
+import org.jboss.weld.resources.spi.ResourceLoader;
+import org.jboss.weld.resources.spi.ResourceLoadingException;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+
+/**
+ * A (@link ResourceLoader} implementation that uses a specific @{link ClassLoader}
+ *
+ * @author Marius Bogoevici
+ */
+public class ClassLoaderResourceLoader implements ResourceLoader
+{
+   private ClassLoader classLoader;
+
+   public ClassLoaderResourceLoader(ClassLoader classLoader)
+   {
+      this.classLoader = classLoader;
+   }
+
+   public Class<?> classForName(String name)
+   {
+      try
+      {
+         return classLoader.loadClass(name);
+      }
+      catch (ClassNotFoundException e)
+      {
+         throw new ResourceLoadingException("Error loading class " + name, e);
+      }
+      catch (NoClassDefFoundError e)
+      {
+         throw new ResourceLoadingException("Error loading class " + name, e);
+      }
+      catch (TypeNotPresentException e)
+      {
+         throw new ResourceLoadingException("Error loading class " + name, e);
+      }
+   }
+
+   public URL getResource(String name)
+   {
+      return classLoader.getResource(name);
+
+   }
+
+   public Collection<URL> getResources(String name)
+   {
+      try
+      {
+         final Enumeration<URL> enumResources = classLoader.getResources(name);
+         ArrayList<URL> resources = new ArrayList<URL>();
+         while (enumResources.hasMoreElements())
+         {
+            resources.add(enumResources.nextElement());
+         }
+         return resources;
+      }
+      catch (IOException e)
+      {
+         throw new ResourceLoadingException("Error loading resource " + name, e);
+      }
+   }
+
+   public void cleanup()
+   {
+      this.classLoader = null;
+   }
+}



More information about the jboss-cvs-commits mailing list