[jboss-cvs] JBossAS SVN: r68866 - 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 Jan 11 02:51:58 EST 2008


Author: scott.stark at jboss.org
Date: 2008-01-11 02:51:58 -0500 (Fri, 11 Jan 2008)
New Revision: 68866

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulBean.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulIF.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessBean.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessIF.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3_testMergeGenericMetaData.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java
Log:
JBAS-5124, promote a generic bean to a session bean during merging

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2008-01-11 07:34:58 UTC (rev 68865)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -133,6 +133,15 @@
                jejb = override.get(ejb.getEjbName());
             // Then to an existing one in this
             mergedEJB = get(ejb.getEjbName());
+            // Check for a generic bean that maps to a session bean
+            if(jejb instanceof JBossGenericBeanMetaData)
+            {
+               JBossGenericBeanMetaData gejb = (JBossGenericBeanMetaData) jejb;
+               // Create a JBossSessionBeanMetaData as the merged output
+               mergedEJB = new JBossSessionBeanMetaData();
+               // Promote the generic bean to a session bean
+               jejb = new JBossSessionGenericWrapper(gejb);
+            }
             if(mergedEJB == null)
             {
                if(jejb != null)

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2008-01-11 07:34:58 UTC (rev 68865)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -820,101 +820,101 @@
       SessionBeanMetaData soriginal = (SessionBeanMetaData) original;
 
       // home
-      if(joverride != null && joverride.home != null)
-         home = joverride.home;
+      if(joverride != null && joverride.getHome() != null)
+         home = joverride.getHome();
       else if(soriginal != null && soriginal.getHome() != null)
          home = soriginal.getHome();
       // remote
-      if(joverride != null && joverride.remote != null)
-         remote = joverride.remote;
+      if(joverride != null && joverride.getRemote() != null)
+         remote = joverride.getRemote();
       else if(soriginal != null && soriginal.getRemote() != null)
          remote = soriginal.getRemote();
       // localHome
-      if(joverride != null && joverride.localHome != null)
-         localHome = joverride.localHome;
+      if(joverride != null && joverride.getLocalHome() != null)
+         localHome = joverride.getLocalHome();
       else if(soriginal != null && soriginal.getLocalHome() != null)
          localHome = soriginal.getLocalHome();
       // local
-      if(joverride != null && joverride.local != null)
-         local = joverride.local;
+      if(joverride != null && joverride.getLocal() != null)
+         local = joverride.getLocal();
       else if(soriginal != null && soriginal.getLocal() != null)
          local = soriginal.getLocal();
       // businessLocals
-      if(joverride != null && joverride.businessLocals != null)
-         businessLocals = joverride.businessLocals;
+      if(joverride != null && joverride.getBusinessLocals() != null)
+         businessLocals = joverride.getBusinessLocals();
       else if(soriginal != null && soriginal.getBusinessLocals() != null)
          businessLocals = soriginal.getBusinessLocals();
       // businessRemotes
-      if(joverride != null && joverride.businessRemotes != null)
-         businessRemotes = joverride.businessRemotes;
+      if(joverride != null && joverride.getBusinessRemotes() != null)
+         businessRemotes = joverride.getBusinessRemotes();
       else if(soriginal != null && soriginal.getBusinessRemotes() != null)
          businessRemotes = soriginal.getBusinessRemotes();
       // serviceEndpoint
-      if(joverride != null && joverride.serviceEndpoint != null)
-         serviceEndpoint = joverride.serviceEndpoint;
+      if(joverride != null && joverride.getServiceEndpoint() != null)
+         serviceEndpoint = joverride.getServiceEndpoint();
       else if(soriginal != null && soriginal.getServiceEndpoint() != null)
          serviceEndpoint = soriginal.getServiceEndpoint();
       // sessionType
-      if(joverride != null && joverride.sessionType != null)
-         sessionType = joverride.sessionType;
+      if(joverride != null && joverride.getSessionType() != null)
+         sessionType = joverride.getSessionType();
       else if(soriginal != null && soriginal.getSessionType() != null)
          sessionType = soriginal.getSessionType();
       // timeoutMethod
-      if(joverride != null && joverride.timeoutMethod != null)
-         timeoutMethod = joverride.timeoutMethod;
+      if(joverride != null && joverride.getTimeoutMethod() != null)
+         timeoutMethod = joverride.getTimeoutMethod();
       else if(soriginal != null && soriginal.getTimeoutMethod() != null)
          timeoutMethod = soriginal.getTimeoutMethod();
       // initMethods
-      if(joverride != null && joverride.initMethods != null)
-         initMethods = joverride.initMethods;
+      if(joverride != null && joverride.getInitMethods() != null)
+         initMethods = joverride.getInitMethods();
       else if(soriginal != null && soriginal.getInitMethods() != null)
          initMethods = soriginal.getInitMethods();
       // removeMethods
-      if(joverride != null && joverride.removeMethods != null)
-         removeMethods = joverride.removeMethods;
+      if(joverride != null && joverride.getRemoveMethods() != null)
+         removeMethods = joverride.getRemoveMethods();
       else if(soriginal != null && soriginal.getRemoveMethods() != null)
          removeMethods = soriginal.getRemoveMethods();
       // aroundInvokes
-      if(joverride != null && joverride.aroundInvokes != null)
-         aroundInvokes = joverride.aroundInvokes;
+      if(joverride != null && joverride.getAroundInvokes() != null)
+         aroundInvokes = joverride.getAroundInvokes();
       else if(soriginal != null && soriginal.getAroundInvokes() != null)
          aroundInvokes = soriginal.getAroundInvokes();
       // postActivates
-      if(joverride != null && joverride.postActivates != null)
-         postActivates = joverride.postActivates;
+      if(joverride != null && joverride.getPostActivates() != null)
+         postActivates = joverride.getPostActivates();
       else if(soriginal != null && soriginal.getPostActivates() != null)
          postActivates = soriginal.getPostActivates();
       // prePassivates
-      if(joverride != null && joverride.prePassivates != null)
-         prePassivates = joverride.prePassivates;
+      if(joverride != null && joverride.getPrePassivates() != null)
+         prePassivates = joverride.getPrePassivates();
       else if(soriginal != null && soriginal.getPrePassivates() != null)
          prePassivates = soriginal.getPrePassivates();
       // securityRoleRefs
-      if(joverride != null && joverride.securityRoleRefs != null)
-         securityRoleRefs = joverride.securityRoleRefs;
+      if(joverride != null && joverride.getSecurityRoleRefs() != null)
+         securityRoleRefs = joverride.getSecurityRoleRefs();
       else if(soriginal != null && soriginal.getSecurityRoleRefs() != null)
          securityRoleRefs = soriginal.getSecurityRoleRefs();
 
       // jndiName
-      if(joverride != null && joverride.jndiName != null)
-         jndiName = joverride.jndiName;
+      if(joverride != null && joverride.getJndiName() != null)
+         jndiName = joverride.getJndiName();
       // callByValue
       if(joverride != null)
-         callByValue = joverride.callByValue;
+         callByValue = joverride.isCallByValue();
       // clustered
       if(joverride != null)
-         clustered = joverride.clustered;
+         clustered = joverride.isClustered();
       // remoteBindings
-      if(joverride != null && joverride.remoteBindings != null)
-         remoteBindings = joverride.remoteBindings;
+      if(joverride != null && joverride.getRemoteBindings() != null)
+         remoteBindings = joverride.getRemoteBindings();
       // clusterConfig
-      if(joverride != null && joverride.clusterConfig != null)
-         clusterConfig = joverride.clusterConfig;
+      if(joverride != null && joverride.getClusterConfig() != null)
+         clusterConfig = joverride.getClusterConfig();
       // portComponent
-      if(joverride != null && joverride.portComponent != null)
-         portComponent = joverride.portComponent;
+      if(joverride != null && joverride.getPortComponent() != null)
+         portComponent = joverride.getPortComponent();
       // ejbTimeoutIdentity
-      if(joverride != null && joverride.ejbTimeoutIdentity != null)
-         ejbTimeoutIdentity = joverride.ejbTimeoutIdentity;
+      if(joverride != null && joverride.getEjbTimeoutIdentity() != null)
+         ejbTimeoutIdentity = joverride.getEjbTimeoutIdentity();
    }
 }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,420 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * 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.jboss;
