[jboss-cvs] JBossAS SVN: r107604 - in trunk/weld-int/deployer: src/main/java/org/jboss/weld/integration/deployer/env/bda and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 13 19:00:57 EDT 2010


Author: flavia.rainone at jboss.com
Date: 2010-08-13 19:00:57 -0400 (Fri, 13 Aug 2010)
New Revision: 107604

Modified:
   trunk/weld-int/deployer/pom.xml
   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
   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/DeploymentImpl.java
   trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java
   trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java
Log:
[JBAS-8250] Replace DeploymentImpl.loadBDA implementation by one that uses a lookup on an Archive instance map.
Enable weld-int/deployer tests
Update LoadBDATestCase accordingly

Modified: trunk/weld-int/deployer/pom.xml
===================================================================
--- trunk/weld-int/deployer/pom.xml	2010-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/pom.xml	2010-08-13 23:00:57 UTC (rev 107604)
@@ -14,6 +14,13 @@
    
    <build>
      <plugins>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <skipTests>false</skipTests>
+          </configuration>
+        </plugin>
+   
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java	2010-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java	2010-08-13 23:00:57 UTC (rev 107604)
@@ -24,7 +24,10 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Map;
+import java.util.WeakHashMap;
 
+import org.jboss.weld.bootstrap.api.ServiceRegistry;
 import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.weld.ejb.spi.EjbDescriptor;
 
@@ -47,7 +50,23 @@
  */
 class Archive
 {
-
+   // keep a map of Archive instances
+   private static final Map<ClassLoader, Archive> instances = new WeakHashMap<ClassLoader, Archive>();
+   
+   /**
+    * Returns the Archive instance corresponding to {@code classLoader}.
+    * 
+    * @param classLoader key to search for the Archive
+    * @return the Archive that corresponds to {@code classLoader}
+    */
+   public static Archive getInstance(ClassLoader classLoader)
+   {
+      synchronized(instances)
+      {
+         return instances.get(classLoader);
+      }
+   }
+   
    // the classes contained in this archive
    private final Collection<Class<?>> classes;
 
@@ -86,6 +105,11 @@
       this.classpath = archiveInfo.getClasspath();
       this.classpath.addArchive(this);
       this.ejbs = ejbs;
+      // update instances map
+      synchronized (instances)
+      {
+         instances.put(this.classLoader, this);
+      }
    }
 
    /**
@@ -199,11 +223,11 @@
     * @return the BeanDeploymentArchive representing this archive. If this bda has not
     *         been created, it is created and returned
     */
