[jboss-cvs] JBossAS SVN: r75391 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/ejb3 and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 4 10:31:45 EDT 2008
Author: emuckenhuber
Date: 2008-07-04 10:31:45 -0400 (Fri, 04 Jul 2008)
New Revision: 75391
Added:
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/JBossExtApiAnnotationTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyAnnotatedManagementInterface.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyConsumerBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyManagedService.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyOtherServiceBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyProducer.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyServiceBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/TestInterface.java
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractEnterpriseBeanProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractSessionBeanProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossManagementProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossProducerProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/MessageDrivenProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/StatefulProcessor.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/JBossAnnotationEjb3UnitTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyMDB.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyServiceBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatefulBean.java
Log:
[JBMETA-20] enable ext api processors
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractEnterpriseBeanProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractEnterpriseBeanProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractEnterpriseBeanProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -72,6 +72,12 @@
// @Interceptors
addTypeProcessor(new InterceptorsProcessor<Class>(finder));
addMethodProcessor(new InterceptorsProcessor<Method>(finder));
+ // @AspectDomain
+ addTypeProcessor(new JBossAspectDomainProcessor(finder));
+ // @JndiBindingPolicy
+ addTypeProcessor(new JBossJndiPolicyProcessor(finder));
+ // @Pool
+ addTypeProcessor(new JBossPoolProcessor(finder));
}
/**
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractSessionBeanProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractSessionBeanProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/AbstractSessionBeanProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -57,12 +57,17 @@
addTypeProcessor(new RemoteHomeProcessor(finder));
addTypeProcessor(new ImplicitLocalProcessor(finder));
addTypeProcessor(new LocalBindingProcessor(finder));
+ addTypeProcessor(new LocalHomeBindingProcessor(finder));
addTypeProcessor(new RemoteBindingProcessor(finder));
addTypeProcessor(new RemoteBindingsProcessor(finder));
+ addTypeProcessor(new RemoteHomeBindingProcessor(finder));
addMethodProcessor(new InitProcessor(finder));
addMethodProcessor(new TimeoutProcessor(finder));
addMethodProcessor(new AroundInvokeProcessor(finder));
+
+ addTypeProcessor(new JBossCacheConfigProcessor(finder));
+ addTypeProcessor(new JBossClusteredProcessor(finder));
}
public abstract JBossSessionBeanMetaData create(Class<?> beanClass);
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBoss50Creator.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -52,9 +52,12 @@
processors = new ArrayList<Processor<JBossMetaData,Class<?>>>();
processors.add(new StatefulProcessor(finder));
processors.add(new StatelessProcessor(finder));
+ processors.add(new JBossServiceProcessor(finder));
+ processors.add(new JBossConsumerProcessor(finder));
processors.add(new MessageDrivenProcessor(finder));
processors.add(new EntityProcessor(finder));
processors.add(new ApplicationExceptionProcessor(finder));
+
}
public JBoss50MetaData create(Collection<Class<?>> classes)
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossManagementProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossManagementProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossManagementProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -28,6 +28,7 @@
import org.jboss.metadata.annotation.creator.Processor;
import org.jboss.metadata.annotation.finder.AnnotationFinder;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
+import org.jboss.metadata.lang.ClassHelper;
/**
* The @Management processor.
@@ -51,7 +52,26 @@
return;
if(annotation.value() != Object.class)
+ {
metaData.setManagement(annotation.value().getName());
+ }
+ else
+ {
+ Class<?> managementInterface = getDefaultInterface(type);
+ metaData.setManagement(managementInterface.getName());
+ }
}
+
+ private Class<?> getDefaultInterface(Class<?> type)
+ {
+ if(type.isInterface())
+ {
+ return type;
+ }
+ else
+ {
+ return ClassHelper.getDefaultInterface(type);
+ }
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossProducerProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossProducerProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/JBossProducerProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -61,9 +61,11 @@
ProducerMetaData producer = new ProducerMetaData();
if(annotation.connectionFactory().length() > 1)
producer.setConnectionFactory(annotation.connectionFactory());
- if(annotation.producer() != Object.class)
+ if(annotation.producer() != Producer.class)
producer.setClassName(annotation.producer().getName());
+ // TODO find interfaces
+
// TODO
// annotation.transacted();
// annotation.acknowledgeMode()
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/MessageDrivenProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/MessageDrivenProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/MessageDrivenProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -48,6 +48,7 @@
protected MessageDrivenProcessor(AnnotationFinder<AnnotatedElement> finder)
{
super(finder);
+ addTypeProcessor(new JBossResourceAdapterProcessor(finder));
addMethodProcessor(new TimeoutProcessor(finder));
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/StatefulProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/StatefulProcessor.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/StatefulProcessor.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -44,7 +44,9 @@
protected StatefulProcessor(AnnotationFinder<AnnotatedElement> finder)
{
super(finder);
-
+
+ addTypeProcessor(new JBossSerializedConcurrentAccessProcessor(finder));
+
addMethodProcessor(new RemoveProcessor(finder));
addMethodProcessor(new PostActivateMethodProcessor(finder));
addMethodProcessor(new PrePassivateMethodProcessor(finder));
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/JBossAnnotationEjb3UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/JBossAnnotationEjb3UnitTestCase.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/JBossAnnotationEjb3UnitTestCase.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -40,6 +40,8 @@
import org.jboss.metadata.annotation.finder.AnnotationFinder;
import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.CacheConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
@@ -51,6 +53,7 @@
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.ProducerMetaData;
import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
@@ -111,6 +114,7 @@
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @author Scott.Stark at jboss.org
* @author <a href="alex at jboss.com">Alexey Loubyansky</a>
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
* @version $Revision: 1.1 $
*/
public class JBossAnnotationEjb3UnitTestCase extends AbstractJavaEEMetaDataTest
@@ -143,6 +147,9 @@
AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
Collection<Class<?>> classes = loadClassesFromCurrentClassDir();
+ // Do not test MyServiceBean/MyConsumer in here
+ classes.remove(MyServiceBean.class);
+ classes.remove(MyConsumer.class);
//enableTrace("org.jboss.metadata.annotation.creator");
JBoss50Creator creator = new JBoss50Creator(finder);
@@ -625,6 +632,28 @@
assertEquals("stack2", remoteBinding.getInterceptorStack());
assertEquals("factory2", remoteBinding.getProxyFactory());
assertEquals("RemoteBinding2", remoteBinding.getJndiName());
+
+ // @LocalHomeBinding
+ assertEquals("localHome", bean.getLocalHomeJndiName());
+
+ // @RemoteHomeBinding
+ assertEquals("remoteHomeBinding", bean.getHomeJndiName());
+
+ // @CacheConfig
+ assertNotNull(bean.getCacheConfig());
+ CacheConfigMetaData cacheConfig = bean.getCacheConfig();
+ assertEquals("test", cacheConfig.getName());
+ assertEquals(Integer.valueOf(123), cacheConfig.getIdleTimeoutSeconds());
+ assertEquals(Integer.valueOf(234), cacheConfig.getMaxSize());
+ assertEquals(Integer.valueOf(345), cacheConfig.getRemoveTimeoutSeconds());
+ assertEquals("true", cacheConfig.getReplicationIsPassivation());
+
+ // @Clustered
+ assertNotNull(bean.getClusterConfig());
+ ClusterConfigMetaData clusterConfig = bean.getClusterConfig();
+ assertEquals("home", clusterConfig.getHomeLoadBalancePolicy());
+ assertEquals("bean", clusterConfig.getBeanLoadBalancePolicy());
+ assertEquals("partition", clusterConfig.getPartitionName());
}
private void assertMyStateless21Bean(IEnterpriseBeanMetaData enterpriseBean)
@@ -755,17 +784,20 @@
expected.setActivationConfigProperties(props);
assertEquals(expected, config);
assertEquals("java:/mdbs/MailMDB", bean.getMappedName());
+ // @ResourceAdapter
+ assertEquals("MDBResourceAdapter", bean.getResourceAdapterName());
}
- private void assertMyServiceBean(IEnterpriseBeanMetaData enterpriseBean)
+ public void assertMyServiceBean(IEnterpriseBeanMetaData enterpriseBean)
{
assertTrue(enterpriseBean instanceof JBossServiceBeanMetaData);
//TODO test the different values. This bean is based on MyStatelessSessionBean
JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) enterpriseBean;
- assertEquals(SessionType.Stateless, bean.getSessionType());
+ assertTrue(bean.isService());
+ assertFalse(bean.isSession());
assertEquals(MyServiceBean.class.getName(), bean.getEjbClass());
- assertEquals("MyServiceBean", bean.getEjbName());
+ assertEquals("MyService", bean.getEjbName());
assertNotNull("bean has no business locals", bean.getBusinessLocals());
assertEquals(1, bean.getBusinessLocals().size());
@@ -797,14 +829,14 @@
assertEquals(1, postConstructs.size());
LifecycleCallbackMetaData postConstruct = postConstructs.get(0);
assertEquals("setUp", postConstruct.getMethodName());
- assertEquals(MyStatelessBean.class.getName(), postConstruct.getClassName());
+ assertEquals(MyServiceBean.class.getName(), postConstruct.getClassName());
// @PreDestroy
LifecycleCallbacksMetaData preDestroys = bean.getPreDestroys();
assertNotNull(preDestroys);
assertEquals(1, preDestroys.size());
LifecycleCallbackMetaData preDestroy = preDestroys.get(0);
assertEquals("tearDown", preDestroy.getMethodName());
- assertEquals(MyStatelessBean.class.getName(), preDestroy.getClassName());
+ assertEquals(MyServiceBean.class.getName(), preDestroy.getClassName());
// @RunAs
SecurityIdentityMetaData identity = bean.getSecurityIdentity();
@@ -818,8 +850,14 @@
assertNotNull(invokes);
assertEquals(1, invokes.size());
AroundInvokeMetaData aroundInvoke = invokes.get(0);
- assertEquals(MyStatelessBean.class.getName(), aroundInvoke.getClassName());
+ assertEquals(MyServiceBean.class.getName(), aroundInvoke.getClassName());
assertEquals("intercept", aroundInvoke.getMethodName());
+
+ // @AspectDomain
+ assertEquals("myAspectDomain", bean.getAopDomainName());
+
+ // @Management
+ assertEquals(MyServiceManagement.class.getName(), bean.getManagement());
}
private void assertInterMediateBean(JBossEnterpriseBeanMetaData interMediateBean)
@@ -839,13 +877,15 @@
private void assertMyConsumer(IEnterpriseBeanMetaData enterpriseBean)
{
+ assertTrue(enterpriseBean instanceof JBossConsumerBeanMetaData);
+ JBossConsumerBeanMetaData bean = (JBossConsumerBeanMetaData) enterpriseBean;
//TODO test the different values. This bean is based on MyMDB
- JBossConsumerBeanMetaData bean = (JBossConsumerBeanMetaData) enterpriseBean;
+ assertNotNull(bean);
assertEquals(MyConsumer.class.getName(), bean.getEjbClass());
assertEquals("MyConsumer", bean.getEjbName());
//assertEquals(false, bean.isJMS());
//assertEquals(IMailListener.class.getName(), bean.getMessagingType());
- //ActivationConfigMetaData config = bean.getActivationConfig();
+ ActivationConfigMetaData config = bean.getActivationConfig();
ActivationConfigMetaData expected = new ActivationConfigMetaData();
ActivationConfigPropertiesMetaData props = new ActivationConfigPropertiesMetaData();
ActivationConfigPropertyMetaData p1 = new ActivationConfigPropertyMetaData();
@@ -857,10 +897,46 @@
p2.setValue("v2");
props.add(p2);
expected.setActivationConfigProperties(props);
- //assertEquals(expected, config);
+ assertEquals(expected, config);
//assertEquals("java:/mdbs/MailMDB", bean.getMappedName());
+
+ // @Producer
+ assertNotNull(bean.getProducers());
+ assertNull(bean.getLocalProducers());
+ assertEquals(1, bean.getProducers().size());
+ ProducerMetaData producer = bean.getProducers().get(0);
+ assertNotNull(producer);
+ assertEquals(MyProducer.class.getName(), producer.getClassName());
}
+
+ public void testEjb3ExtApiAnnotations()
+ {
+ AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
+ Collection<Class<?>> classes = new HashSet<Class<?>>();
+ // Add MyConsumer and MyService
+ classes.add(MyConsumer.class);
+ classes.add(MyServiceBean.class);
+
+ JBoss50Creator creator = new JBoss50Creator(finder);
+
+ JBoss50MetaData metaData = creator.create(classes);
+
+ assertTrue(metaData.isEJB3x());
+ assertEquals("3.0", metaData.getVersion());
+
+ assertNotNull("no beans defined", metaData.getEnterpriseBeans());
+ assertNotNull("no assembly descriptor defined", metaData.getAssemblyDescriptor());
+
+ IEnterpriseBeanMetaData consumer = metaData.getEnterpriseBean("MyConsumer");
+ assertNotNull("consumer is null", consumer);
+ assertMyConsumer(consumer);
+
+ IEnterpriseBeanMetaData service = metaData.getEnterpriseBean("MyService");
+ assertNotNull("service is null", service);
+ assertMyServiceBean(service);
+ }
+
private Collection<Class<?>> loadClassesFromCurrentClassDir()
{
return loadClassesFromRelativeClassDir(".");
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyMDB.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyMDB.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyMDB.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -24,6 +24,8 @@
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
+import org.jboss.ejb3.annotation.ResourceAdapter;
+
/**
* @author Scott.Stark at jboss.org
* @version $Revision$
@@ -38,6 +40,7 @@
mappedName="java:/mdbs/MailMDB",
description="A custom IMailListener MDB"
)
+ at ResourceAdapter(value = "MDBResourceAdapter")
public class MyMDB implements IMailListener
{
public void onMessage(IMailMsg msg)
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyServiceBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyServiceBean.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyServiceBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -33,6 +33,7 @@
import javax.annotation.security.RolesAllowed;
import javax.annotation.security.RunAs;
import javax.ejb.EJB;
+import javax.ejb.Local;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
@@ -45,6 +46,7 @@
import javax.jms.Queue;
import javax.sql.DataSource;
+import org.jboss.ejb3.annotation.AspectDomain;
import org.jboss.ejb3.annotation.Management;
import org.jboss.ejb3.annotation.Service;
@@ -58,7 +60,7 @@
*/
@SuppressWarnings("unused")
@Service(objectName="test:service=mine", name="MyService")
- at Management(Management.class)
+ at Management(MyServiceManagement.class)
@TransactionAttribute(TransactionAttributeType.NEVER)
@Resources({
@Resource(description="url-resource-ref", name="googleHome", type=java.net.URL.class, mappedName="http://www.google.com"),
@@ -68,6 +70,8 @@
@RunAs("InternalUser")
@Interceptors(TestClassInterceptor.class)
@ExcludeDefaultInterceptors
+ at Local(MyStatelessLocal.class)
+ at AspectDomain("myAspectDomain")
public class MyServiceBean implements MyServiceManagement
{
@EJB
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatefulBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatefulBean.java 2008-07-04 14:30:43 UTC (rev 75390)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatefulBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -33,8 +33,12 @@
import javax.ejb.Remove;
import javax.ejb.Stateful;
+import org.jboss.ejb3.annotation.CacheConfig;
+import org.jboss.ejb3.annotation.Clustered;
+import org.jboss.ejb3.annotation.LocalHomeBinding;
import org.jboss.ejb3.annotation.RemoteBinding;
import org.jboss.ejb3.annotation.RemoteBindings;
+import org.jboss.ejb3.annotation.RemoteHomeBinding;
/**
* Comment
@@ -53,6 +57,8 @@
}
)
@RemoteBinding(jndiBinding = "jndiBind3")
+ at LocalHomeBinding(jndiBinding = "localHome")
+ at RemoteHomeBinding(jndiBinding = "remoteHomeBinding")
@EJBs(
value={
@EJB(name="ejb/local1", beanInterface=MyStatelessLocal.class,
@@ -63,6 +69,13 @@
description="A reference to MyLocalSession2")
}
)
+ at CacheConfig(name = "test",
+ idleTimeoutSeconds = 123,
+ maxSize = 234,
+ removalTimeoutSeconds = 345,
+ replicationIsPassivation = true
+ )
+ at Clustered(homeLoadBalancePolicy = "home", loadBalancePolicy = "bean", partition = "partition")
public class MyStatefulBean
{
@PostConstruct
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/JBossExtApiAnnotationTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/JBossExtApiAnnotationTestCase.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/JBossExtApiAnnotationTestCase.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,196 @@
+package org.jboss.test.metadata.annotation.ejb3.ext.api;
+/*
+ * 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.
+ */
+
+import java.lang.reflect.AnnotatedElement;
+import java.util.Collection;
+
+import junit.framework.TestCase;
+
+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.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.CacheConfigMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossConsumerBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.PoolConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ProducerMetaData;
+import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigPropertyMetaData;
+import org.jboss.test.metadata.common.PackageScanner;
+import org.jboss.test.metadata.common.ScanPackage;
+
+/**
+ * Some additional testing for the ejb3 ext api annotations.
+ *
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class JBossExtApiAnnotationTestCase extends TestCase
+{
+
+ @ScanPackage("org.jboss.test.metadata.annotation.ejb3.ext.api")
+ public void testBeans()
+ {
+ AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
+
+ Collection<Class<?>> classes = PackageScanner.loadClasses();
+ JBoss50Creator creator = new JBoss50Creator(finder);
+ JBoss50MetaData metaData = creator.create(classes);
+
+ assertNotNull(metaData);
+ assertMyConsumerBean(metaData.getEnterpriseBean("testConsumer"));
+
+ assertMyServiceBean(metaData.getEnterpriseBean("testService"));
+
+ assertMyStatefulBean(metaData.getEnterpriseBean("testStateful"));
+
+ assertOtherServiceBean(metaData.getEnterpriseBean("otherTestService"));
+
+ assertManagedServiceBean(metaData.getEnterpriseBean("testManagedService"));
+ }
+
+ private void assertMyServiceBean(IEnterpriseBeanMetaData enterpriseBean)
+ {
+ assertNotNull("service may not be null", enterpriseBean);
+ assertTrue(enterpriseBean instanceof JBossServiceBeanMetaData);
+ JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) enterpriseBean;
+ assertEquals("testService", bean.getEjbName());
+
+ //@AspectDomain
+ assertEquals("testServiceAspectDomain", bean.getAopDomainName());
+
+ // @Management
+ assertEquals(TestInterface.class.getName(), bean.getManagement());
+
+ //@RemoteBindings
+ assertNotNull(bean.getRemoteBindings());
+ RemoteBindingMetaData remoteBinding = bean.getRemoteBindings().get(0);
+ assertNotNull(remoteBinding);
+ assertEquals("testServiceJndiRemoteBinding", remoteBinding.getJndiName());
+
+ assertEquals("localHomeBinding", bean.getLocalHomeJndiName());
+ assertEquals("localBinding", bean.getLocalJndiName());
+ assertEquals("remoteHomeBinding", bean.getHomeJndiName());
+
+ // @CacheConfig
+ assertNotNull(bean.getCacheConfig());
+ CacheConfigMetaData cacheConfig = bean.getCacheConfig();
+ assertEquals("test", cacheConfig.getName());
+ assertEquals(Integer.valueOf(123), cacheConfig.getIdleTimeoutSeconds());
+ assertEquals(Integer.valueOf(234), cacheConfig.getMaxSize());
+ assertEquals(Integer.valueOf(345), cacheConfig.getRemoveTimeoutSeconds());
+ assertEquals("true", cacheConfig.getReplicationIsPassivation());
+ }
+
+ private void assertMyConsumerBean(IEnterpriseBeanMetaData enterpriseBean)
+ {
+ assertNotNull("Consumer may not be null", enterpriseBean);
+ assertTrue(enterpriseBean instanceof JBossConsumerBeanMetaData);
+ JBossConsumerBeanMetaData bean = (JBossConsumerBeanMetaData) enterpriseBean;
+ assertEquals("testConsumer", bean.getEjbName());
+
+ // @AspectDomain
+ assertEquals("testConsumerDomain", bean.getAopDomainName());
+
+ ActivationConfigMetaData config = bean.getActivationConfig();
+ ActivationConfigMetaData expected = new ActivationConfigMetaData();
+ ActivationConfigPropertiesMetaData props = new ActivationConfigPropertiesMetaData();
+ ActivationConfigPropertyMetaData p1 = new ActivationConfigPropertyMetaData();
+ p1.setName("p1");
+ p1.setValue("v1");
+ props.add(p1);
+ ActivationConfigPropertyMetaData p2 = new ActivationConfigPropertyMetaData();
+ p2.setName("p2");
+ p2.setValue("v2");
+ props.add(p2);
+ expected.setActivationConfigProperties(props);
+ assertEquals(expected, config);
+
+ assertNotNull(bean.getProducers());
+ assertEquals(2, bean.getProducers().size());
+ ProducerMetaData producer1 = bean.getProducers().get(0);
+ assertEquals(MyProducer.class.getName(), producer1.getClassName());
+ assertEquals("MyProducerConnectionFactory", producer1.getConnectionFactory());
+ ProducerMetaData producer2 = bean.getProducers().get(1);
+ assertEquals(TestInterface.class.getName(), producer2.getClassName());
+
+ // @Pool
+ PoolConfigMetaData poolConfig = bean.getPoolConfig();
+ assertNotNull(poolConfig);
+ assertEquals(Integer.valueOf(2), poolConfig.getMaxSize());
+ assertEquals(Integer.valueOf(1), poolConfig.getTimeout());
+ assertEquals("value", poolConfig.getValue());
+
+ }
+
+ private void assertMyStatefulBean(IEnterpriseBeanMetaData enterpriseBean)
+ {
+ assertNotNull("Statfule may not be null", enterpriseBean);
+ assertTrue(enterpriseBean instanceof JBossSessionBeanMetaData);
+ JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) enterpriseBean;
+ assertEquals("testStateful", bean.getEjbName());
+ assertEquals("testStatefulMappedName", bean.getMappedName());
+
+ // @JndiBindingPolicy
+ assertEquals(MyStatefulBean.TestJndiBindingPolicy.class.getName(), bean.getJndiBindingPolicy());
+
+ // @SerializedConcurrentAccess
+ assertEquals(Boolean.TRUE, bean.isConcurrent());
+
+ //@RemoteBindings
+ assertNotNull(bean.getRemoteBindings());
+ RemoteBindingMetaData remoteBinding = bean.getRemoteBindings().get(0);
+ assertNotNull(remoteBinding);
+ assertEquals("testStatefulJndiRemoteBinding", remoteBinding.getJndiName());
+
+ assertEquals("localHomeBinding", bean.getLocalHomeJndiName());
+ assertEquals("localBinding", bean.getLocalJndiName());
+ assertEquals("remoteHomeBinding", bean.getHomeJndiName());
+ }
+
+ private void assertOtherServiceBean(IEnterpriseBeanMetaData enterpriseBean)
+ {
+ assertNotNull("otherService may not be null", enterpriseBean);
+ assertTrue(enterpriseBean instanceof JBossServiceBeanMetaData);
+ JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) enterpriseBean;
+ assertEquals("otherTestService", bean.getEjbName());
+
+ assertEquals(MyAnnotatedManagementInterface.class.getName(), bean.getManagement());
+ }
+
+ private void assertManagedServiceBean(IEnterpriseBeanMetaData enterpriseBean)
+ {
+ assertNotNull("managedService may not be null", enterpriseBean);
+ assertTrue(enterpriseBean instanceof JBossServiceBeanMetaData);
+ JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) enterpriseBean;
+ assertEquals("testManagedService", bean.getEjbName());
+
+ assertEquals(TestInterface.class.getName(), bean.getManagement());
+ }
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyAnnotatedManagementInterface.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyAnnotatedManagementInterface.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyAnnotatedManagementInterface.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,35 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+import org.jboss.ejb3.annotation.Management;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Management
+public interface MyAnnotatedManagementInterface
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyConsumerBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyConsumerBean.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyConsumerBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,57 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+import javax.ejb.ActivationConfigProperty;
+
+import org.jboss.ejb3.annotation.AspectDomain;
+import org.jboss.ejb3.annotation.Consumer;
+import org.jboss.ejb3.annotation.Pool;
+import org.jboss.ejb3.annotation.Producer;
+import org.jboss.ejb3.annotation.Producers;
+import org.jboss.ejb3.annotation.SecurityDomain;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Consumer(name = "testConsumer",
+ activationConfig = {
+ @ActivationConfigProperty(propertyName="prop1", propertyValue="value1"),
+ @ActivationConfigProperty(propertyName="prop2", propertyValue="value2")
+ }
+)
+ at SecurityDomain(value = "consumerSecurity",
+ unauthenticatedPrincipal = "guest")
+ at AspectDomain("testConsumerDomain")
+ at Pool(maxSize = 2, timeout = 1, value = "value")
+ at Producers(
+ value = {
+ @Producer(producer = MyProducer.class, acknowledgeMode = 1, connectionFactory = "MyProducerConnectionFactory", transacted = true ),
+ @Producer(producer = TestInterface.class)
+ }
+)
+public class MyConsumerBean
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyManagedService.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyManagedService.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyManagedService.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,39 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+import java.io.Serializable;
+
+import org.jboss.ejb3.annotation.Management;
+import org.jboss.ejb3.annotation.Service;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Service(name = "testManagedService")
+ at Management
+public class MyManagedService implements TestInterface, Serializable
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyOtherServiceBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyOtherServiceBean.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyOtherServiceBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,37 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+import java.io.Serializable;
+
+import org.jboss.ejb3.annotation.Service;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Service(name = "otherTestService")
+public class MyOtherServiceBean implements MyAnnotatedManagementInterface, Serializable
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyProducer.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyProducer.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyProducer.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,32 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface MyProducer
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyServiceBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyServiceBean.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyServiceBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,59 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+import org.jboss.ejb3.annotation.AspectDomain;
+import org.jboss.ejb3.annotation.CacheConfig;
+import org.jboss.ejb3.annotation.LocalBinding;
+import org.jboss.ejb3.annotation.LocalHomeBinding;
+import org.jboss.ejb3.annotation.Management;
+import org.jboss.ejb3.annotation.RemoteBinding;
+import org.jboss.ejb3.annotation.RemoteBindings;
+import org.jboss.ejb3.annotation.RemoteHomeBinding;
+import org.jboss.ejb3.annotation.Service;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Service(name = "testService",
+ objectName = "testObjectName",
+ xmbean = "testXMBeanName"
+)
+ at AspectDomain("testServiceAspectDomain")
+ at Management(TestInterface.class)
+ at RemoteBindings(value = { @RemoteBinding(jndiBinding = "testServiceJndiRemoteBinding") })
+ at RemoteHomeBinding(jndiBinding = "remoteHomeBinding")
+ at CacheConfig(name = "test",
+ idleTimeoutSeconds = 123,
+ maxSize = 234,
+ removalTimeoutSeconds = 345,
+ replicationIsPassivation = true
+ )
+ at LocalHomeBinding(jndiBinding = "localHomeBinding")
+ at LocalBinding(jndiBinding = "localBinding")
+
+public class MyServiceBean
+{
+
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,81 @@
+package org.jboss.test.metadata.annotation.ejb3.ext.api;
+/*
+ * 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.
+ */
+
+
+import javax.ejb.Stateful;
+
+import org.jboss.ejb3.annotation.JndiBindingPolicy;
+import org.jboss.ejb3.annotation.LocalBinding;
+import org.jboss.ejb3.annotation.LocalHomeBinding;
+import org.jboss.ejb3.annotation.RemoteBinding;
+import org.jboss.ejb3.annotation.RemoteBindings;
+import org.jboss.ejb3.annotation.RemoteHomeBinding;
+import org.jboss.ejb3.annotation.SerializedConcurrentAccess;
+import org.jboss.ejb3.jndipolicy.DefaultJndiBindingPolicy;
+import org.jboss.ejb3.jndipolicy.Ejb3DeploymentSummary;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+ at Stateful(name = "testStateful",
+ mappedName = "testStatefulMappedName")
+ at JndiBindingPolicy(policy = MyStatefulBean.TestJndiBindingPolicy.class)
+ at RemoteBindings(value = { @RemoteBinding(jndiBinding = "testStatefulJndiRemoteBinding") })
+ at RemoteHomeBinding(jndiBinding = "remoteHomeBinding")
+ at LocalHomeBinding(jndiBinding = "localHomeBinding")
+ at LocalBinding(jndiBinding = "localBinding")
+ at SerializedConcurrentAccess
+public class MyStatefulBean
+{
+
+ public static class TestJndiBindingPolicy implements DefaultJndiBindingPolicy
+ {
+
+ public String getDefaultLocalHomeJndiName(Ejb3DeploymentSummary summary)
+ {
+ return null;
+ }
+
+ public String getDefaultLocalJndiName(Ejb3DeploymentSummary summary)
+ {
+ return null;
+ }
+
+ public String getDefaultRemoteHomeJndiName(Ejb3DeploymentSummary summary)
+ {
+ return null;
+ }
+
+ public String getDefaultRemoteJndiName(Ejb3DeploymentSummary summary)
+ {
+ return null;
+ }
+
+ public String getJndiName(Ejb3DeploymentSummary summary)
+ {
+ return null;
+ }
+ }
+}
+
Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/TestInterface.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/TestInterface.java (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/TestInterface.java 2008-07-04 14:31:45 UTC (rev 75391)
@@ -0,0 +1,32 @@
+/*
+ * 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.metadata.annotation.ejb3.ext.api;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface TestInterface
+{
+
+}
+
More information about the jboss-cvs-commits
mailing list