[jboss-cvs] JBossAS SVN: r104253 - in projects/metadata/ejb/trunk/src: main/java/org/jboss/metadata/annotation/creator/ejb/jboss and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Apr 26 09:14:49 EDT 2010
Author: jaikiran
Date: 2010-04-26 09:14:48 -0400 (Mon, 26 Apr 2010)
New Revision: 104253
Added:
projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/DependsOnProcessor.java
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/IndependentSingleton.java
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithMultipleDependencies.java
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithOneDependency.java
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/unit/
projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/unit/DependsOnTestCase.java
Modified:
projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/SingletonProcessor.java
projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBean31MetaData.java
projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBean31MetaData.java
Log:
JBMETA-278 Metadata support for processing @DependsOn annotation
Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/SingletonProcessor.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/SingletonProcessor.java 2010-04-26 11:29:50 UTC (rev 104252)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/SingletonProcessor.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -32,6 +32,7 @@
import org.jboss.metadata.annotation.creator.ejb.jboss.AccessTimeoutClassProcessor;
import org.jboss.metadata.annotation.creator.ejb.jboss.AccessTimeoutMethodProcessor;
import org.jboss.metadata.annotation.creator.ejb.jboss.ConcurrencyManagementProcessor;
+import org.jboss.metadata.annotation.creator.ejb.jboss.DependsOnProcessor;
import org.jboss.metadata.annotation.creator.ejb.jboss.LockClassProcessor;
import org.jboss.metadata.annotation.creator.ejb.jboss.LockMethodProcessor;
import org.jboss.metadata.annotation.finder.AnnotationFinder;
@@ -53,6 +54,7 @@
addTypeProcessor(new ConcurrencyManagementProcessor(finder));
addTypeProcessor(new LockClassProcessor(finder));
addTypeProcessor(new AccessTimeoutClassProcessor(finder));
+ addTypeProcessor(new DependsOnProcessor(finder));
addMethodProcessor(new LockMethodProcessor(finder));
addMethodProcessor(new AccessTimeoutMethodProcessor(finder));
Added: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/DependsOnProcessor.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/DependsOnProcessor.java (rev 0)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/DependsOnProcessor.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -0,0 +1,79 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.metadata.annotation.creator.ejb.jboss;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.util.Collection;
+
+import javax.ejb.DependsOn;
+
+import org.jboss.metadata.annotation.creator.AbstractFinderUser;
+import org.jboss.metadata.annotation.creator.Processor;
+import org.jboss.metadata.annotation.creator.ProcessorUtils;
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+
+/**
+ * Responsible for processing the {@link DependsOn} annotation
+ * on a bean and creating metadata out of it.
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class DependsOnProcessor extends AbstractFinderUser implements Processor<JBossSessionBean31MetaData, Class<?>>
+{
+
+ /**
+ * @param finder
+ */
+ public DependsOnProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ /**
+ * @see org.jboss.metadata.annotation.creator.Processor#getAnnotationTypes()
+ */
+ @Override
+ public Collection<Class<? extends Annotation>> getAnnotationTypes()
+ {
+ return ProcessorUtils.createAnnotationSet(DependsOn.class);
+ }
+
+ /**
+ * Creates metadata out of {@link DependsOn} annotation, if found on the passed
+ * <code>klass</code>
+ */
+ @Override
+ public void process(JBossSessionBean31MetaData sessionBeanMetaData, Class<?> klass)
+ {
+ DependsOn dependsOn = this.finder.getAnnotation(klass, DependsOn.class);
+ if (dependsOn != null)
+ {
+ sessionBeanMetaData.setDependsOn(dependsOn.value());
+ return;
+ }
+
+ }
+
+}
Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBean31MetaData.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBean31MetaData.java 2010-04-26 11:29:50 UTC (rev 104252)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBean31MetaData.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -21,7 +21,7 @@
*/
package org.jboss.metadata.ejb.jboss;
-import java.util.Collections;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@@ -78,6 +78,11 @@
* The lock type that is set at the bean level
*/
private LockType beanLevelLockType;
+
+ /**
+ * DependsOn for a singleton bean
+ */
+ private String[] dependsOn;
public AsyncMethodsMetaData getAsyncMethods()
{
@@ -240,6 +245,42 @@
{
return this.beanLevelAccessTimeout;
}
+
+ /**
+ * Returns the names of one or more Singleton beans in the same application
+ * as the referring Singleton.
+ * @return
+ */
+ public String[] getDependsOn()
+ {
+ return this.dependsOn;
+ }
+
+ /**
+ * Sets the names of one or more singleton beans, each of which must be initialized before
+ * the referring bean. Each dependent bean is expressed using ejb-link syntax.
+ *
+ * @param dependsOn The singleton bean dependencies
+ */
+ public void setDependsOn(String[] dependsOn)
+ {
+ this.dependsOn = dependsOn;
+ }
+
+ /**
+ * Sets the names of one or more singleton beans, each of which must be initialized before
+ * the referring bean. Each dependent bean is expressed using ejb-link syntax.
+ *
+ * @param dependsOn The singleton bean dependencies
+ */
+ public void setDependsOn(Collection<String> dependsOn)
+ {
+ if (dependsOn == null)
+ {
+ return;
+ }
+ this.setDependsOn(dependsOn.toArray(new String[dependsOn.size()]));
+ }
@Override
public void merge(JBossEnterpriseBeanMetaData override, JBossEnterpriseBeanMetaData original)
@@ -280,6 +321,10 @@
{
this.beanLevelAccessTimeout = joverride.beanLevelAccessTimeout;
}
+ if (joverride.dependsOn != null)
+ {
+ this.dependsOn = joverride.dependsOn;
+ }
}
else if (soriginal != null)
{
@@ -305,6 +350,10 @@
{
this.beanLevelAccessTimeout = soriginal.beanLevelAccessTimeout;
}
+ if (soriginal.dependsOn != null)
+ {
+ this.dependsOn = soriginal.dependsOn;
+ }
}
}
@@ -345,6 +394,10 @@
{
this.beanLevelAccessTimeout = joverride.beanLevelAccessTimeout;
}
+ if (joverride.dependsOn != null)
+ {
+ this.dependsOn = joverride.dependsOn;
+ }
}
else if (soriginal != null)
{
@@ -370,6 +423,10 @@
{
this.beanLevelAccessTimeout = soriginal.getAccessTimeout();
}
+ if (soriginal.getDependsOn() != null)
+ {
+ this.dependsOn = soriginal.getDependsOn();
+ }
}
}
Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBean31MetaData.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBean31MetaData.java 2010-04-26 11:29:50 UTC (rev 104252)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBean31MetaData.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -21,7 +21,7 @@
*/
package org.jboss.metadata.ejb.spec;
-import java.util.Collections;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -79,7 +79,13 @@
* Concurrency management type of the bean
*/
private ConcurrencyManagementType concurrencyManagementType;
+
+ /**
+ * DependsOn for a singleton bean
+ */
+ private String[] dependsOn;
+
/**
* Returns the init-on-startup value of the session bean metadata.
* Returns null if none is defined.
@@ -256,6 +262,42 @@
}
/**
+ * Returns the names of one or more Singleton beans in the same application
+ * as the referring Singleton.
+ * @return
+ */
+ public String[] getDependsOn()
+ {
+ return this.dependsOn;
+ }
+
+ /**
+ * Sets the names of one or more singleton beans, each of which must be initialized before
+ * the referring bean. Each dependent bean is expressed using ejb-link syntax.
+ *
+ * @param dependsOn The singleton bean dependencies
+ */
+ public void setDependsOn(String[] dependsOn)
+ {
+ this.dependsOn = dependsOn;
+ }
+
+ /**
+ * Sets the names of one or more singleton beans, each of which must be initialized before
+ * the referring bean. Each dependent bean is expressed using ejb-link syntax.
+ *
+ * @param dependsOn The singleton bean dependencies
+ */
+ public void setDependsOn(Collection<String> dependsOn)
+ {
+ if (dependsOn == null)
+ {
+ return;
+ }
+ this.setDependsOn(dependsOn.toArray(new String[dependsOn.size()]));
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
@@ -303,6 +345,10 @@
{
this.beanLevelAccessTimeout = override.beanLevelAccessTimeout;
}
+ if (override.dependsOn != null)
+ {
+ this.dependsOn = override.dependsOn;
+ }
}
else if (original != null)
{
@@ -334,6 +380,10 @@
{
this.beanLevelAccessTimeout = original.beanLevelAccessTimeout;
}
+ if (original.dependsOn != null)
+ {
+ this.dependsOn = original.dependsOn;
+ }
}
}
}
Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/IndependentSingleton.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/IndependentSingleton.java (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/IndependentSingleton.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -0,0 +1,36 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.metadata.ejb.test.dependson;
+
+import javax.ejb.Singleton;
+
+/**
+ * IndependentSingleton
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Singleton
+public class IndependentSingleton
+{
+
+}
Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithMultipleDependencies.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithMultipleDependencies.java (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithMultipleDependencies.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.metadata.ejb.test.dependson;
+
+import javax.ejb.DependsOn;
+import javax.ejb.Singleton;
+
+/**
+ * SingletonWithMultipleDependencies
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Singleton
+ at DependsOn({"A", "B", "somejar.jar#C"})
+public class SingletonWithMultipleDependencies
+{
+
+}
Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithOneDependency.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithOneDependency.java (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/SingletonWithOneDependency.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.metadata.ejb.test.dependson;
+
+import javax.ejb.DependsOn;
+import javax.ejb.Singleton;
+
+/**
+ * SingletonWithOneDependency
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at Singleton
+ at DependsOn ("A")
+public class SingletonWithOneDependency
+{
+
+}
Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/unit/DependsOnTestCase.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/unit/DependsOnTestCase.java (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/metadata/ejb/test/dependson/unit/DependsOnTestCase.java 2010-04-26 13:14:48 UTC (rev 104253)
@@ -0,0 +1,128 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.metadata.ejb.test.dependson.unit;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.lang.reflect.AnnotatedElement;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import junit.framework.Assert;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.annotation.creator.ejb.jboss.JBoss50Creator;
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar31MetaData;
+import org.jboss.metadata.ejb.test.dependson.IndependentSingleton;
+import org.jboss.metadata.ejb.test.dependson.SingletonWithMultipleDependencies;
+import org.jboss.metadata.ejb.test.dependson.SingletonWithOneDependency;
+import org.jboss.test.metadata.common.PackageScanner;
+import org.jboss.test.metadata.common.ScanPackage;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.jboss.xb.binding.resolver.MultiClassSchemaResolver;
+import org.jboss.xb.binding.resolver.MutableSchemaResolver;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+/**
+ * DependsOnTestCase
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class DependsOnTestCase
+{
+
+ private static Logger logger = Logger.getLogger(DependsOnTestCase.class);
+
+ private static MutableSchemaResolver schemaBindingResolver;
+
+ private static UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
+
+ @BeforeClass
+ public static void beforeClass()
+ {
+ schemaBindingResolver = new MultiClassSchemaResolver();
+ schemaBindingResolver.mapLocationToClass("ejb-jar_3_1.xsd", EjbJar31MetaData.class);
+ }
+
+ @Test
+ @ScanPackage("org.jboss.metadata.ejb.test.dependson")
+ public void testDependsOnAnnotationProcessing() throws Exception
+ {
+ AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
+ JBoss50Creator creator = new JBoss50Creator(finder);
+ Collection<Class<?>> classes = PackageScanner.loadClasses();
+ JBossMetaData metaData = creator.create(classes);
+ assertNotNull(metaData);
+
+ // test a bean with no dependencies
+ String independentBeanName = IndependentSingleton.class.getSimpleName();
+ JBossEnterpriseBeanMetaData independentBean = metaData.getEnterpriseBean(independentBeanName);
+
+ JBossSessionBean31MetaData independentSessionbean = (JBossSessionBean31MetaData) independentBean;
+
+ Assert.assertTrue(independentBeanName + " is not a singleton bean", independentSessionbean.isSingleton());
+ Assert.assertNull("Unexpected dependency on bean " + independentBeanName, independentSessionbean.getDependsOn());
+
+
+ // test a bean with just one dependency
+ String singleDependencyBeanName = SingletonWithOneDependency.class.getSimpleName();
+ JBossEnterpriseBeanMetaData singleDependencyBean = metaData.getEnterpriseBean(singleDependencyBeanName);
+
+ JBossSessionBean31MetaData singleDependencySessionBean = (JBossSessionBean31MetaData) singleDependencyBean;
+
+ Assert.assertTrue(singleDependencyBeanName + " is not a singleton bean", singleDependencySessionBean.isSingleton());
+
+ String[] dependsOn = singleDependencySessionBean.getDependsOn();
+ Assert.assertNotNull("No dependency found on bean " + singleDependencyBeanName, dependsOn);
+ Assert.assertEquals("Unexpected number of dependencies found on bean " + singleDependencyBeanName, 1, dependsOn.length );
+ Assert.assertEquals("Unexpected dependency found on bean " + singleDependencyBeanName, "A", dependsOn[0]);
+
+
+ // test a bean with multiple dependencies
+ String multipleDependenciesBeanName = SingletonWithMultipleDependencies.class.getSimpleName();
+ JBossEnterpriseBeanMetaData multipleDependenciesBean = metaData.getEnterpriseBean(multipleDependenciesBeanName);
+
+ JBossSessionBean31MetaData multipleDependenciesSessionBean = (JBossSessionBean31MetaData) multipleDependenciesBean;
+
+ Assert.assertTrue(multipleDependenciesBeanName + " is not a singleton bean", multipleDependenciesSessionBean.isSingleton());
+
+ String[] multipleDependsOn = multipleDependenciesSessionBean.getDependsOn();
+ Assert.assertNotNull("No dependency found on bean " + multipleDependenciesBeanName, multipleDependsOn);
+ Assert.assertEquals("Unexpected number of dependencies found on bean " + multipleDependenciesBeanName, 3, multipleDependsOn.length );
+
+ List<String> deps = Arrays.asList(multipleDependsOn);
+ Assert.assertTrue("Unexpected dependency found on bean " + multipleDependenciesBeanName, deps.contains("A"));
+ Assert.assertTrue("Unexpected dependency found on bean " + multipleDependenciesBeanName, deps.contains("B"));
+ Assert.assertTrue("Unexpected dependency found on bean " + multipleDependenciesBeanName, deps.contains("somejar.jar#C"));
+
+
+ }
+}
More information about the jboss-cvs-commits
mailing list