-   public BeanDeploymentArchive createBeanDeploymentArchive()
+   public BeanDeploymentArchive createBeanDeploymentArchive(ServiceRegistry services)
    {
       if (bda == null)
       {
-         bda = new BeanDeploymentArchiveImpl(classLoader.toString(), this);
+         bda = new BeanDeploymentArchiveImpl(classLoader.toString(), services, this);
          for (ArchiveLifecycleListener listener: lifecycleListeners)
          {
             // notifies the listener that this archive became visible as a BDA
@@ -245,6 +269,10 @@
       {
          listener.archiveDestroyed(this);
       }
+      synchronized(instances)
+      {
+         instances.remove(this.classLoader);
+      }
    }
 
    public String toString()

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-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java	2010-08-13 23:00:57 UTC (rev 107604)
@@ -52,11 +52,11 @@
     * @param id      the identifier name of this BeanDeploymentArchive
     * @param archive the archive that this BeanDeploymentArchive represents
     */
-   public BeanDeploymentArchiveImpl(String id, Archive archive)
+   public BeanDeploymentArchiveImpl(String id, ServiceRegistry services, Archive archive)
    {
       this.id = id;
+      this.services = services;
       this.archive = archive;
-      this.services = new SimpleServiceRegistry();
    }
 
    public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java	2010-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java	2010-08-13 23:00:57 UTC (rev 107604)
@@ -23,9 +23,11 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashSet;
+import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
 
+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;
@@ -40,6 +42,9 @@
  */
 public class DeploymentImpl implements Deployment
 {
+   // FIXME bootstrapServices: workaround to keep track of the services needed for new BDAs
+   private Map<Class<? extends Service>, Service> bootstrapServices = new HashMap<Class<? extends Service>, Service>();
+   
    // the name of this deployment
    private String name;
 
@@ -48,10 +53,12 @@
 
    // the services provided by this deployment
    private final ServiceRegistry services;
-
+   private final ServiceRegistry bdaServices;
    // a collection of all archives that have been loaded by this DeploymentImpl, i.e.
    // created for the purpose of serving loadBeanDeploymentArchive
    private Collection<Archive> loadedArchives;
+   
+   private Collection<EjbDescriptor<?>> ejbs;
 
    /**
     * Constructor.
@@ -65,16 +72,18 @@
    {
       this.name = name;
       this.archives = new ArchiveCollection();
+      this.services = new SimpleServiceRegistry();
+      this.bdaServices = new SimpleServiceRegistry();
+      this.ejbs = ejbs;
       for (ArchiveInfo archiveInfo: archiveInfos)
       {
          Archive archive = ArchiveFactory.createArchive(archiveInfo, ejbs);
          archives.add(archive);
          if (archive.hasXml())
          {
-            archive.createBeanDeploymentArchive();
+            archive.createBeanDeploymentArchive(bdaServices);
          }
       }
-      this.services = new SimpleServiceRegistry();
    }
    
    public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()
@@ -89,39 +98,71 @@
 
    public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
    {
-      // collection to mark the archives we have already searched
-      Collection<Archive> searchedArchives = new HashSet<Archive>();
-      // collection to mark the classpaths we have already searched
-      Collection<Classpath> searchedClasspaths = new HashSet<Classpath>();
-      // TODO -- why the search? beanClass' ClassLoader should be mapped to Archive?
-      // need to throw an IllegalArgumentException if the Archive is not reachable from
-      // the archives contained in the archives of this deployment
-      Archive archive = findArchive(beanClass, archives, searchedArchives, searchedClasspaths);
+      ClassLoader beanClassLoader = SecurityActions.getClassLoader(beanClass);
+      Archive archive = Archive.getInstance(beanClassLoader);
       if (archive == null)
       {
-         boolean reachable = false;
-         for (Archive searchedArchive: searchedArchives)
+         synchronized(beanClassLoader)
          {
-            if (searchedArchive.isClassVisible(beanClass))
+            archive = Archive.getInstance(beanClassLoader);
+            if (archive == null)
             {
-               reachable = true;
-               break;
+               ArchiveInfo archiveInfo = new ArchiveInfo(beanClassLoader);
+               archive = ArchiveFactory.createArchive(archiveInfo, ejbs);
+               if (loadedArchives == null)
+               {
+                  loadedArchives = new ArrayList<Archive>();
+               }
+               loadedArchives.add(archive);
             }
          }
-         if (!reachable)
-            throw new IllegalArgumentException("Bean class " + beanClass + " is not reachable from deployment " + this);
-         ArchiveInfo archiveInfo = new ArchiveInfo(SecurityActions.getClassLoader(beanClass));
-         archive = ArchiveFactory.createArchive(archiveInfo, new ArrayList<EjbDescriptor<?>>());
-         if (loadedArchives == null)
+         
+      }
+      archive.addClass(beanClass);
+      ServiceRegistry serviceRegistry = new SimpleServiceRegistry();
+      
+      // TODO this was a temporary test to try to make right the ejb service part
+      // however, it didn't work as explained in the forum
+      /*Map<Class<? extends Service>, Service> temp = new HashMap<Class<? extends Service>, Service>();
+      for(Entry<Class<? extends Service>, Service> entry: bootstrapServices.entrySet())
+      {
+         if (entry.getKey() != EjbServices.class && entry.getKey() != EjbInjectionServices.class
+                 && !entry.getKey().toString().contains("EjbDescriptors"))
          {
-            loadedArchives = new ArrayList<Archive>();
+            temp.put(entry.getKey(), entry.getValue());
          }
-         loadedArchives.add(archive);
       }
-      archive.addClass(beanClass);
-      return archive.createBeanDeploymentArchive();
+      serviceRegistry.addAll(temp.entrySet());
+      JBossEjbServices ejbServices = null;
+      try
+      {
+         ejbServices = new JBossEjbServices();
+      } catch (NamingException e)
+      {
+         e.printStackTrace();
+      }
+      serviceRegistry.add(EjbInjectionServices.class, ejbServices);
+      serviceRegistry.add(EjbServices.class, ejbServices);*/
+      serviceRegistry.addAll(bdaServices.entrySet());
+      return archive.createBeanDeploymentArchive(serviceRegistry);//bdaServices);
    }
    
+   /**
+    * Add bootstrap service to all BDAs in this deployment.
+    * 
+    * @param <S>  the service type to add
+    * @param type the service type to add
+    * @param service  the service implementation
+    */
+   public <S extends Service> void addBootstrapService(Class<S> type, S service)
+   {
+      for(BeanDeploymentArchive beanDeploymentArchive: getBeanDeploymentArchives())
+      {
+         beanDeploymentArchive.getServices().add(type, service);
+      }
+      bootstrapServices.put(type, service);
+   }
+   
    public void undeploy()
    {
       for(Iterator<Archive> iterator = archives.iterator(); iterator.hasNext(); )
@@ -134,7 +175,8 @@
       {
          for (Archive archive: loadedArchives)
          {
-            // FIXME this does not work ok
+            // FIXME this does not work ok... what if the loaded Archive is being
+            // used by some other dpeloyment???
             archive.undeploy();
          }
       }
@@ -144,50 +186,4 @@
    {
       return "Deployment[" + name + "]";
    }
-   
-   private Archive findArchive(Class<?> beanClass, Iterable<Archive> archives, Collection<Archive> searchedArchives, Collection<Classpath> searchedClasspaths)
-   {
-      synchronized(archives) // TODO potential for a deadlock?
-      {
-         for (Archive archive: archives)
-         {
-            if (!searchedArchives.contains(archive))
-            {
-               if (archive.containsClass(beanClass))
-               {
-                  return archive;
-               }
-               else
-               {
-                  searchedArchives.add(archive);
-                  Archive found = searchThroughClasspath(archive.getClasspath(), beanClass, searchedArchives, searchedClasspaths);
-                  if (found != null)
-                  {
-                     return found;
-                  }
-               }
-            }
-         }
-      }
-      return null;
-   }
-   
-   private Archive searchThroughClasspath(Classpath classpath, Class<?> beanClass, Collection<Archive> searchedArchives, Collection<Classpath> searchedClasspaths)
-   {
-      if (!searchedClasspaths.contains(classpath))
-      {
-         searchedClasspaths.add(classpath);
-         Archive found = findArchive(beanClass, classpath, searchedArchives, searchedClasspaths);
-         if (found != null)
-         {
-            return found;
-         }
-         Classpath parentClasspath = classpath.getClasspath();
-         if (parentClasspath != null)
-         {
-            return searchThroughClasspath(classpath.getClasspath(), beanClass, searchedArchives, searchedClasspaths);
-         }
-      }
-      return null;
-   }
 }

Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java	2010-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java	2010-08-13 23:00:57 UTC (rev 107604)
@@ -42,8 +42,8 @@
 
    public MockWeldBootstrap()
    {
-      System.out.println(">>>>>>>>>>>>>>>>>> " + getClass());
-      System.out.println(">>>>>>>>>>>>>>>>>> " + getClass().getClassLoader());
+      //System.out.println(">>>>>>>>>>>>>>>>>> " + getClass());
+      //System.out.println(">>>>>>>>>>>>>>>>>> " + getClass().getClassLoader());
    }
 
    public void initialize()

Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java	2010-08-13 21:54:27 UTC (rev 107603)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java	2010-08-13 23:00:57 UTC (rev 107604)
@@ -304,8 +304,9 @@
       Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
       Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
 
-      assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
-      assertCannotLoadBDA(deployment2, servletWebBeanClass);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      //assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+      //assertCannotLoadBDA(deployment2, servletWebBeanClass);
       
       BeanDeploymentArchive bda1 = deployment1.getBeanDeploymentArchives().iterator().next();
       assertBDAId(bda1, "simple1.war");
@@ -327,14 +328,15 @@
    public void testMixedWars() throws Exception
    {
       WebArchive war1 = createWar("simple1.war", true, ServletWebBean.class);
-      DeploymentUnit unit = assertDeploy(war1);
-      Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+      /*DeploymentUnit unit = */assertDeploy(war1);
+      //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
 
       WebArchive war2 = createWar("simple2.war", false, NotWBJsfBean.class);
-      unit = assertDeploy(war2);
-      Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
-
-      assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+      /*unit = */assertDeploy(war2);
+      
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      // Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
+      // assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
    }
    
    public void testWarWithLib() throws Exception
@@ -435,20 +437,21 @@
       WebArchive war1 = createWar(true);
       ear1.addModule(war1);
       MockArchiveManifest.addManifest(ear1);
-      DeploymentUnit unit = assertDeploy(ear1);
-      Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit.getChildren().iterator().next());
-      Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+      /*DeploymentUnit unit = */assertDeploy(ear1);
+      //Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit.getChildren().iterator().next());
+      //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
       
       EnterpriseArchive ear2 = ShrinkWrap.create(EnterpriseArchive.class, "warinear2.ear");
       WebArchive war2 = createWar(WAR_NAME, true, NotWBJsfBean.class);
       ear2.addModule(war2);
       MockArchiveManifest.addManifest(ear2);
-      unit = assertDeploy(ear2);
-      Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit.getChildren().iterator().next());
-      Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+      /*unit = */assertDeploy(ear2);
       
