[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