[jboss-cvs] JBossAS SVN: r108370 - in trunk/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
Tue Sep 28 18:35:05 EDT 2010
Author: alesj
Date: 2010-09-28 18:35:05 -0400 (Tue, 28 Sep 2010)
New Revision: 108370
Modified:
trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClasspathFactory.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/LibraryDiscoveryService.java
Log:
[JBAS-8410]; fix the loop.
Modified: trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
===================================================================
--- trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-09-28 21:21:41 UTC (rev 108369)
+++ trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-09-28 22:35:05 UTC (rev 108370)
@@ -22,6 +22,7 @@
<bean name="WeldClasspathFactory" class="org.jboss.weld.integration.deployer.env.bda.ClasspathFactory">
<constructor factoryMethod="getInstance" />
+ <property name="system"><inject bean="ClassLoaderSystem"/></property>
<!-- Disable until we fix the loop -->
<!-- property name="libArchivesProvider"><inject bean="LibsDiscoveryService"/></property -->
</bean>
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java 2010-09-28 21:21:41 UTC (rev 108369)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java 2010-09-28 22:35:05 UTC (rev 108370)
@@ -54,8 +54,8 @@
* Constructor.
*
* @param id the identifier name of this BeanDeploymentArchive
- * @param bootstrap the Weld bootstrap. Can be null only if {@code archive} has no
- * beans.xml file
+ * @param bootstrap the Weld bootstrap. Can be null only if {@code archive} has no beans.xml file
+ * @param services the services
* @param archive the archive that this BeanDeploymentArchive represents
*/
public BeanDeploymentArchiveImpl(String id, Bootstrap bootstrap, ServiceRegistry services, Archive archive)
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClasspathFactory.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClasspathFactory.java 2010-09-28 21:21:41 UTC (rev 108369)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/ClasspathFactory.java 2010-09-28 22:35:05 UTC (rev 108370)
@@ -23,7 +23,6 @@
import java.lang.ref.WeakReference;
import java.util.Map;
-import java.util.Set;
import java.util.WeakHashMap;
import org.jboss.classloader.plugins.loader.ClassLoaderToLoaderAdapter;
@@ -94,6 +93,7 @@
this.system = system;
defaultDomain = system.getDefaultDomain();
+ defaultClasspath = new ClasspathImpl(defaultDomain.getName());
}
public void setLibArchivesProvider(LibraryArchivesProvider libArchivesProvider)
@@ -102,6 +102,21 @@
}
/**
+ * Create libs.
+ *
+ * A bit of impl detail, in case we change the actual behavior:
+ * libs will be automatically added to default classpath,
+ * hence no need for explicit addition.
+ *
+ * @throws Exception for any error
+ */
+ public void create() throws Exception
+ {
+ if (libArchivesProvider != null)
+ libArchivesProvider.getLibraries();
+ }
+
+ /**
* Creates the Classpath corresponding to ClassLoader.
*
* @param classLoader the ClassLoader
@@ -125,26 +140,6 @@
{
if (domain == null || domain == defaultDomain)
{
- synchronized (defaultDomain)
- {
- if (defaultClasspath == null)
- {
- Archive[] archives = new Archive[0];
- if (libArchivesProvider != null)
- {
- try
- {
- Set<Archive> ldsa = libArchivesProvider.getLibraries();
- archives = ldsa.toArray(new Archive[ldsa.size()]);
- }
- catch (Throwable t)
- {
- log.warn("Error looking up lib archives.", t);
- }
- }
- defaultClasspath = new ClasspathImpl(defaultDomain.getName(), archives);
- }
- }
return defaultClasspath;
}
synchronized(domain)
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/LibraryDiscoveryService.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/LibraryDiscoveryService.java 2010-09-28 21:21:41 UTC (rev 108369)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/LibraryDiscoveryService.java 2010-09-28 22:35:05 UTC (rev 108370)
@@ -32,8 +32,8 @@
import org.jboss.deployers.spi.classloading.ResourceLookupProvider;
import org.jboss.vfs.VFS;
import org.jboss.vfs.VirtualFile;
+import org.jboss.weld.bootstrap.api.Service;
import org.jboss.weld.bootstrap.api.ServiceRegistry;
-import org.jboss.weld.bootstrap.api.helpers.SimpleServiceRegistry;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.ejb.spi.EjbDescriptor;
import org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment;
@@ -105,11 +105,9 @@
// finally create the Archive
Archive archive = ArchiveFactory.createArchive(archiveInfo, new ArrayList<EjbDescriptor<?>>());
// ... and the corresponding BDA
- ServiceRegistry serviceRegistry = new SimpleServiceRegistry();
- // TODO: fill in serviceRegistry? With which services?
// create bda
- BeanDeploymentArchive bda = archive.createBeanDeploymentArchive(serviceRegistry);
+ BeanDeploymentArchive bda = archive.createBeanDeploymentArchive(NoopServiceRegistry.INSTANCE);
if (bda != null)
libs.add(archive);
@@ -147,4 +145,41 @@
{
this.excludedUrls = excludedUrls;
}
+
+ private static class NoopServiceRegistry implements ServiceRegistry
+ {
+ private static ServiceRegistry INSTANCE = new NoopServiceRegistry();
+
+ public <S extends Service> void add(Class<S> type, S service)
+ {
+ }
+
+ public void addAll(Collection<Map.Entry<Class<? extends Service>, Service>> services)
+ {
+ }
+
+ public Set<Map.Entry<Class<? extends Service>, Service>> entrySet()
+ {
+ return Collections.emptySet();
+ }
+
+ public <S extends Service> S get(Class<S> type)
+ {
+ return null;
+ }
+
+ public <S extends Service> boolean contains(Class<S> type)
+ {
+ return true; // fake it?
+ }
+
+ public void cleanup()
+ {
+ }
+
+ public Iterator<Service> iterator()
+ {
+ return Collections.<Service>emptyList().iterator();
+ }
+ }
}
More information about the jboss-cvs-commits
mailing list