+
+import java.lang.reflect.Method;
+import java.util.Set;
+
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagementType;
+
+import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
+import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
+import org.jboss.metadata.ejb.spec.MethodInterfaceType;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
+import org.jboss.metadata.javaee.jboss.IgnoreDependencyMetaData;
+import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
+import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PortComponent;
+import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
+
+/**
+ * Create a JBossSessionBeanMetaData from a JBossGenericBeanMetaData for
+ * use in merging a JBossGenericBeanMetaData into a JBossSessionBeanMetaData,
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+class JBossSessionGenericWrapper extends JBossSessionBeanMetaData
+{
+   private static final long serialVersionUID = 1;
+   private JBossGenericBeanMetaData delegate;
+   JBossSessionGenericWrapper(JBossGenericBeanMetaData delegate)
+   {
+      this.delegate = delegate;
+   }
+   public Set<String> determineAllDepends()
+   {
+      return delegate.determineAllDepends();
+   }
+   public String determineConfigurationName()
+   {
+      return delegate.determineConfigurationName();
+   }
+   public ContainerConfigurationMetaData determineContainerConfiguration()
+   {
+      return delegate.determineContainerConfiguration();
+   }
+   public InvokerBindingMetaData determineInvokerBinding(String invokerName)
+   {
+      return delegate.determineInvokerBinding(invokerName);
+   }
+   public InvokerBindingsMetaData determineInvokerBindings()
+   {
+      return delegate.determineInvokerBindings();
+   }
+   public String determineLocalJndiName()
+   {
+      return delegate.determineLocalJndiName();
+   }
+   public boolean equals(Object obj)
+   {
+      return delegate.equals(obj);
+   }
+   public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
+   {
+      return delegate.getAnnotatedEjbReferences();
+   }
+   public AnnotationsMetaData getAnnotations()
+   {
+      return delegate.getAnnotations();
+   }
+   public String getAopDomainName()
+   {
+      return delegate.getAopDomainName();
+   }
+   public String getConfigurationName()
+   {
+      return delegate.getConfigurationName();
+   }
+   public String getContainerObjectNameJndiName()
+   {
+      return delegate.getContainerObjectNameJndiName();
+   }
+   public ContainerTransactionsMetaData getContainerTransactions()
+   {
+      return delegate.getContainerTransactions();
+   }
+   public String getDefaultConfigurationName()
+   {
+      return delegate.getDefaultConfigurationName();
+   }
+   public Set<String> getDepends()
+   {
+      return delegate.getDepends();
+   }
+   public DescriptionGroupMetaData getDescriptionGroup()
+   {
+      return delegate.getDescriptionGroup();
+   }
+   public String getEjbClass()
+   {
+      return delegate.getEjbClass();
+   }
+   public JBossMetaData getEjbJarMetaData()
+   {
+      return delegate.getEjbJarMetaData();
+   }
+   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
+   {
+      return delegate.getEjbLocalReferenceByName(name);
+   }
+   public EJBLocalReferencesMetaData getEjbLocalReferences()
+   {
+      return delegate.getEjbLocalReferences();
+   }
+   public String getEjbName()
+   {
+      return delegate.getEjbName();
+   }
+   public EJBReferenceMetaData getEjbReferenceByName(String name)
+   {
+      return delegate.getEjbReferenceByName(name);
+   }
+   public EJBReferencesMetaData getEjbReferences()
+   {
+      return delegate.getEjbReferences();
+   }
+   public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
+   {
+      return delegate.getEnterpriseBeansMetaData();
+   }
+   public EnvironmentEntriesMetaData getEnvironmentEntries()
+   {
+      return delegate.getEnvironmentEntries();
+   }
+   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
+   {
+      return delegate.getEnvironmentEntryByName(name);
+   }
+   public ExcludeListMetaData getExcludeList()
+   {
+      return delegate.getExcludeList();
+   }
+   public String getId()
+   {
+      return delegate.getId();
+   }
+   public IgnoreDependencyMetaData getIgnoreDependency()
+   {
+      return delegate.getIgnoreDependency();
+   }
+   public InvokerBindingsMetaData getInvokerBindings()
+   {
+      return delegate.getInvokerBindings();
+   }
+   public IORSecurityConfigMetaData getIorSecurityConfig()
+   {
+      return delegate.getIorSecurityConfig();
+   }
+   public JBossMetaData getJBossMetaData()
+   {
+      return delegate.getJBossMetaData();
+   }
+   public JBossMetaData getJBossMetaDataWithCheck()
+   {
+      return delegate.getJBossMetaDataWithCheck();
+   }
+   public Environment getJndiEnvironmentRefsGroup()
+   {
+      return delegate.getJndiEnvironmentRefsGroup();
+   }
+   public String getJndiName()
+   {
+      return delegate.getJndiName();
+   }
+   public JndiRefsMetaData getJndiRefs()
+   {
+      return delegate.getJndiRefs();
+   }
+   public String getKey()
+   {
+      return delegate.getKey();
+   }
+   public String getLocalJndiName()
+   {
+      return delegate.getLocalJndiName();
+   }
+   public String getMappedName()
+   {
+      return delegate.getMappedName();
+   }
+   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(
+         String name)
+   {
+      return delegate.getMessageDestinationReferenceByName(name);
+   }
+   public MessageDestinationReferencesMetaData getMessageDestinationReferences()
+   {
+      return delegate.getMessageDestinationReferences();
+   }
+   public MethodAttributesMetaData getMethodAttributes()
+   {
+      return delegate.getMethodAttributes();
+   }
+   public MethodPermissionsMetaData getMethodPermissions()
+   {
+      return delegate.getMethodPermissions();
+   }
+   public Set<String> getMethodPermissions(String methodName,
+         Class<?>[] params, MethodInterfaceType interfaceType)
+   {
+      return delegate.getMethodPermissions(methodName, params, interfaceType);
+   }
+   public int getMethodTransactionTimeout(Method method)
+   {
+      return delegate.getMethodTransactionTimeout(method);
+   }
+   public int getMethodTransactionTimeout(String methodName)
+   {
+      return delegate.getMethodTransactionTimeout(methodName);
+   }
+   public TransactionAttributeType getMethodTransactionType(Method m,
+         MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(m, iface);
+   }
+   public TransactionAttributeType getMethodTransactionType(String methodName,
+         Class<?>[] params, MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(methodName, params, iface);
+   }
+   public String getName()
+   {
+      return delegate.getName();
+   }
+   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(
+         String name)
+   {
+      return delegate.getPersistenceContextReferenceByName(name);
+   }
+   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
+   {
+      return delegate.getPersistenceContextRefs();
+   }
+   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(
+         String name)
+   {
+      return delegate.getPersistenceUnitReferenceByName(name);
+   }
+   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
+   {
+      return delegate.getPersistenceUnitRefs();
+   }
+   public PoolConfigMetaData getPoolConfig()
+   {
+      return delegate.getPoolConfig();
+   }
+   public PortComponent getPortComponent()
+   {
+      return delegate.getPortComponent();
+   }
+   public LifecycleCallbacksMetaData getPostConstructs()
+   {
+      return delegate.getPostConstructs();
+   }
+   public LifecycleCallbacksMetaData getPreDestroys()
+   {
+      return delegate.getPreDestroys();
+   }
+   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(
+         String name)
+   {
+      return delegate.getResourceEnvironmentReferenceByName(name);
+   }
+   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
+   {
+      return delegate.getResourceEnvironmentReferences();
+   }
+   public ResourceReferenceMetaData getResourceReferenceByName(String name)
+   {
+      return delegate.getResourceReferenceByName(name);
+   }
+   public ResourceReferencesMetaData getResourceReferences()
+   {
+      return delegate.getResourceReferences();
+   }
+   public String getSecurityDomain()
+   {
+      return delegate.getSecurityDomain();
+   }
+   public SecurityIdentityMetaData getSecurityIdentity()
+   {
+      return delegate.getSecurityIdentity();
+   }
+   public String getSecurityProxy()
+   {
+      return delegate.getSecurityProxy();
+   }
+   public SecurityRoleMetaData getSecurityRole(String roleName)
+   {
+      return delegate.getSecurityRole(roleName);
+   }
+   public Set<String> getSecurityRolePrincipals(String roleName)
+   {
+      return delegate.getSecurityRolePrincipals(roleName);
+   }
+   public SecurityRoleRefsMetaData getSecurityRoleRefs()
+   {
+      return delegate.getSecurityRoleRefs();
+   }
+   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   {
+      return delegate.getServiceReferenceByName(name);
+   }
+   public ServiceReferencesMetaData getServiceReferences()
+   {
+      return delegate.getServiceReferences();
+   }
+   public TransactionManagementType getTransactionType()
+   {
+      return delegate.getTransactionType();
+   }
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+   public boolean hasMethodPermissions(String methodName, Class<?>[] params,
+         MethodInterfaceType interfaceType)
+   {
+      return delegate.hasMethodPermissions(methodName, params, interfaceType);
+   }
+   public boolean isBMT()
+   {
+      return delegate.isBMT();
+   }
+   public boolean isCMT()
+   {
+      return delegate.isCMT();
+   }
+   public boolean isConsumer()
+   {
+      return delegate.isConsumer();
+   }
+   public boolean isEntity()
+   {
+      return delegate.isEntity();
+   }
+   public boolean isExceptionOnRollback()
+   {
+      return delegate.isExceptionOnRollback();
+   }
+   public boolean isMessageDriven()
+   {
+      return delegate.isMessageDriven();
+   }
+   public boolean isMethodReadOnly(Method method)
+   {
+      return delegate.isMethodReadOnly(method);
+   }
+   public boolean isMethodReadOnly(String methodName)
+   {
+      return delegate.isMethodReadOnly(methodName);
+   }
+   public boolean isService()
+   {
+      return delegate.isService();
+   }
+   public boolean isSession()
+   {
+      return delegate.isSession();
+   }
+   public boolean isTimerPersistence()
+   {
+      return delegate.isTimerPersistence();
+   }
+
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2008-01-11 07:34:58 UTC (rev 68865)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -41,6 +41,8 @@
 import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigPropertyMetaData;
@@ -647,4 +649,31 @@
       assertEquals(1, bean.getBusinessLocals().size());
       assertTrue(bean.getBusinessLocals().contains(DefaultInterface.class.getName()));
    }
-}
\ No newline at end of file
+
+   @ScanPackage("org.jboss.test.metadata.annotation.ejb3.jbas5124")
+   public void testMergeGenericMetaData()
+      throws Exception
+   {
+      AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
+      
+      Collection<Class<?>> classes = PackageScanner.loadClasses();
+      System.out.println("Processing classes: "+classes);
+      
+      EjbJar30Creator creator = new EjbJar30Creator(finder);
+      
+      EjbJar30MetaData specMetaData = creator.create(classes);
+
+      JBossMetaData mergedMetaData = new JBossMetaData();
+      JBossMetaData metaData = unmarshal(JBossMetaData.class);
+      mergedMetaData.merge(metaData, specMetaData);
+
+      JBossSessionBeanMetaData ssbean = (JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("StatelessBean");
+      assertNotNull(ssbean);
+      assertEquals("StatelessBean-jndi-name", ssbean.getJndiName());
+      assertTrue(ssbean.isStateless());
+      JBossSessionBeanMetaData sfbean = (JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("StatefulBean");
+      assertNotNull(sfbean);
+      assertEquals("StatefulBean-jndi-name", sfbean.getJndiName());
+      assertTrue(sfbean.isStateful());
+   }
+}

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulBean.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulBean.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * 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.test.metadata.annotation.ejb3.jbas5124;
+
+import java.util.Properties;
+
+import javax.ejb.Remote;
+import javax.ejb.Stateful;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at Stateful(name="StatefulBean", mappedName="refs/StatefulBean")
+ at Remote({StatefulIF.class})
+public class StatefulBean implements StatefulIF
+{
+   public void init(Properties prop) throws Exception
+   {
+   }
+   public void test1() throws Exception
+   {
+      
+   }
+   public void test2() throws Exception
+   {
+      
+   }
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulBean.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulIF.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulIF.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulIF.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * 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.test.metadata.annotation.ejb3.jbas5124;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface StatefulIF
+{
+
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatefulIF.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessBean.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessBean.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * 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.test.metadata.annotation.ejb3.jbas5124;
+
+import java.util.Properties;
+
+import javax.ejb.Remote;
+import javax.ejb.Stateless;
+import javax.ejb.TransactionManagement;
+import javax.ejb.TransactionManagementType;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at Stateless(name="StatelessBean", mappedName="refs/StatelessBean")
+ at Remote({StatelessIF.class})
+ at TransactionManagement(TransactionManagementType.CONTAINER)
+public class StatelessBean implements StatelessIF
+{
+   public void init(Properties prop) throws Exception
+   {
+   }
+   public void test1() throws Exception
+   {
+      
+   }
+   public void test2() throws Exception
+   {
+      
+   }
+}
+


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessBean.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessIF.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessIF.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessIF.java	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * 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.test.metadata.annotation.ejb3.jbas5124;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface StatelessIF
+{
+   public void test1() throws Exception;
+   public void test2() throws Exception;
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/jbas5124/StatelessIF.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3_testMergeGenericMetaData.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3_testMergeGenericMetaData.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3_testMergeGenericMetaData.xml	2008-01-11 07:51:58 UTC (rev 68866)
@@ -0,0 +1,16 @@
+<jboss xmlns="http://www.jboss.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
+    version="3.0">
+    <unauthenticated-principal>guest</unauthenticated-principal>
+    <enterprise-beans>
+        <ejb>
+            <ejb-name>StatefulBean</ejb-name>
+            <jndi-name>StatefulBean-jndi-name</jndi-name>
+        </ejb>
+        <ejb>
+            <ejb-name>StatelessBean</ejb-name>
+            <jndi-name>StatelessBean-jndi-name</jndi-name>
+        </ejb>
+    </enterprise-beans>
+</jboss>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3_testMergeGenericMetaData.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native




More information about the jboss-cvs-commits mailing list