-      assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
-      assertCannotLoadBDA(deployment2, servletWebBeanClass);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      // Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit.getChildren().iterator().next());
+      // Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+      //assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
+      //assertCannotLoadBDA(deployment2, servletWebBeanClass);
    }
 
    public void testWarsInEar() throws Exception
@@ -492,10 +495,12 @@
       // simple.war
       WebArchive war = createWar(true);
       unit = assertDeploy(war);
-      Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+      
       Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
       
-      assertCannotLoadBDA(deployment1, servletWebBeanClass);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      //Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+      //assertCannotLoadBDA(deployment1, servletWebBeanClass);
       
       BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
       assertBDAId(bda, EJB_JAR_NAME);
@@ -551,10 +556,12 @@
       // simple.war
       WebArchive war = createWar(true);
       unit = assertDeploy(war);
-      Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+      
       Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
       
-      assertCannotLoadBDA(deployment1, servletWebBeanClass);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      // Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
+      //assertCannotLoadBDA(deployment1, servletWebBeanClass);
       
       BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
       assertBDAId(bda, EAR_NAME);
@@ -587,7 +594,8 @@
       Class<?> uiWebBeanClass = getClass(UIWebBean.class, warUnit);
       Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
       
-      assertCannotLoadBDA(deployment1, servletWebBeanClass);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      //assertCannotLoadBDA(deployment1, servletWebBeanClass);
       
       BeanDeploymentArchive bda = deployment1.getBeanDeploymentArchives().iterator().next();
       assertBDAId(bda, "ejb.ear");
