[jboss-cvs] JBossAS SVN: r107921 - in trunk: weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 31 13:08:12 EDT 2010
Author: marius.bogoevici
Date: 2010-08-31 13:08:11 -0400 (Tue, 31 Aug 2010)
New Revision: 107921
Modified:
trunk/component-matrix/pom.xml
trunk/weld-int/deployer-mc-int/src/test/java/org/jboss/test/deployers/test/AbstractWeldTest.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/ArchiveDiscoveryDeployer.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/FlatDeployment.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/JBossBeanDeploymentArchive.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryDeployer.java
trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryEnvironment.java
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/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.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/support/WeldDEWrapper.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractDeploymentTest.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractEnvironmentTest.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractSingleArchiveTest.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/ArchiveEnvironmentTestCase.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BasicEarJBossDeploymentTestCase.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/DeploymentEnvironmentTestCase.java
trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/FlatDeploymentTestCase.java
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/WeldDiscoveryEnvTestCase.java
trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java
trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
Log:
JBAS-8371 Upgrade Weld to 1.1 Beta1
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/component-matrix/pom.xml 2010-08-31 17:08:11 UTC (rev 107921)
@@ -114,7 +114,7 @@
<version.org.jboss.injection>0.1.0-alpha-2</version.org.jboss.injection>
<version.org.jboss.interceptor>1.0.0-CR11</version.org.jboss.interceptor>
<version.org.jboss.integration>6.0.0.CR1</version.org.jboss.integration>
- <version.org.jboss.javaee.specs.bom>1.0.0.Beta5</version.org.jboss.javaee.specs.bom>
+ <version.org.jboss.javaee.specs.bom>1.0.0.Beta6</version.org.jboss.javaee.specs.bom>
<version.org.jboss.jbossxb>2.0.2.Beta7</version.org.jboss.jbossxb>
<version.org.jboss.jopr>1.4.0.CR2</version.org.jboss.jopr>
<version.org.jboss.jpa.deployers>1.0.2-alpha-1</version.org.jboss.jpa.deployers>
@@ -156,7 +156,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.0.1-SP4</version.org.jboss.weld>
+ <version.org.jboss.weld>1.1.0.Beta1</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>
@@ -171,7 +171,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.0-SP1</version.weld.api>
+ <version.weld.api>1.1.Beta1</version.weld.api>
<version.xdoclet>1.2.3</version.xdoclet>
<version.xmlschema>1.4.5</version.xmlschema>
</properties>
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/ArchiveDiscoveryDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/ArchiveDiscoveryDeployer.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/ArchiveDiscoveryDeployer.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -58,6 +58,7 @@
setStage(DeploymentStages.PRE_REAL);
}
+ @Override
public void deploy(VFSDeploymentUnit unit, JBossWeldMetaData deployment) throws DeploymentException
{
@SuppressWarnings("unchecked")
@@ -139,7 +140,7 @@
public void visit(ResourceContext resource)
{
- wbdi.addWeldClass(resource.loadClass());
+ wbdi.addWeldClass(resource.getClassName());
}
}
}
\ No newline at end of file
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/FlatDeployment.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/FlatDeployment.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/FlatDeployment.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -16,14 +16,32 @@
*/
package org.jboss.weld.integration.deployer.env;
+import static java.util.logging.Level.WARNING;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
+import java.util.logging.Logger;
+import javax.enterprise.inject.spi.Extension;
+
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.bootstrap.spi.Deployment;
+import org.jboss.weld.bootstrap.spi.Metadata;
import org.jboss.weld.ejb.spi.EjbDescriptor;
/**
@@ -37,14 +55,367 @@
*/
public class FlatDeployment implements Deployment
{
- private final BeanDeploymentArchive beanDeploymentArchive;
+
+
+ /**
+ * This class handles looking up service providers on the class path. It
+ * implements the <a href="http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#Service%20Provider"
+ * >Service Provider section of the JAR File Specification</a>.
+ *
+ * The Service Provider programmatic lookup was not specified prior to Java 6 so
+ * this interface allows use of the specification prior to Java 6.
+ *
+ * The API is copied from <a
+ * href="http://java.sun.com/javase/6/docs/api/java/util/ServiceLoader.html"
+ * >java.util.ServiceLoader</a> and enhanced to support the {@link Metadata}
+ * contract.
+ *
+ * @author Pete Muir
+ * @author <a href="mailto:dev at avalon.apache.org">Avalon Development Team</a>
+ * @author Nicklas Karlsson
+ */
+ private static class ServiceLoader<S> implements Iterable<Metadata<S>>
+ {
+
+ private static class ServiceLoaderMetadata<S> implements Metadata<S>
+ {
+
+ private final URL file;
+ private final int lineNumber;
+ private final S value;
+ public ServiceLoaderMetadata(S value, URL file, int lineNumber)
+ {
+ this.file = file;
+ this.lineNumber = lineNumber;
+ this.value = value;
+ }
+
+ public String getLocation()
+ {
+ return file + "@" + lineNumber;
+ }
+
+ public S getValue()
+ {
+ return value;
+ }
+
+ }
+
+ private static final String SERVICES = "META-INF/services";
+
+ private static final Logger log = Logger.getLogger("ServiceLoader");
+
+ /**
+ * Creates a new service loader for the given service type, using the current
+ * thread's context class loader.
+ *
+ * An invocation of this convenience method of the form
+ *
+ * {@code ServiceLoader.load(service)</code>}
+ *
+ * is equivalent to
+ *
+ * <code>ServiceLoader.load(service,
+ * Thread.currentThread().getContextClassLoader())</code>
+ *
+ * @param service The interface or abstract class representing the service
+ * @return A new service loader
+ */
+ public static <S> ServiceLoader<S> load(Class<S> service)
+ {
+ return load(service, Thread.currentThread().getContextClassLoader());
+ }
+
+ /**
+ * Creates a new service loader for the given service type and class loader.
+ *
+ * @param service The interface or abstract class representing the service
+ * @param loader The class loader to be used to load provider-configuration
+ * files and provider classes, or null if the system class loader
+ * (or, failing that, the bootstrap class loader) is to be used
+ * @return A new service loader
+ */
+ public static <S> ServiceLoader<S> load(Class<S> service, ClassLoader loader)
+ {
+ if (loader == null)
+ {
+ loader = service.getClassLoader();
+ }
+ return new ServiceLoader<S>(service, loader);
+ }
+
+ /**
+ * Creates a new service loader for the given service type, using the
+ * extension class loader.
+ *
+ * This convenience method simply locates the extension class loader, call it
+ * extClassLoader, and then returns
+ *
+ * <code>ServiceLoader.load(service, extClassLoader)</code>
+ *
+ * If the extension class loader cannot be found then the system class loader
+ * is used; if there is no system class loader then the bootstrap class
+ * loader is used.
+ *
+ * This method is intended for use when only installed providers are desired.
+ * The resulting service will only find and load providers that have been
+ * installed into the current Java virtual machine; providers on the
+ * application's class path will be ignored.
+ *
+ * @param service The interface or abstract class representing the service
+ * @return A new service loader
+ */
+ public static <S> ServiceLoader<S> loadInstalled(Class<S> service)
+ {
+ throw new UnsupportedOperationException("Not implemented");
+ }
+
+ private final String serviceFile;
+ private Class<S> expectedType;
+ private final ClassLoader loader;
+
+ private Set<Metadata<S>> providers;
+
+ private ServiceLoader(Class<S> service, ClassLoader loader)
+ {
+ this.loader = loader;
+ this.serviceFile = SERVICES + "/" + service.getName();
+ this.expectedType = service;
+ }
+
+ /**
+ * Clear this loader's provider cache so that all providers will be reloaded.
+ *
+ * After invoking this method, subsequent invocations of the iterator method
+ * will lazily look up and instantiate providers from scratch, just as is
+ * done by a newly-created loader.
+ *
+ * This method is intended for use in situations in which new providers can
+ * be installed into a running Java virtual machine.
+ */
+ public void reload()
+ {
+ providers = new HashSet<Metadata<S>>();
+
+ for (URL serviceFile : loadServiceFiles())
+ {
+ loadServiceFile(serviceFile);
+ }
+ }
+
+ private List<URL> loadServiceFiles()
+ {
+ List<URL> serviceFiles = new ArrayList<URL>();
+ try
+ {
+ Enumeration<URL> serviceFileEnumerator = loader.getResources(serviceFile);
+ while (serviceFileEnumerator.hasMoreElements())
+ {
+ serviceFiles.add(serviceFileEnumerator.nextElement());
+ }
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Could not load resources from " + serviceFile, e);
+ }
+ return serviceFiles;
+ }
+
+ private void loadServiceFile(URL serviceFile)
+ {
+ InputStream is = null;
+ try
+ {
+ is = serviceFile.openStream();
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ String serviceClassName = null;
+ int i = 0;
+ while ((serviceClassName = reader.readLine()) != null)
+ {
+ i++;
+ serviceClassName = trim(serviceClassName);
+ if (serviceClassName.length() > 0)
+ {
+ loadService(serviceClassName, serviceFile, i);
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ // FIXME: correct exception
+ throw new RuntimeException("Could not read services file " + serviceFile);
+ }
+ finally
+ {
+ if (is != null)
+ {
+ try
+ {
+ is.close();
+ }
+ catch (IOException e)
+ {
+ // FIXME: correct exception
+ throw new RuntimeException("Could not close services file " + serviceFile, e);
+ }
+ }
+ }
+ }
+
+ private String trim(String line)
+ {
+ final int comment = line.indexOf('#');
+
+ if (comment > -1)
+ {
+ line = line.substring(0, comment);
+ }
+ return line.trim();
+ }
+
+ private void loadService(String serviceClassName, URL file, int lineNumber)
+ {
+ Class<? extends S> serviceClass = loadClass(serviceClassName);
+ if (serviceClass == null)
+ {
+ return;
+ }
+ S serviceInstance = prepareInstance(serviceClass);
+ if (serviceInstance == null)
+ {
+ return;
+ }
+ providers.add(new ServiceLoaderMetadata<S>(serviceInstance, file, lineNumber));
+ }
+
+ private Class<? extends S> loadClass(String serviceClassName)
+ {
+ Class<?> clazz = null;
+ Class<? extends S> serviceClass = null;
+ try
+ {
+ clazz = loader.loadClass(serviceClassName);
+ serviceClass = clazz.asSubclass(expectedType);
+ }
+ catch (ClassNotFoundException e)
+ {
+ log.warning("Could not load service class " + serviceClassName);
+ }
+ catch (ClassCastException e)
+ {
+ throw new RuntimeException("Service class " + serviceClassName + " didn't implement the Extension interface");
+ }
+ return serviceClass;
+ }
+
+ private S prepareInstance(Class<? extends S> serviceClass)
+ {
+ try
+ {
+ // TODO Support the SM
+ Constructor<? extends S> constructor = serviceClass.getDeclaredConstructor();
+ constructor.setAccessible(true);
+ return constructor.newInstance();
+ }
+ catch (NoClassDefFoundError e)
+ {
+ log.log(WARNING, "Could not instantiate service class " + serviceClass.getName(), e);
+ return null;
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e.getCause());
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e);
+ }
+ catch (InstantiationException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e);
+ }
+ catch (SecurityException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException("Error instantiating " + serviceClass, e);
+ }
+ }
+
+ /**
+ * Lazily loads the available providers of this loader's service.
+ *
+ * The iterator returned by this method first yields all of the elements of
+ * the provider cache, in instantiation order. It then lazily loads and
+ * instantiates any remaining providers, adding each one to the cache in
+ * turn.
+ *
+ * To achieve laziness the actual work of parsing the available
+ * provider-configuration files and instantiating providers must be done by
+ * the iterator itself. Its hasNext and next methods can therefore throw a
+ * ServiceConfigurationError if a provider-configuration file violates the
+ * specified format, or if it names a provider class that cannot be found and
+ * instantiated, or if the result of instantiating the class is not
+ * assignable to the service type, or if any other kind of exception or error
+ * is thrown as the next provider is located and instantiated. To write
+ * robust code it is only necessary to catch ServiceConfigurationError when
+ * using a service iterator.
+ *
+ * If such an error is thrown then subsequent invocations of the iterator
+ * will make a best effort to locate and instantiate the next available
+ * provider, but in general such recovery cannot be guaranteed.
+ *
+ * Design Note Throwing an error in these cases may seem extreme. The
+ * rationale for this behavior is that a malformed provider-configuration
+ * file, like a malformed class file, indicates a serious problem with the
+ * way the Java virtual machine is configured or is being used. As such it is
+ * preferable to throw an error rather than try to recover or, even worse,
+ * fail silently.
+ *
+ * The iterator returned by this method does not support removal. Invoking
+ * its remove method will cause an UnsupportedOperationException to be
+ * thrown.
+ *
+ * @return An iterator that lazily loads providers for this loader's service
+ */
+ public Iterator<Metadata<S>> iterator()
+ {
+ if (providers == null)
+ {
+ reload();
+ }
+ return providers.iterator();
+ }
+
+ /**
+ * Returns a string describing this service.
+ *
+ * @return A descriptive string
+ */
+ @Override
+ public String toString()
+ {
+ return "Services for " + serviceFile;
+ }
+ }
+
+
+
+ private final JBossBeanDeploymentArchive beanDeploymentArchive;
private final List<BeanDeploymentArchive> beanDeploymentArchives;
private final ServiceRegistry services;
public FlatDeployment(WeldDiscoveryEnvironment environment, Collection<EjbDescriptor<?>> ejbDescriptors)
{
this.beanDeploymentArchive = new JBossBeanDeploymentArchive("flat" ,environment, ejbDescriptors);
- this.beanDeploymentArchives = Collections.singletonList(beanDeploymentArchive);
+ this.beanDeploymentArchives = Collections.<BeanDeploymentArchive>singletonList(beanDeploymentArchive);
this.services = new SimpleServiceRegistry();
}
@@ -58,7 +429,7 @@
return beanDeploymentArchive;
}
- public BeanDeploymentArchive getFlatBeanDeploymentArchive()
+ public JBossBeanDeploymentArchive getFlatBeanDeploymentArchive()
{
return beanDeploymentArchive;
}
@@ -67,4 +438,9 @@
{
return services;
}
+
+ public Iterable<Metadata<Extension>> getExtensions()
+ {
+ return ServiceLoader.load(Extension.class);
+ }
}
\ No newline at end of file
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/JBossBeanDeploymentArchive.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/JBossBeanDeploymentArchive.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/JBossBeanDeploymentArchive.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -1,13 +1,14 @@
package org.jboss.weld.integration.deployer.env;
-import java.net.URL;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import org.jboss.weld.bootstrap.api.Bootstrap;
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.bootstrap.spi.BeansXml;
import org.jboss.weld.ejb.spi.EjbDescriptor;
public class JBossBeanDeploymentArchive implements BeanDeploymentArchive
@@ -17,6 +18,7 @@
private final Collection<EjbDescriptor<?>> ejbDescriptors;
private final ServiceRegistry services;
private final String id;
+ private Bootstrap bootstrap;
public JBossBeanDeploymentArchive(String id, WeldDiscoveryEnvironment environment, Collection<EjbDescriptor<?>> ejbDescriptors)
{
@@ -26,7 +28,7 @@
this.id = id;
}
- public Collection<Class<?>> getBeanClasses()
+ public Collection<String> getBeanClasses()
{
return environment.getWeldClasses();
}
@@ -36,9 +38,13 @@
return Collections.emptyList();
}
- public Collection<URL> getBeansXml()
+ public BeansXml getBeansXml()
{
- return environment.getWeldXml();
+ if (bootstrap == null)
+ {
+ throw new IllegalStateException("bootstrap must not be null");
+ }
+ return bootstrap.parse(environment.getWeldXml());
}
public Collection<EjbDescriptor<?>> getEjbs()
@@ -56,4 +62,9 @@
return id;
}
+ public void setBootstrap(Bootstrap bootstrap)
+ {
+ this.bootstrap = bootstrap;
+ }
+
}
\ No newline at end of file
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryDeployer.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryDeployer.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -53,6 +53,7 @@
setStage(DeploymentStages.PRE_REAL);
}
+ @Override
public void deploy(VFSDeploymentUnit unit, JBossWeldMetaData deployment) throws DeploymentException
{
@SuppressWarnings("unchecked")
@@ -131,7 +132,7 @@
public void visit(ResourceContext resource)
{
- wbdi.addWeldClass(resource.loadClass());
+ wbdi.addWeldClass(resource.getClassName());
}
}
}
\ No newline at end of file
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryEnvironment.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryEnvironment.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldDiscoveryEnvironment.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -34,7 +34,7 @@
*/
public class WeldDiscoveryEnvironment
{
- private Set<Class<?>> classes = new HashSet<Class<?>>();
+ private Set<String> classes = new HashSet<String>();
private Set<URL> urls = new HashSet<URL>();
/**
@@ -42,9 +42,9 @@
*
* @param clazz the weld class
*/
- public void addWeldClass(Class<?> clazz)
+ public void addWeldClass(String className)
{
- classes.add(clazz);
+ classes.add(className);
}
/**
@@ -62,7 +62,7 @@
*
* @return the weld classes
*/
- public Collection<Class<?>> getWeldClasses()
+ public Collection<String> getWeldClasses()
{
// FIXME WELDINT-1 old classes that use this method should get an Unmodifiable
// collection; if those classes are not deleted this method needs to be reviewed
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-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/Archive.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -27,6 +27,7 @@
import java.util.Map;
import java.util.WeakHashMap;
+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;
@@ -68,7 +69,7 @@
}
// the classes contained in this archive
- private final Collection<Class<?>> classes;
+ private final Collection<String> classes;
// the bean.xml URLs contained in this archive
private final Collection<URL> xmlURLs;
@@ -117,7 +118,7 @@
*
* @return the classes contained in this archive
*/
- public Collection<Class<?>> getClasses()
+ public Collection<String> getClasses()
{
return classes;
}
@@ -160,7 +161,8 @@
*/
public void addClass(Class<?> beanClass)
{
- classes.add(beanClass);
+ // TODO Move this higher up the hierarchy, so we never load the class
+ classes.add(beanClass.getName());
}
/**
@@ -220,14 +222,15 @@
* Creates the BeanDeploymentArchive that corresponds to this archive. This method
* never returns duplicates.
*
+ * @param bootstrap the Weld boostrap
* @return the BeanDeploymentArchive representing this archive. If this bda has not
* been created, it is created and returned
*/
- public BeanDeploymentArchive createBeanDeploymentArchive(ServiceRegistry services)
+ public BeanDeploymentArchive createBeanDeploymentArchive(Bootstrap bootstrap, ServiceRegistry services)
{
if (bda == null)
{
- bda = new BeanDeploymentArchiveImpl(classLoader.toString(), services, this);
+ bda = new BeanDeploymentArchiveImpl(classLoader.toString(), bootstrap, services, this);
for (ArchiveLifecycleListener listener: lifecycleListeners)
{
// notifies the listener that this archive became visible as a BDA
@@ -236,6 +239,19 @@
}
return bda;
}
+
+ /**
+ * Creates the BeanDeploymentArchive that corresponds to this archive. This method
+ * never returns duplicates.
+ * Use this method if you are sure that this Archive has no beans.xml file.
+ *
+ * @return the BeanDeploymentArchive representing this archive. If this bda has not
+ * been created, it is created and returned
+ */
+ public BeanDeploymentArchive createBeanDeploymentArchive(ServiceRegistry services)
+ {
+ return createBeanDeploymentArchive(null, services);
+ }
/**
* Adds an ArchiveLifecycleListener. When called prior to BDA creation, this listener
@@ -275,6 +291,7 @@
}
}
+ @Override
public String toString()
{
return "Archive[" + classLoader + "]";
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-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/BeanDeploymentArchiveImpl.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -24,9 +24,10 @@
import java.net.URL;
import java.util.Collection;
+import org.jboss.weld.bootstrap.api.Bootstrap;
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.bootstrap.spi.BeansXml;
import org.jboss.weld.ejb.spi.EjbDescriptor;
/**
@@ -43,35 +44,46 @@
// the Archive that this BDA represents
private final Archive archive;
+ // the WeldBootstrap
+ private final Bootstrap bootstrap;
+
// the services provided by this BDA
private final ServiceRegistry services;
/**
* Constructor.
*
- * @param id the identifier name of this BeanDeploymentArchive
- * @param archive the archive that this BeanDeploymentArchive represents
+ * @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 archive the archive that this BeanDeploymentArchive represents
*/
- public BeanDeploymentArchiveImpl(String id, ServiceRegistry services, Archive archive)
+ public BeanDeploymentArchiveImpl(String id, Bootstrap bootstrap, ServiceRegistry services, Archive archive)
{
this.id = id;
+ this.bootstrap = bootstrap;
this.services = services;
this.archive = archive;
}
-
+
public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()
{
return archive.getClasspath().getBDAs(this);
}
- public Collection<Class<?>> getBeanClasses()
+ public Collection<String> getBeanClasses()
{
return archive.getClasses();
}
- public Collection<URL> getBeansXml()
+ public BeansXml getBeansXml()
{
- return archive.getXmlURLs();
+ Collection<URL> urls = archive.getXmlURLs();
+ if (urls.isEmpty())
+ {
+ return BeansXml.EMPTY_BEANS_XML;
+ }
+ return bootstrap.parse(urls);
}
public Collection<EjbDescriptor<?>> getEjbs()
@@ -99,6 +111,7 @@
return archive;
}
+ @Override
public String toString()
{
return archive.toString();
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-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/bda/DeploymentImpl.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -27,11 +27,15 @@
import java.util.Iterator;
import java.util.Map;
+import javax.enterprise.inject.spi.Extension;
+
+import org.jboss.weld.bootstrap.api.Bootstrap;
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.bootstrap.spi.Deployment;
+import org.jboss.weld.bootstrap.spi.Metadata;
import org.jboss.weld.ejb.spi.EjbDescriptor;
/**
@@ -59,6 +63,8 @@
private Collection<Archive> loadedArchives;
private Collection<EjbDescriptor<?>> ejbs;
+
+ private Iterable<Metadata<Extension>> extensions;
/**
* Constructor.
@@ -77,13 +83,20 @@
this.ejbs = ejbs;
for (ArchiveInfo archiveInfo: archiveInfos)
{
- Archive archive = ArchiveFactory.createArchive(archiveInfo, ejbs);
- archives.add(archive);
+ archives.add(ArchiveFactory.createArchive(archiveInfo, ejbs));
+ }
+ }
+
+ public void initialize(Bootstrap bootstrap)
+ {
+ for (Archive archive: archives)
+ {
if (archive.hasXml())
{
- archive.createBeanDeploymentArchive(bdaServices);
+ archive.createBeanDeploymentArchive(bootstrap, bdaServices);
}
}
+ extensions = bootstrap.loadExtensions(Thread.currentThread().getContextClassLoader());
}
public Collection<BeanDeploymentArchive> getBeanDeploymentArchives()
@@ -182,6 +195,12 @@
}
}
+ public Iterable<Metadata<Extension>> getExtensions()
+ {
+ return extensions;
+ }
+
+ @Override
public String toString()
{
return "Deployment[" + name + "]";
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -131,6 +131,7 @@
public void initialize()
{
+ deployment.getFlatBeanDeploymentArchive().setBootstrap(bootstrap);
// Create the JBoss Servlet Services
addDeploymentService(ServletServices.class, new JBossServletServices(deployment.getFlatBeanDeploymentArchive()));
bootstrap.startContainer(Environments.EE_INJECT, deployment, applicationBeanStore);
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-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/MockWeldBootstrap.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -21,10 +21,16 @@
*/
package org.jboss.test.deployers.support;
+import java.net.URL;
+
+import javax.enterprise.inject.spi.Extension;
+
import org.jboss.weld.bootstrap.api.Bootstrap;
import org.jboss.weld.bootstrap.api.Environment;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.BeansXml;
import org.jboss.weld.bootstrap.spi.Deployment;
+import org.jboss.weld.bootstrap.spi.Metadata;
import org.jboss.weld.context.api.BeanStore;
import org.jboss.weld.manager.api.WeldManager;
@@ -110,4 +116,21 @@
this.validateBeans = true;
return this;
}
+
+ public BeansXml parse(Iterable<URL> urls)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public BeansXml parse(URL url)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Iterable<Metadata<Extension>> loadExtensions(ClassLoader classLoader)
+ {
+ return null;
+ }
}
\ No newline at end of file
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/WeldDEWrapper.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/WeldDEWrapper.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/support/WeldDEWrapper.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -41,13 +41,13 @@
this.deployment = deployment;
}
- public Iterable<Class<?>> discoverWebBeanClasses()
+ public Iterable<String> discoverWebBeanClasses()
{
- Set<Class<?>> result = new HashSet<Class<?>>();
+ Set<String> result = new HashSet<String>();
Collection<BeanDeploymentArchive> bdas = deployment.getBeanDeploymentArchives();
for (BeanDeploymentArchive bda : bdas)
{
- for (Class<?> clazz : bda.getBeanClasses())
+ for (String clazz : bda.getBeanClasses())
result.add(clazz);
}
return result;
@@ -59,8 +59,9 @@
Collection<BeanDeploymentArchive> bdas = deployment.getBeanDeploymentArchives();
for (BeanDeploymentArchive bda : bdas)
{
- for (URL url : bda.getBeansXml())
- result.add(url);
+ // TODO Fix this
+ //for (URL url : bda.getBeansXml())
+ // result.add(url);
}
return result;
}
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractDeploymentTest.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractDeploymentTest.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractDeploymentTest.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -21,11 +21,9 @@
*/
package org.jboss.test.deployers.test;
-import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -38,7 +36,6 @@
import org.jboss.test.deployers.support.jar.PlainJavaBean;
import org.jboss.test.deployers.support.ui.UIWebBean;
import org.jboss.test.deployers.support.web.ServletWebBean;
-import org.jboss.test.deployers.test.AbstractWeldTest;
import org.jboss.vfs.VirtualFile;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
@@ -81,48 +78,48 @@
Object bean = getBean(Deployment.class);
Deployment deployment = assertInstanceOf(bean, Deployment.class, false);
-
+ initializeDeployment(deployment);
+
List<BeanDeploymentArchive> archives = new ArrayList<BeanDeploymentArchive>();
getArchives(archives, deployment.getBeanDeploymentArchives());
assertEquals(getExpectedArchives(), archives.size());
- List<URL> urls = new ArrayList<URL>();
- List<Class<?>> classes = new ArrayList<Class<?>>();
+ //List<BeansXml> urls = new ArrayList<BeansXml>();
+ List<String> classes = new ArrayList<String>();
for (BeanDeploymentArchive bad : archives)
{
- for (URL url : bad.getBeansXml())
- urls.add(url);
- for (Class<?> clazz : bad.getBeanClasses())
+ //urls.add(bad.getBeansXml());
+ for (String clazz : bad.getBeanClasses())
classes.add(clazz);
}
Set<String> expected = new HashSet<String>();
- addExpectedResource(expected, "ejbs.jar");
- addExpectedResource(expected, "ext.jar");
- addExpectedResource(expected, "simple.jar");
- addExpectedResource(expected, "ui.jar");
- addExpectedResource(expected, "crm.jar");
- addExpectedResource(expected, "simple.war", "/WEB-INF/beans.xml");
+// addExpectedResource(expected, "ejbs.jar");
+// addExpectedResource(expected, "ext.jar");
+// addExpectedResource(expected, "simple.jar");
+// addExpectedResource(expected, "ui.jar");
+// addExpectedResource(expected, "crm.jar");
+// addExpectedResource(expected, "simple.war", "/WEB-INF/beans.xml");
+//
+// assertEquals("Illegal size or urls.", expected.size(), urls.size());
- assertEquals("Illegal size or urls.", urls.size(), expected.size());
+// for (URL url : urls)
+// {
+// boolean found = false;
+// Iterator<String> iter = expected.iterator();
+// while (iter.hasNext())
+// {
+// String expectedURL = iter.next();
+// if (url.toExternalForm().contains(expectedURL))
+// {
+// iter.remove();
+// found = true;
+// break;
+// }
+// }
+// assertTrue("Unexpected wb url: " + url, found);
+// }
- for (URL url : urls)
- {
- boolean found = false;
- Iterator<String> iter = expected.iterator();
- while (iter.hasNext())
- {
- String expectedURL = iter.next();
- if (url.toExternalForm().contains(expectedURL))
- {
- iter.remove();
- found = true;
- break;
- }
- }
- assertTrue("Unexpected wb url: " + url, found);
- }
-
addExpectedClass(expected, BusinessInterface.class);
addExpectedClass(expected, MySLSBean.class);
addExpectedClass(expected, ExternalWebBean.class);
@@ -133,8 +130,8 @@
assertEquals("Illegal size or classes.", classes.size(), expected.size());
- for (Class<?> clazz : classes)
- assertTrue(expected.remove(clazz.getName()));
+ for (String className : classes)
+ assertTrue(expected.remove(className));
assertEmpty("Should be emtpy, missing " + expected, expected);
@@ -149,6 +146,8 @@
}
protected abstract void assertNewBeanDeploymentArchive(List<BeanDeploymentArchive> archives, BeanDeploymentArchive newBDA);
+
+ protected abstract void initializeDeployment(Deployment deployment);
private static void addExpectedResource(Set<String> expected, String unit)
{
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractEnvironmentTest.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractEnvironmentTest.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractEnvironmentTest.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -21,10 +21,8 @@
*/
package org.jboss.test.deployers.test;
-import java.net.URL;
import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
import org.jboss.shrinkwrap.api.ShrinkWrap;
@@ -54,16 +52,6 @@
super(name);
}
- private static void addExpectedResource(Set<String> expected, String unit)
- {
- addExpectedResource(expected, unit, "/META-INF/beans.xml");
- }
-
- private static void addExpectedResource(Set<String> expected, String unit, String suffix)
- {
- expected.add(unit + suffix);
- }
-
private static void addExpectedClass(Set<String> expected, Class<?> clazz)
{
expected.add(clazz.getName());
@@ -71,12 +59,12 @@
private void assertExpectedClasses(E environment, Set<String> expected)
{
- Collection<Class<?>> weldClasses = getClasses(environment);
+ Collection<String> weldClasses = getClasses(environment);
assertNotNull(weldClasses);
assertTrue("Unexpected empty weld classes collection", expected.isEmpty() || !weldClasses.isEmpty());
- for (Class<?> clazz : weldClasses)
+ for (String className : weldClasses)
{
- assertTrue("Found unexpected class: " + clazz.getName(), expected.remove(clazz.getName()));
+ assertTrue("Found unexpected class: " + className, expected.remove(className));
}
assertEmpty("Should be emtpy, missing " + expected, expected);
}
@@ -91,52 +79,6 @@
assertExpectedClasses(environment, expected);
}
- private void assertExpectedResources(E environment, Set<String> expected)
- {
- Collection<URL> weldXml = getResources(environment);
- assertNotNull(weldXml);
- assertTrue("Unexpected empty weld XML collection", expected.isEmpty() || !weldXml.isEmpty());
- for (URL url : weldXml)
- {
- boolean found = false;
- Iterator<String> iter = expected.iterator();
- while (iter.hasNext())
- {
- String expectedURL = iter.next();
- if (url.toExternalForm().endsWith(expectedURL))
- {
- iter.remove();
- found = true;
- break;
- }
- }
- assertTrue("Unexpected wb url: " + url, found);
- }
- assertEmpty("Should be emtpy, missing " + expected, expected);
- }
-
- protected void assertExpectedResources(E environment, String... units)
- {
- Set<String> expected = new HashSet<String>();
- for (String unit: units)
- {
- addExpectedResource(expected, unit);
- }
- assertExpectedResources(environment, expected);
- }
-
- protected void assertExpectedWarResources(E environment, String warUnit, boolean warResourceExpected, String... units)
- {
- Set<String> expected = new HashSet<String>();
- if (warResourceExpected)
- addExpectedResource(expected, warUnit, "/WEB-INF/beans.xml");
- for (String unit: units)
- {
- addExpectedResource(expected, warUnit, "/WEB-INF/lib/" + unit + "/META-INF/beans.xml");
- }
- assertExpectedResources(environment, expected);
- }
-
protected JavaArchive createEjbJar(boolean jarCDI)
{
return createEjbJar(EJB_JAR_NAME, jarCDI, PlainJavaBean.class);
@@ -204,14 +146,5 @@
* @param environment the environment
* @return the list of classes that have been found in the environment
*/
- protected abstract Collection<Class<?>> getClasses(E environment);
-
- /**
- * Returns the Weld XML resources recorded in the environment.
- *
- * @param environment the environment
- * @return the list of URLs pointing to the Weld XML files that have been found in the
- * environment
- */
- protected abstract Collection<URL> getResources(E environment);
+ protected abstract Collection<String> getClasses(E environment);
}
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractSingleArchiveTest.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractSingleArchiveTest.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/AbstractSingleArchiveTest.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -21,6 +21,12 @@
*/
package org.jboss.test.deployers.test;
+import java.net.URL;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
@@ -414,6 +420,71 @@
assertBasicEarWithoutXml();
}
+ private void addExpectedResource(Set<String> expected, String unit)
+ {
+ addExpectedResource(expected, unit, "/META-INF/beans.xml");
+ }
+
+ private void addExpectedResource(Set<String> expected, String unit, String suffix)
+ {
+ expected.add(unit + suffix);
+ }
+
+ private void assertExpectedResources(E environment, Set<String> expected)
+ {
+ Collection<URL> weldXml = getResources(environment);
+ assertNotNull(weldXml);
+ assertTrue("Unexpected empty weld XML collection", expected.isEmpty() || !weldXml.isEmpty());
+ for (URL url : weldXml)
+ {
+ boolean found = false;
+ Iterator<String> iter = expected.iterator();
+ while (iter.hasNext())
+ {
+ String expectedURL = iter.next();
+ if (url.toExternalForm().endsWith(expectedURL))
+ {
+ iter.remove();
+ found = true;
+ break;
+ }
+ }
+ assertTrue("Unexpected wb url: " + url, found);
+ }
+ assertEmpty("Should be emtpy, missing " + expected, expected);
+ }
+
+ protected void assertExpectedResources(E environment, String... units)
+ {
+ Set<String> expected = new HashSet<String>();
+ for (String unit: units)
+ {
+ addExpectedResource(expected, unit);
+ }
+ assertExpectedResources(environment, expected);
+ }
+
+ protected void assertExpectedWarResources(E environment, String warUnit, boolean warResourceExpected, String... units)
+ {
+ Set<String> expected = new HashSet<String>();
+ if (warResourceExpected)
+ addExpectedResource(expected, warUnit, "/WEB-INF/beans.xml");
+ for (String unit: units)
+ {
+ addExpectedResource(expected, warUnit, "/WEB-INF/lib/" + unit + "/META-INF/beans.xml");
+ }
+ assertExpectedResources(environment, expected);
+ }
+
+ /**
+ * Returns the Weld XML resources recorded in the environment.
+ *
+ * @param environment the environment
+ * @return the list of URLs pointing to the Weld XML files that have been found in the
+ * environment
+ */
+ protected abstract Collection<URL> getResources(E environment);
+
protected abstract void assertBasicEarWithoutXml();
/**
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/ArchiveEnvironmentTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/ArchiveEnvironmentTestCase.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/ArchiveEnvironmentTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -223,7 +223,7 @@
}
@Override
- protected Collection<Class<?>> getClasses(
+ protected Collection<String> getClasses(
WeldDiscoveryEnvironment environment)
{
return environment.getWeldClasses();
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BasicEarJBossDeploymentTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BasicEarJBossDeploymentTestCase.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/BasicEarJBossDeploymentTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -25,7 +25,10 @@
import junit.framework.Test;
+import org.jboss.test.deployers.support.MockWeldBootstrap;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.Deployment;
+import org.jboss.weld.integration.deployer.env.bda.DeploymentImpl;
/**
* JBoss Deployment test case.
@@ -44,11 +47,19 @@
return suite(BasicEarJBossDeploymentTestCase.class);
}
+ @Override
protected int getExpectedArchives()
{
return 3;
}
+ @Override
+ protected void initializeDeployment(Deployment deployment)
+ {
+ ((DeploymentImpl) deployment).initialize(new MockWeldBootstrap());
+ }
+
+ @Override
protected void assertNewBeanDeploymentArchive(List<BeanDeploymentArchive> archives, BeanDeploymentArchive newBDA)
{
assertSame(newBDA, archives.iterator().next());
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/DeploymentEnvironmentTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/DeploymentEnvironmentTestCase.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/DeploymentEnvironmentTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -1,274 +1,273 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.deployers.test;
-
-import java.net.URL;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import junit.framework.Test;
-
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-import org.jboss.test.deployers.support.CheckableBootstrap;
-import org.jboss.test.deployers.support.MockEjbInjectionServices;
-import org.jboss.test.deployers.support.MockEjbServices;
-import org.jboss.test.deployers.support.MockEmptyEjbServices;
-import org.jboss.test.deployers.support.MockTransactionServices;
-import org.jboss.test.deployers.support.MockWeldBootstrap;
-import org.jboss.test.deployers.support.WeldDEWrapper;
-import org.jboss.test.deployers.support.crm.CrmWebBean;
-import org.jboss.test.deployers.support.ejb.BusinessInterface;
-import org.jboss.test.deployers.support.ejb.MySLSBean;
-import org.jboss.test.deployers.support.ext.ExternalWebBean;
-import org.jboss.test.deployers.support.jar.PlainJavaBean;
-import org.jboss.test.deployers.support.jsf.NotWBJsfBean;
-import org.jboss.test.deployers.support.ui.UIWebBean;
-import org.jboss.test.deployers.support.util.SomeUtil;
-import org.jboss.test.deployers.support.web.ServletWebBean;
-import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
-import org.jboss.weld.bootstrap.spi.Deployment;
-
-/**
- * JBossDeployment environment test case.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- */
-public class DeploymentEnvironmentTestCase extends AbstractSingleArchiveTest<BeanDeploymentArchive>
-{
- public DeploymentEnvironmentTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return suite(DeploymentEnvironmentTestCase.class);
- }
-
- public void setUp() throws Exception
- {
- super.setUp();
- JavaArchive mockJar = ShrinkWrap.create(JavaArchive.class, "mock.jar");
- mockJar.addClass(CheckableBootstrap.class);
- mockJar.addClass(MockEjbServices.class);
- mockJar.addClass(MockEmptyEjbServices.class);
- mockJar.addClass(MockEjbInjectionServices.class);
- mockJar.addClass(MockTransactionServices.class);
- mockJar.addClass(MockWeldBootstrap.class);
- mockJar.addClass(WeldDEWrapper.class);
- assertDeploy(mockJar);
- }
-
- @Override
- protected void assertWarsInEar()
- {
- Deployment deployment = (Deployment) getBean(Deployment.class);
- Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
- assertEquals(2, bdas.size());
- Iterator<BeanDeploymentArchive> iterator = bdas.iterator();
- BeanDeploymentArchive bda = iterator.next();
- BeanDeploymentArchive bda1, bda2;
- if (bda.getId().contains("simple1.war"))
- {
- bda1 = bda;
- bda2 = iterator.next();
- }
- else
- {
- bda2 = bda;
- bda1 = iterator.next();
- }
- assertBDAId(bda1, "warinear.ear/simple1.war");
- assertExpectedClasses(bda1, ServletWebBean.class);
- assertExpectedWarResources(bda1, "simple1.war", true);
-
- assertBDAId(bda2, "warinear.ear/simple2.war");
- assertExpectedClasses(bda2, NotWBJsfBean.class);
- assertExpectedWarResources(bda2, "simple2.war", true);
-
- Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(bda1);
- assertTrue(reachableBDAs.isEmpty());
- reachableBDAs = getReachableBDAs(bda2);
- assertTrue(reachableBDAs.isEmpty());
- }
-
- @Override
- protected void assertBasicEar()
- {
- Deployment deployment = (Deployment) getBean(Deployment.class);
- Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
- assertEquals(3, bdas.size());
- BeanDeploymentArchive earBDA = null, simpleWarBDA = null, crmWarBDA = null;
- for (BeanDeploymentArchive bda: bdas)
- {
- if (bda.getId().contains("simple.war"))
- {
- simpleWarBDA = bda;
- assertBDAId(simpleWarBDA, "top-level.ear/simple.war");
- assertExpectedClasses(simpleWarBDA, UIWebBean.class, ServletWebBean.class);
- assertExpectedWarResources(simpleWarBDA, "top-level.ear/simple.war", true, "ui.jar");
- }
- else if (bda.getId().contains("crm.war"))
- {
- crmWarBDA = bda;
- assertBDAId(crmWarBDA, "top-level.ear/crm.war");
- assertExpectedClasses(crmWarBDA, CrmWebBean.class);
- assertExpectedResources(crmWarBDA, "crm.jar");
- }
- else
- {
- earBDA = bda;
- assertBDAId(earBDA, "top-level.ear");
- assertExpectedClasses(earBDA, BusinessInterface.class, MySLSBean.class,
- ExternalWebBean.class, PlainJavaBean.class);
- assertExpectedResources(earBDA, "top-level.ear/ejbs.jar",
- "top-level.ear/lib/ext.jar", "top-level.ear/simple.jar");
- }
- }
- Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(earBDA);
- assertTrue(reachableBDAs.isEmpty());
- reachableBDAs = getReachableBDAs(simpleWarBDA);
- assertEquals(1, reachableBDAs.size());
- assertSame(earBDA, reachableBDAs.iterator().next());
- }
-
- @Override
- protected void assertBasicEarFullCDI()
- {
- Deployment deployment = (Deployment) getBean(Deployment.class);
- Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
- assertEquals(3, bdas.size());
- BeanDeploymentArchive earBDA = null, simpleWarBDA = null, crmWarBDA = null;
- for (BeanDeploymentArchive bda: bdas)
- {
- if (bda.getId().contains("simple.war"))
- {
- simpleWarBDA = bda;
- assertBDAId(simpleWarBDA, "top-level.ear/simple.war");
- assertExpectedClasses(simpleWarBDA, UIWebBean.class, ServletWebBean.class);
- assertExpectedWarResources(simpleWarBDA, "top-level.ear/simple.war", true, "ui.jar");
- }
- else if (bda.getId().contains("crm.war"))
- {
- crmWarBDA = bda;
- assertBDAId(crmWarBDA, "top-level.ear/crm.war");
- assertExpectedClasses(crmWarBDA, CrmWebBean.class, NotWBJsfBean.class);
- assertExpectedWarResources(crmWarBDA, "top-level.ear/crm.war", true, "crm.jar");
- }
- else
- {
- earBDA = bda;
- assertBDAId(earBDA, "top-level.ear");
- assertExpectedClasses(earBDA, BusinessInterface.class, MySLSBean.class,
- ExternalWebBean.class, PlainJavaBean.class, SomeUtil.class);
- assertExpectedResources(earBDA, "top-level.ear/lib/util.jar",
- "top-level.ear/lib/ext.jar", "top-level.ear/simple.jar",
- "top-level.ear/ejbs.jar");
- }
- }
-
- Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(earBDA);
- assertTrue(reachableBDAs.isEmpty());
- reachableBDAs = getReachableBDAs(simpleWarBDA);
- assertEquals(1, reachableBDAs.size());
- assertSame(earBDA, reachableBDAs.iterator().next());
- }
-
- @Override
- protected void assertBasicEarWithoutXml()
- {
- assertEmptyEnvironment();
- }
-
- @Override
- protected void assertEmptyEnvironment()
- {
- assertNoBean(Deployment.class);
- }
-
- @Override
- protected BeanDeploymentArchive assertSingleEnvironment(String name)
- {
- Deployment deployment = (Deployment) getBean(Deployment.class);
- return assertOneBDA(deployment, name);
- }
-
- @Override
- protected Collection<Class<?>> getClasses(BeanDeploymentArchive bda)
- {
- return bda.getBeanClasses();
- }
-
- @Override
- protected Collection<URL> getResources(BeanDeploymentArchive bda)
- {
- return bda.getBeansXml();
- }
-
- private BeanDeploymentArchive assertOneBDA(Deployment deployment, String name)
- {
- Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
- assertEquals(1, bdas.size());
- BeanDeploymentArchive bda = bdas.iterator().next();
- assertBDAId(bda, name);
- assertTrue(getReachableBDAs(bda).isEmpty());
- return bda;
- }
-
- private Collection<BeanDeploymentArchive> getBDAs(Deployment deployment)
- {
- assertNotNull(deployment);
- Collection<BeanDeploymentArchive> bdas = deployment.getBeanDeploymentArchives();
- assertNotNull(bdas);
- return bdas;
- }
-
- private void assertBDAId(BeanDeploymentArchive bda, String name)
- {
- assertTrue("BDA id \"" + bda.getId() + "\" expected to end with suffix \"" + name + "/}\"",
- bda.getId().endsWith(name + "/}"));
- }
-
- private Collection<BeanDeploymentArchive> getReachableBDAs(BeanDeploymentArchive bda)
- {
- Collection<BeanDeploymentArchive> result = new HashSet<BeanDeploymentArchive>();
- getReachableBDAs(bda, result);
- result.remove(bda);
- return result;
- }
-
- private void getReachableBDAs(BeanDeploymentArchive bda, Collection<BeanDeploymentArchive> result)
- {
- if (result.contains(bda))
- {
- return;
- }
- result.add(bda);
- for (BeanDeploymentArchive reachableBDA: bda.getBeanDeploymentArchives())
- {
- getReachableBDAs(reachableBDA, result);
- }
- }
-}
+///*
+// * JBoss, Home of Professional Open Source.
+// * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+// * as indicated by the @author tags. See the copyright.txt file 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.test.deployers.test;
+//
+//import java.net.URL;
+//import java.util.Collection;
+//import java.util.HashSet;
+//import java.util.Iterator;
+//
+//import org.jboss.shrinkwrap.api.ShrinkWrap;
+//import org.jboss.shrinkwrap.api.spec.JavaArchive;
+//import org.jboss.test.deployers.support.CheckableBootstrap;
+//import org.jboss.test.deployers.support.MockEjbServices;
+//import org.jboss.test.deployers.support.MockEmptyEjbServices;
+//import org.jboss.test.deployers.support.MockTransactionServices;
+//import org.jboss.test.deployers.support.MockWeldBootstrap;
+//import org.jboss.test.deployers.support.WeldDEWrapper;
+//import org.jboss.test.deployers.support.crm.CrmWebBean;
+//import org.jboss.test.deployers.support.ejb.BusinessInterface;
+//import org.jboss.test.deployers.support.ejb.MySLSBean;
+//import org.jboss.test.deployers.support.ext.ExternalWebBean;
+//import org.jboss.test.deployers.support.jar.PlainJavaBean;
+//import org.jboss.test.deployers.support.jsf.NotWBJsfBean;
+//import org.jboss.test.deployers.support.ui.UIWebBean;
+//import org.jboss.test.deployers.support.util.SomeUtil;
+//import org.jboss.test.deployers.support.web.ServletWebBean;
+//import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+//import org.jboss.weld.bootstrap.spi.Deployment;
+//
+///**
+// * JBossDeployment environment test case.
+// *
+// * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+// * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+// */
+//public class DeploymentEnvironmentTestCase extends AbstractSingleArchiveTest<BeanDeploymentArchive>
+//{
+// public DeploymentEnvironmentTestCase(String name)
+// {
+// super(name);
+// }
+//
+// public static Test suite()
+// {
+// return suite(DeploymentEnvironmentTestCase.class);
+// }
+//
+// @Override
+// public void setUp() throws Exception
+// {
+// super.setUp();
+// JavaArchive mockJar = ShrinkWrap.create(JavaArchive.class, "mock.jar");
+// mockJar.addClass(CheckableBootstrap.class);
+// mockJar.addClass(MockEjbServices.class);
+// mockJar.addClass(MockEmptyEjbServices.class);
+// mockJar.addClass(MockTransactionServices.class);
+// mockJar.addClass(MockWeldBootstrap.class);
+// mockJar.addClass(WeldDEWrapper.class);
+// assertDeploy(mockJar);
+// }
+//
+// @Override
+// protected void assertWarsInEar()
+// {
+// Deployment deployment = (Deployment) getBean(Deployment.class);
+// Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
+// assertEquals(2, bdas.size());
+// Iterator<BeanDeploymentArchive> iterator = bdas.iterator();
+// BeanDeploymentArchive bda = iterator.next();
+// BeanDeploymentArchive bda1, bda2;
+// if (bda.getId().contains("simple1.war"))
+// {
+// bda1 = bda;
+// bda2 = iterator.next();
+// }
+// else
+// {
+// bda2 = bda;
+// bda1 = iterator.next();
+// }
+// assertBDAId(bda1, "warinear.ear/simple1.war");
+// assertExpectedClasses(bda1, ServletWebBean.class);
+// assertExpectedWarResources(bda1, "simple1.war", true);
+//
+// assertBDAId(bda2, "warinear.ear/simple2.war");
+// assertExpectedClasses(bda2, NotWBJsfBean.class);
+// assertExpectedWarResources(bda2, "simple2.war", true);
+//
+// Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(bda1);
+// assertTrue(reachableBDAs.isEmpty());
+// reachableBDAs = getReachableBDAs(bda2);
+// assertTrue(reachableBDAs.isEmpty());
+// }
+//
+// @Override
+// protected void assertBasicEar()
+// {
+// Deployment deployment = (Deployment) getBean(Deployment.class);
+// Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
+// assertEquals(3, bdas.size());
+// BeanDeploymentArchive earBDA = null, simpleWarBDA = null, crmWarBDA = null;
+// for (BeanDeploymentArchive bda: bdas)
+// {
+// if (bda.getId().contains("simple.war"))
+// {
+// simpleWarBDA = bda;
+// assertBDAId(simpleWarBDA, "top-level.ear/simple.war");
+// assertExpectedClasses(simpleWarBDA, UIWebBean.class, ServletWebBean.class);
+// assertExpectedWarResources(simpleWarBDA, "top-level.ear/simple.war", true, "ui.jar");
+// }
+// else if (bda.getId().contains("crm.war"))
+// {
+// crmWarBDA = bda;
+// assertBDAId(crmWarBDA, "top-level.ear/crm.war");
+// assertExpectedClasses(crmWarBDA, CrmWebBean.class);
+// assertExpectedResources(crmWarBDA, "crm.jar");
+// }
+// else
+// {
+// earBDA = bda;
+// assertBDAId(earBDA, "top-level.ear");
+// assertExpectedClasses(earBDA, BusinessInterface.class, MySLSBean.class,
+// ExternalWebBean.class, PlainJavaBean.class);
+// assertExpectedResources(earBDA, "top-level.ear/ejbs.jar",
+// "top-level.ear/lib/ext.jar", "top-level.ear/simple.jar");
+// }
+// }
+// Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(earBDA);
+// assertTrue(reachableBDAs.isEmpty());
+// reachableBDAs = getReachableBDAs(simpleWarBDA);
+// assertEquals(1, reachableBDAs.size());
+// assertSame(earBDA, reachableBDAs.iterator().next());
+// }
+//
+// @Override
+// protected void assertBasicEarFullCDI()
+// {
+// Deployment deployment = (Deployment) getBean(Deployment.class);
+// Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
+// assertEquals(3, bdas.size());
+// BeanDeploymentArchive earBDA = null, simpleWarBDA = null, crmWarBDA = null;
+// for (BeanDeploymentArchive bda: bdas)
+// {
+// if (bda.getId().contains("simple.war"))
+// {
+// simpleWarBDA = bda;
+// assertBDAId(simpleWarBDA, "top-level.ear/simple.war");
+// assertExpectedClasses(simpleWarBDA, UIWebBean.class, ServletWebBean.class);
+// assertExpectedWarResources(simpleWarBDA, "top-level.ear/simple.war", true, "ui.jar");
+// }
+// else if (bda.getId().contains("crm.war"))
+// {
+// crmWarBDA = bda;
+// assertBDAId(crmWarBDA, "top-level.ear/crm.war");
+// assertExpectedClasses(crmWarBDA, CrmWebBean.class, NotWBJsfBean.class);
+// assertExpectedWarResources(crmWarBDA, "top-level.ear/crm.war", true, "crm.jar");
+// }
+// else
+// {
+// earBDA = bda;
+// assertBDAId(earBDA, "top-level.ear");
+// assertExpectedClasses(earBDA, BusinessInterface.class, MySLSBean.class,
+// ExternalWebBean.class, PlainJavaBean.class, SomeUtil.class);
+// assertExpectedResources(earBDA, "top-level.ear/lib/util.jar",
+// "top-level.ear/lib/ext.jar", "top-level.ear/simple.jar",
+// "top-level.ear/ejbs.jar");
+// }
+// }
+//
+// Collection<BeanDeploymentArchive> reachableBDAs = getReachableBDAs(earBDA);
+// assertTrue(reachableBDAs.isEmpty());
+// reachableBDAs = getReachableBDAs(simpleWarBDA);
+// assertEquals(1, reachableBDAs.size());
+// assertSame(earBDA, reachableBDAs.iterator().next());
+// }
+//
+// @Override
+// protected void assertBasicEarWithoutXml()
+// {
+// assertEmptyEnvironment();
+// }
+//
+// @Override
+// protected void assertEmptyEnvironment()
+// {
+// assertNoBean(Deployment.class);
+// }
+//
+// @Override
+// protected BeanDeploymentArchive assertSingleEnvironment(String name)
+// {
+// Deployment deployment = (Deployment) getBean(Deployment.class);
+// return assertOneBDA(deployment, name);
+// }
+//
+// @Override
+// protected Collection<Class<?>> getClasses(BeanDeploymentArchive bda)
+// {
+// return bda.getBeanClasses();
+// }
+//
+// @Override
+// protected Collection<URL> getResources(BeanDeploymentArchive bda)
+// {
+// //return bda.getBeansXml();
+// // TODO Fix this
+// return null;
+// }
+//
+// private BeanDeploymentArchive assertOneBDA(Deployment deployment, String name)
+// {
+// Collection<BeanDeploymentArchive> bdas = getBDAs(deployment);
+// assertEquals(1, bdas.size());
+// BeanDeploymentArchive bda = bdas.iterator().next();
+// assertBDAId(bda, name);
+// assertTrue(getReachableBDAs(bda).isEmpty());
+// return bda;
+// }
+//
+// private Collection<BeanDeploymentArchive> getBDAs(Deployment deployment)
+// {
+// assertNotNull(deployment);
+// Collection<BeanDeploymentArchive> bdas = deployment.getBeanDeploymentArchives();
+// assertNotNull(bdas);
+// return bdas;
+// }
+//
+// private void assertBDAId(BeanDeploymentArchive bda, String name)
+// {
+// assertTrue("BDA id \"" + bda.getId() + "\" expected to end with suffix \"" + name + "/}\"",
+// bda.getId().endsWith(name + "/}"));
+// }
+//
+// private Collection<BeanDeploymentArchive> getReachableBDAs(BeanDeploymentArchive bda)
+// {
+// Collection<BeanDeploymentArchive> result = new HashSet<BeanDeploymentArchive>();
+// getReachableBDAs(bda, result);
+// result.remove(bda);
+// return result;
+// }
+//
+// private void getReachableBDAs(BeanDeploymentArchive bda, Collection<BeanDeploymentArchive> result)
+// {
+// if (result.contains(bda))
+// {
+// return;
+// }
+// result.add(bda);
+// for (BeanDeploymentArchive reachableBDA: bda.getBeanDeploymentArchives())
+// {
+// getReachableBDAs(reachableBDA, result);
+// }
+// }
+//}
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/FlatDeploymentTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/FlatDeploymentTestCase.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/FlatDeploymentTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -24,7 +24,9 @@
import java.util.List;
import junit.framework.Test;
+
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.Deployment;
/**
* Flat Deployment test case.
@@ -44,11 +46,19 @@
}
+ @Override
protected int getExpectedArchives()
{
return 1; // flat only
}
+ @Override
+ protected void initializeDeployment(Deployment deployment)
+ {
+ // do nothing
+ }
+
+ @Override
protected void assertNewBeanDeploymentArchive(List<BeanDeploymentArchive> archives, BeanDeploymentArchive newBDA)
{
assertSame(newBDA, archives.iterator().next());
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-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/LoadBeanDeploymentArchiveTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -21,7 +21,6 @@
*/
package org.jboss.test.deployers.test;
-import java.net.URL;
import java.util.Collection;
import java.util.Iterator;
@@ -51,9 +50,12 @@
import org.jboss.test.deployers.support.web.ServletWebBean;
import org.jboss.test.deployers.vfs.classloader.support.a.A;
import org.jboss.test.deployers.vfs.classloader.support.b.B;
+import org.jboss.weld.bootstrap.api.Bootstrap;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.bootstrap.spi.BeansXml;
import org.jboss.weld.bootstrap.spi.Deployment;
import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.deployer.env.bda.DeploymentImpl;
/**
* Deployment.loadBeanDeploymentArchive test case.
@@ -62,6 +64,8 @@
*/
public class LoadBeanDeploymentArchiveTestCase extends AbstractEnvironmentTest<BeanDeploymentArchive>
{
+ private Bootstrap bootstrap = new MockWeldBootstrap();
+
public LoadBeanDeploymentArchiveTestCase(String name)
{
super(name);
@@ -72,6 +76,7 @@
return suite(LoadBeanDeploymentArchiveTestCase.class);
}
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -92,13 +97,14 @@
JavaArchive ejbJar1 = createEjbJar("ejb1.jar", true, PlainJavaBean.class);
DeploymentUnit unit = assertDeploy(ejbJar1);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
+
// ejb2.jar
JavaArchive ejbJar2 = createEjbJar("ejb2.jar", true, MySLSBean.class, BusinessInterface.class);
unit = assertDeploy(ejbJar2);
Class<?> mySLSBeanClass = getClass(MySLSBean.class, unit);
Class<?> businessInterface = getClass(BusinessInterface.class, unit);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
assertNotSame(deployment1, deployment2);
@@ -127,7 +133,7 @@
JavaArchive ejbJar1 = createEjbJar("ejb1.jar", true, PlainJavaBean.class);
DeploymentUnit unit = assertDeploy(ejbJar1);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
// ejb2.jar
JavaArchive ejbJar2 = createEjbJar("ejb2.jar", false, MySLSBean.class, BusinessInterface.class);
unit = assertDeploy(ejbJar2);
@@ -141,22 +147,22 @@
BeanDeploymentArchive bda2 = deployment1.loadBeanDeploymentArchive(mySLSBeanClass);
assertBDAId(bda2, "ejb2.jar");
assertExpectedClasses(bda2, MySLSBean.class);
- assertExpectedResources(bda2);
+ assertNoBeansXml(bda2);
// double invocation
assertSame(bda2, deployment1.loadBeanDeploymentArchive(mySLSBeanClass));
assertBDAId(bda2, "ejb2.jar");
assertExpectedClasses(bda2, MySLSBean.class);
- assertExpectedResources(bda2);
+ assertNoBeansXml(bda2);
// inclusion of BusinessInterface
assertSame(bda2, deployment1.loadBeanDeploymentArchive(businessInterface));
assertBDAId(bda2, "ejb2.jar");
assertExpectedClasses(bda2, MySLSBean.class, BusinessInterface.class);
- assertExpectedResources(bda2);
+ assertNoBeansXml(bda2);
// double invocation
assertSame(bda2, deployment1.loadBeanDeploymentArchive(businessInterface));
assertBDAId(bda2, "ejb2.jar");
assertExpectedClasses(bda2, MySLSBean.class, BusinessInterface.class);
- assertExpectedResources(bda2);
+ assertNoBeansXml(bda2);
}
public void testEjbJarsInEar() throws Exception
@@ -172,7 +178,7 @@
Class<?> mySLSBeanClass = getClass(MySLSBean.class, unit);
Class<?> businessInterface = getClass(BusinessInterface.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.loadBeanDeploymentArchive(plainJavaBeanClass);
assertBDAId(bda, EAR_NAME);
assertExpectedClasses(bda, PlainJavaBean.class, MySLSBean.class, BusinessInterface.class);
@@ -194,7 +200,7 @@
Class<?> mySLSBeanClass = getClass(MySLSBean.class, unit);
Class<?> businessInterface = getClass(BusinessInterface.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.loadBeanDeploymentArchive(plainJavaBeanClass);
assertBDAId(bda, EAR_NAME);
assertExpectedClasses(bda, PlainJavaBean.class);
@@ -220,7 +226,7 @@
MockArchiveManifest.addManifest(ear1);
DeploymentUnit unit = assertDeploy(ear1);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
// simple2.ear
EnterpriseArchive ear2 = ShrinkWrap.create(EnterpriseArchive.class, "simple2.ear");
JavaArchive ejbJar2 = createEjbJar("ejbJar2.jar", true, MySLSBean.class, BusinessInterface.class);
@@ -229,7 +235,7 @@
unit = assertDeploy(ear2);
Class<?> mySLSBeanClass = getClass(MySLSBean.class, unit);
Class<?> businessInterface = getClass(BusinessInterface.class, unit);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
BeanDeploymentArchive bda1 = deployment1.getBeanDeploymentArchives().iterator().next();
BeanDeploymentArchive bda2 = deployment2.getBeanDeploymentArchives().iterator().next();
@@ -269,7 +275,7 @@
unit = assertDeploy(ear2);
Class<?> mySLSBeanClass = getClass(MySLSBean.class, unit);
Class<?> businessInterface = getClass(BusinessInterface.class, unit);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
BeanDeploymentArchive bda2 = deployment2.getBeanDeploymentArchives().iterator().next();
// contents of BDA2
@@ -286,12 +292,12 @@
BeanDeploymentArchive bda1 = deployment2.loadBeanDeploymentArchive(plainJavaBeanClass);
assertBDAId(bda1, "simple1.ear");
assertExpectedClasses(bda1, PlainJavaBean.class);
- assertExpectedResources(bda1);
+ assertNoBeansXml(bda1);
// double invocation
assertSame(bda1, deployment2.loadBeanDeploymentArchive(plainJavaBeanClass));
assertBDAId(bda1, "simple1.ear");
assertExpectedClasses(bda1, PlainJavaBean.class);
- assertExpectedResources(bda1);
+ assertNoBeansXml(bda1);
}
public void testWars() throws Exception
@@ -299,12 +305,12 @@
WebArchive war1 = createWar("simple1.war", true, ServletWebBean.class);
DeploymentUnit unit = assertDeploy(war1);
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
WebArchive war2 = createWar("simple2.war", true, NotWBJsfBean.class);
unit = assertDeploy(war2);
Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
// assertion deleted as loadBDA implementation does not check for unreachable classes anymore
//assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
@@ -331,7 +337,7 @@
{
WebArchive war1 = createWar("simple1.war", true, ServletWebBean.class);
/*DeploymentUnit unit = */assertDeploy(war1);
- //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ //Deployment deployment1 = initializeDeploymentBean(unit));
WebArchive war2 = createWar("simple2.war", false, NotWBJsfBean.class);
/*unit = */assertDeploy(war2);
@@ -347,7 +353,7 @@
DeploymentUnit unit = assertDeploy(war);
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
Class<?> uiWebBeanClass = getClass(UIWebBean.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, WAR_NAME);
@@ -365,7 +371,7 @@
DeploymentUnit unit = assertDeploy(war);
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
Class<?> uiWebBeanClass = getClass(UIWebBean.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, WAR_NAME);
@@ -388,7 +394,7 @@
DeploymentUnit unit = assertDeploy(war);
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
Class<?> uiWebBeanClass = getClass(UIWebBean.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, WAR_NAME);
@@ -412,7 +418,7 @@
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
Class<?> uiWebBeanClass = getClass(UIWebBean.class, unit);
Class<?> crmWebBeanClass = getClass(CrmWebBean.class, unit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(bda, WAR_NAME);
@@ -441,7 +447,7 @@
MockArchiveManifest.addManifest(ear1);
/*DeploymentUnit unit = */assertDeploy(ear1);
//Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit.getChildren().iterator().next());
- //Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ //Deployment deployment1 = initializeDeploymentBean(unit));
EnterpriseArchive ear2 = ShrinkWrap.create(EnterpriseArchive.class, "warinear2.ear");
WebArchive war2 = createWar(WAR_NAME, true, NotWBJsfBean.class);
@@ -451,7 +457,7 @@
// 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));
+ // Deployment deployment2 = initializeDeploymentBean(unit));
//assertCannotLoadBDA(deployment1, notWBJsfBeanClass);
//assertCannotLoadBDA(deployment2, servletWebBeanClass);
}
@@ -476,7 +482,7 @@
}
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit1);
Class<?> notWBJsfBeanClass = getClass(NotWBJsfBean.class, unit2);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda1 = deployment.loadBeanDeploymentArchive(servletWebBeanClass);
assertBDAId(bda1, "warinear.ear/simple1.war");
@@ -493,12 +499,12 @@
JavaArchive ejbJar = createEjbJar(true);
DeploymentUnit unit = assertDeploy(ejbJar);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
// simple.war
WebArchive war = createWar(true);
unit = assertDeploy(war);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
// assertion deleted as loadBDA implementation does not check for unreachable classes anymore
//Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
@@ -533,7 +539,7 @@
} while (!warUnit.getName().contains(WAR_NAME));
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, warUnit);
- Deployment deployment = (Deployment) getBean(Deployment.class);
+ Deployment deployment = initializeDeploymentBean();
BeanDeploymentArchive bda = deployment.loadBeanDeploymentArchive(plainJavaBeanClass);
@@ -554,12 +560,12 @@
MockArchiveManifest.addManifest(ear);
DeploymentUnit unit = assertDeploy(ear);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
// simple.war
WebArchive war = createWar(true);
unit = assertDeploy(war);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
// assertion deleted as loadBDA implementation does not check for unreachable classes anymore
// Class<?> servletWebBeanClass = getClass(ServletWebBean.class, unit);
@@ -584,7 +590,7 @@
MockArchiveManifest.addManifest(ejbEar);
DeploymentUnit unit = assertDeploy(ejbEar);
Class<?> plainJavaBeanClass = getClass(PlainJavaBean.class, unit);
- Deployment deployment1 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment1 = initializeDeploymentBean(unit);
// war.ear
EnterpriseArchive warEar = ShrinkWrap.create(EnterpriseArchive.class, "war.ear");
WebArchive war = createWarWithLib(true, false);
@@ -594,7 +600,7 @@
DeploymentUnit warUnit = unit.getChildren().iterator().next();
Class<?> servletWebBeanClass = getClass(ServletWebBean.class, warUnit);
Class<?> uiWebBeanClass = getClass(UIWebBean.class, warUnit);
- Deployment deployment2 = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ Deployment deployment2 = initializeDeploymentBean(unit);
// assertion deleted as loadBDA implementation does not check for unreachable classes anymore
//assertCannotLoadBDA(deployment1, servletWebBeanClass);
@@ -622,7 +628,7 @@
{
WebArchive war1 = createWar("web1.war", true, ServletWebBean.class);
DeploymentUnit war1Unit = assertDeploy(war1);
- Deployment war1Deployment = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(war1Unit));
+ Deployment war1Deployment = initializeDeploymentBean(war1Unit);
BeanDeploymentArchive war1BDA = war1Deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(war1BDA, "web1.war");
assertExpectedClasses(war1BDA, ServletWebBean.class);
@@ -631,7 +637,7 @@
WebArchive war2 = createWar("web2.war", true, NotWBJsfBean.class);
createLib(war2, "crm.jar", false, CrmWebBean.class);
DeploymentUnit war2Unit = assertDeploy(war2);
- Deployment war2Deployment = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(war2Unit));
+ Deployment war2Deployment = initializeDeploymentBean(war2Unit);
BeanDeploymentArchive war2BDA = war2Deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(war2BDA, "web2.war");
assertExpectedClasses(war2BDA, NotWBJsfBean.class);
@@ -640,7 +646,7 @@
JavaArchive ejbJar = createEjbJar("ejb.jar", true, BusinessInterface.class);
DeploymentUnit ejbJarUnit = assertDeploy(ejbJar);
- Deployment ejbJarDeployment = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(ejbJarUnit));
+ Deployment ejbJarDeployment = initializeDeploymentBean(ejbJarUnit);
BeanDeploymentArchive ejbJarBDA = ejbJarDeployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(ejbJarBDA, "ejb.jar");
assertExpectedClasses(ejbJarBDA, BusinessInterface.class);
@@ -657,7 +663,7 @@
createLib(ear1, "lib3.jar", false, B.class);
MockArchiveManifest.addManifest(ear1);
DeploymentUnit ear1Unit = assertDeploy(ear1);
- Deployment ear1Deployment = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(ear1Unit));
+ Deployment ear1Deployment = initializeDeploymentBean(ear1Unit);
BeanDeploymentArchive ear1BDA = null, ear1War1BDA = null, ear1War2BDA = null;
for (BeanDeploymentArchive bda: ear1Deployment.getBeanDeploymentArchives())
{
@@ -708,7 +714,7 @@
createLib(ear2, "lib2.jar", true, CrmWebBean.class);
MockArchiveManifest.addManifest(ear2);
DeploymentUnit ear2Unit = assertDeploy(ear2);
- Deployment ear2Deployment = (Deployment) getBean(DeployersUtils.getDeploymentBeanName(ear2Unit));
+ Deployment ear2Deployment = initializeDeploymentBean(ear2Unit);
BeanDeploymentArchive ear2BDA = ear2Deployment.getBeanDeploymentArchives().iterator().next();
assertBDAId(ear2BDA, "ejbWLibs.ear");
assertExpectedClasses(ear2BDA, PlainJavaBean.class, CrmWebBean.class);
@@ -882,17 +888,30 @@
}
@Override
- protected Collection<Class<?>> getClasses(BeanDeploymentArchive bda)
+ protected Collection<String> getClasses(BeanDeploymentArchive bda)
{
return bda.getBeanClasses();
}
- @Override
- protected Collection<URL> getResources(BeanDeploymentArchive bda)
+ private Deployment initializeDeploymentBean(DeploymentUnit unit)
{
- return bda.getBeansXml();
+ DeploymentImpl deployment = (DeploymentImpl) getBean(DeployersUtils.getDeploymentBeanName(unit));
+ deployment.initialize(bootstrap);
+ return deployment;
}
+ private Deployment initializeDeploymentBean()
+ {
+ DeploymentImpl deployment = (DeploymentImpl) getBean(Deployment.class);
+ deployment.initialize(bootstrap);
+ return deployment;
+ }
+
+ private void assertNoBeansXml (BeanDeploymentArchive bda)
+ {
+ assertSame(BeansXml.EMPTY_BEANS_XML, bda.getBeansXml());
+ }
+
private void assertBDAId(BeanDeploymentArchive bda, String name)
{
assertTrue("BDA id \"" + bda.getId() + "\" expected to end with suffix \"" + name + "/}\"",
Modified: trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/WeldDiscoveryEnvTestCase.java
===================================================================
--- trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/WeldDiscoveryEnvTestCase.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer/src/test/java/org/jboss/test/deployers/test/WeldDiscoveryEnvTestCase.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -27,6 +27,7 @@
import java.util.Set;
import junit.framework.Test;
+
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.test.deployers.support.crm.CrmWebBean;
import org.jboss.test.deployers.support.ejb.BusinessInterface;
@@ -101,8 +102,8 @@
addExpectedClass(expected, ServletWebBean.class);
addExpectedClass(expected, CrmWebBean.class);
- for (Class<?> clazz : wbDiscovery.getWeldClasses())
- assertTrue(expected.remove(clazz.getName()));
+ for (String className : wbDiscovery.getWeldClasses())
+ assertTrue(expected.remove(className));
assertEmpty("Should be emtpy, missing " + expected, expected);
}
Modified: trunk/weld-int/deployer-mc-int/src/test/java/org/jboss/test/deployers/test/AbstractWeldTest.java
===================================================================
--- trunk/weld-int/deployer-mc-int/src/test/java/org/jboss/test/deployers/test/AbstractWeldTest.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/deployer-mc-int/src/test/java/org/jboss/test/deployers/test/AbstractWeldTest.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -90,17 +90,17 @@
.addPath(metaInfParent);
}
- protected Class<?> findClass(DeploymentUnit unit, String name, boolean mustFind)
+ protected Class<?> findClass(DeploymentUnit unit, String name, boolean mustFind) throws ClassNotFoundException
{
//The class is loaded by a different classloader, so search for the correct class
FlatDeployment flatDeployment = (FlatDeployment)getBean(DeployersUtils.getDeploymentBeanName(unit));
assertNotNull(flatDeployment);
Class<?> found = null;
- for (Class<?> current : flatDeployment.getFlatBeanDeploymentArchive().getBeanClasses())
+ for (String current : flatDeployment.getFlatBeanDeploymentArchive().getBeanClasses())
{
- if (name.equals(current.getName()))
+ if (name.equals(current))
{
- found = current;
+ found = unit.getClassLoader().loadClass(current);
break;
}
}
Modified: trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java
===================================================================
--- trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossMessageDrivenBeanDescriptorAdaptor.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -20,7 +20,14 @@
// Not relevant for MDBs
return null;
}
+
+ public Collection<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces()
+ {
+ // Not relevant for MDBs
+ return null;
+ }
+
public Collection<Method> getRemoveMethods()
{
// Not relevant for MDBs
Modified: trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
===================================================================
--- trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java 2010-08-31 15:32:00 UTC (rev 107920)
+++ trunk/weld-int/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java 2010-08-31 17:08:11 UTC (rev 107921)
@@ -19,6 +19,8 @@
private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
private final List<BusinessInterfaceDescriptor<?>> localBusinessInterfaces;
+ private final List<BusinessInterfaceDescriptor<?>> remoteBusinessInterfaces;
+
private final List<Method> removeMethods;
private final boolean stateful;
private final boolean stateless;
@@ -42,6 +44,15 @@
this.localBusinessInterfaces.add(new JBossBussinessInterfaceDescriptorAdaptor<Object>(interfaceName, getEjbName(), deploymentUnit, resolver));
}
}
+
+ this.remoteBusinessInterfaces = new ArrayList<BusinessInterfaceDescriptor<?>>();
+ if (sessionBeanMetaData.getBusinessRemotes() != null)
+ {
+ for (String interfaceName : sessionBeanMetaData.getBusinessRemotes())
+ {
+ this.remoteBusinessInterfaces.add(new JBossBussinessInterfaceDescriptorAdaptor<Object>(interfaceName, getEjbName(), deploymentUnit, resolver));
+ }
+ }
this.removeMethods = new ArrayList<Method>();
@@ -91,7 +102,13 @@
{
return localBusinessInterfaces;
}
+
+ public Collection<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces()
+ {
+ return remoteBusinessInterfaces;
+ }
+
public Collection<Method> getRemoveMethods()
{
return removeMethods;
@@ -116,7 +133,7 @@
{
return false;
}
-
+
public String getLocalJndiName()
{
return localJndiName;
More information about the jboss-cvs-commits
mailing list