@@ -708,32 +716,35 @@
       
       // Assert on web classes
       
-      assertCannotLoadBDA(war1Deployment, servletWebBeanEar1Class);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      /*assertCannotLoadBDA(war1Deployment, servletWebBeanEar1Class);
       assertCannotLoadBDA(war1Deployment, notWBJsfBeanWar2Class);
       assertCannotLoadBDA(war1Deployment, notWBJsfBeanEar1Class);
       assertCannotLoadBDA(war1Deployment, crmWebBeanWar2Class);
       assertCannotLoadBDA(war1Deployment, crmWebBeanEar1War1Class);
       assertCannotLoadBDA(war1Deployment, crmWebBeanEar1War2Class);
-      assertCannotLoadBDA(war1Deployment, uiWebBeanEar1Class);
+      assertCannotLoadBDA(war1Deployment, uiWebBeanEar1Class);*/
       BeanDeploymentArchive bda = war1Deployment.loadBeanDeploymentArchive(servletWebBeanWar1Class);
       assertSame(war1BDA, bda);
       // verify the absence of collateral effects on the BDA
       assertBDAId(war1BDA, "web1.war");
       assertExpectedClasses(war1BDA, ServletWebBean.class);
       
-      assertCannotLoadBDA(war2Deployment, servletWebBeanWar1Class);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      /*assertCannotLoadBDA(war2Deployment, servletWebBeanWar1Class);
       assertCannotLoadBDA(war2Deployment, servletWebBeanEar1Class);
       assertCannotLoadBDA(war2Deployment, notWBJsfBeanEar1Class);
       assertCannotLoadBDA(war2Deployment, crmWebBeanEar1War1Class);
       assertCannotLoadBDA(war2Deployment, crmWebBeanEar1War2Class);
-      assertCannotLoadBDA(war2Deployment, uiWebBeanEar1Class);
+      assertCannotLoadBDA(war2Deployment, uiWebBeanEar1Class);*/
       bda = war2Deployment.loadBeanDeploymentArchive(notWBJsfBeanWar2Class);
       bda = war2Deployment.loadBeanDeploymentArchive(crmWebBeanWar2Class);
       assertSame(war2BDA, bda);
       assertBDAId(war2BDA, "web2.war");
       assertExpectedClasses(war2BDA, NotWBJsfBean.class, CrmWebBean.class);
       
-      assertCannotLoadBDA(ejbJarDeployment, servletWebBeanWar1Class);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      /*assertCannotLoadBDA(ejbJarDeployment, servletWebBeanWar1Class);
       assertCannotLoadBDA(ejbJarDeployment, servletWebBeanEar1Class);
       assertCannotLoadBDA(ejbJarDeployment, notWBJsfBeanWar2Class);
       assertCannotLoadBDA(ejbJarDeployment, notWBJsfBeanEar1Class);
@@ -744,7 +755,7 @@
       
       assertCannotLoadBDA(ear1Deployment, servletWebBeanWar1Class);
       assertCannotLoadBDA(ear1Deployment, notWBJsfBeanWar2Class);
-      assertCannotLoadBDA(ear1Deployment, crmWebBeanWar2Class);
+      assertCannotLoadBDA(ear1Deployment, crmWebBeanWar2Class);*/
       bda = ear1Deployment.loadBeanDeploymentArchive(servletWebBeanEar1Class);
       assertSame(ear1War1BDA, bda);
       bda = ear1Deployment.loadBeanDeploymentArchive(uiWebBeanEar1Class);
@@ -761,14 +772,15 @@
       assertBDAId(ear1War2BDA, "full.ear/web2.war");
       assertExpectedClasses(ear1War2BDA, NotWBJsfBean.class, CrmWebBean.class);
       
-      assertCannotLoadBDA(ear2Deployment, servletWebBeanWar1Class);
+      // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+      /*assertCannotLoadBDA(ear2Deployment, servletWebBeanWar1Class);
       assertCannotLoadBDA(ear2Deployment, servletWebBeanEar1Class);
       assertCannotLoadBDA(ear2Deployment, notWBJsfBeanWar2Class);
       assertCannotLoadBDA(ear2Deployment, notWBJsfBeanEar1Class);
       assertCannotLoadBDA(ear2Deployment, crmWebBeanWar2Class);
       assertCannotLoadBDA(ear2Deployment, crmWebBeanEar1War1Class);
       assertCannotLoadBDA(ear2Deployment, crmWebBeanEar1War2Class);
-      assertCannotLoadBDA(ear2Deployment, uiWebBeanEar1Class);
+      assertCannotLoadBDA(ear2Deployment, uiWebBeanEar1Class);*/
       
       // Assert on business classes that are part of existing BDAs
       bda = ejbJarDeployment.loadBeanDeploymentArchive(businessInterfaceClass);
@@ -891,7 +903,8 @@
       return classLoader.loadClass(clazz.getName());
    }
    
-   private void assertCannotLoadBDA(Deployment deployment, Class<?> beanClass)
+   // assertion deleted as loadBDA implementation does not check for unreachable classes anymore
+   /*private void assertCannotLoadBDA(Deployment deployment, Class<?> beanClass)
    {
       boolean failed = false;
       try
@@ -903,5 +916,5 @@
          failed = true;
       }
       assertTrue(failed);
-   }
+   }*/
 }
\ No newline at end of file



More information about the jboss-cvs-commits mailing list