[jboss-cvs] JBossAS SVN: r74527 - projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 13 06:47:01 EDT 2008
Author: alex.loubyansky at jboss.com
Date: 2008-06-13 06:47:01 -0400 (Fri, 13 Jun 2008)
New Revision: 74527
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
Log:
JBMETA-45
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -155,7 +155,7 @@
List<LocalProducerMetaData> originalLocalProducers = null;
List<MessagePropertiesMetaData> originalMsgProps = null;
MethodAttributesMetaData originalMsg = null;
- JBossConsumerBeanMetaData original = (JBossConsumerBeanMetaData) originalEjb;
+ JBossConsumerBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossConsumerBeanMetaData) originalEjb;
if(original != null)
{
if(original.destination != null)
@@ -173,7 +173,7 @@
List<LocalProducerMetaData> overrideLocalProducers = null;
List<MessagePropertiesMetaData> overrideMsgProps = null;
MethodAttributesMetaData overrideMsg = null;
- JBossConsumerBeanMetaData override = (JBossConsumerBeanMetaData) overrideEjb;
+ JBossConsumerBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossConsumerBeanMetaData) overrideEjb;
if(override != null)
{
if(override.destination != null)
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -211,6 +211,21 @@
}
/**
+ * @return returns a new instance of the same type
+ */
+ public JBossEnterpriseBeanMetaData newBean()
+ {
+ try
+ {
+ return getClass().newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Failed to create a new instance of " + getClass(), e);
+ }
+ }
+
+ /**
* Create a new EnterpriseBeanMetaData.
*/
public JBossEnterpriseBeanMetaData()
@@ -489,6 +504,12 @@
return false;
}
+ @XmlTransient
+ public boolean isGeneric()
+ {
+ return false;
+ }
+
/**
* Is this container managed transactions
*
@@ -1925,8 +1946,17 @@
securityIdentity = new SecurityIdentityMetaData();
securityIdentity.merge(overrideSecId, originalSecId);
}
+
+ if(original instanceof JBossGenericBeanMetaData)
+ merge((JBossGenericBeanMetaData)original);
+ if(override instanceof JBossGenericBeanMetaData)
+ merge((JBossGenericBeanMetaData)override);
}
+ protected void merge(JBossGenericBeanMetaData generic)
+ {
+ }
+
public void checkValid()
{
}
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-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -265,12 +265,12 @@
if(annBean != null)
{
JBossEnterpriseBeanMetaData mbean;
- if(bean.isSession())
- mbean = new JBossSessionBeanMetaData();
- else if(bean.isEntity())
- mbean = new JBossEntityBeanMetaData();
+ if(!bean.isGeneric())
+ mbean = bean.newBean();
+ else if(!annBean.isGeneric())
+ mbean = annBean.newBean();
else
- mbean = new JBossMessageDrivenBeanMetaData();
+ throw new IllegalStateException("Attempt to merge to generic beans.");
mbean.merge(bean, annBean);
add(mbean);
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -847,7 +847,7 @@
SecurityRoleRefsMetaData originalRoles = null;
ClusterConfigMetaData originalCluster = null;
CacheInvalidationConfigMetaData originalCacheInv = null;
- JBossEntityBeanMetaData original = (JBossEntityBeanMetaData) originalEjb;
+ JBossEntityBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossEntityBeanMetaData) originalEjb;
if(original != null)
{
if(original.abstractSchemaName != null)
@@ -895,7 +895,7 @@
SecurityRoleRefsMetaData overrideRoles = null;
ClusterConfigMetaData overrideCluster = null;
CacheInvalidationConfigMetaData overrideCacheInv = null;
- JBossEntityBeanMetaData override = (JBossEntityBeanMetaData) overrideEjb;
+ JBossEntityBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossEntityBeanMetaData) overrideEjb;
if(override != null)
{
if(override.abstractSchemaName != null)
@@ -967,4 +967,14 @@
cacheInvalidationConfig.merge(overrideCacheInv, originalCacheInv);
}
}
+
+ @Override
+ protected void merge(JBossGenericBeanMetaData generic)
+ {
+ if(generic != null)
+ {
+ if(generic.getJndiName() != null)
+ this.jndiName = generic.getJndiName();
+ }
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -213,7 +213,7 @@
public void merge(JBossEnvironmentRefsGroupMetaData override, JBossEnvironmentRefsGroupMetaData original)
{
- super.merge(override, original, "jboss.xml", null, true);
+ super.merge(override, original, "deployment descriptors", "annotations", false);
EJBLocalReferencesMetaData originalLocalRefs = null;
PersistenceContextReferencesMetaData originalPctxRefs = null;
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -23,7 +23,6 @@
import javax.xml.bind.annotation.XmlType;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
import org.jboss.metadata.javaee.spec.PortComponent;
/**
@@ -97,4 +96,10 @@
{
this.portComponent = portComponent;
}
+
+ @Override
+ public boolean isGeneric()
+ {
+ return true;
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -660,8 +660,8 @@
{
super.merge(overrideEjb, originalEjb);
- JBossMessageDrivenBeanMetaData override = (JBossMessageDrivenBeanMetaData) overrideEjb;
- JBossMessageDrivenBeanMetaData original = (JBossMessageDrivenBeanMetaData) originalEjb;
+ JBossMessageDrivenBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) overrideEjb;
+ JBossMessageDrivenBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) originalEjb;
ActivationConfigMetaData originalAConfig = null;
AroundInvokesMetaData originalAInvokes = null;
@@ -758,4 +758,14 @@
ejbTimeoutIdentity.merge(overrideEjbTimeoutIdentity, originalEjbTimeoutIdentity);
}
}
+
+ @Override
+ protected void merge(JBossGenericBeanMetaData generic)
+ {
+ if(generic != null)
+ {
+ if(generic.getJndiName() != null)
+ this.destinationJndiName = generic.getJndiName();
+ }
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java 2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -105,8 +105,8 @@
public void merge(JBossEnterpriseBeanMetaData overrideEjb, JBossEnterpriseBeanMetaData originalEjb)
{
super.merge(overrideEjb, originalEjb);
- JBossServiceBeanMetaData override = (JBossServiceBeanMetaData) overrideEjb;
- JBossServiceBeanMetaData original = (JBossServiceBeanMetaData) originalEjb;
+ JBossServiceBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossServiceBeanMetaData) overrideEjb;
+ JBossServiceBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossServiceBeanMetaData) originalEjb;
if(original != 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-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java 2008-06-13 10:47:01 UTC (rev 74527)
@@ -928,13 +928,13 @@
}
@Override
- public void merge(JBossEnterpriseBeanMetaData override,
- JBossEnterpriseBeanMetaData original)
+ public void merge(JBossEnterpriseBeanMetaData override, JBossEnterpriseBeanMetaData original)
{
super.merge(override, original);
- JBossSessionBeanMetaData joverride = (JBossSessionBeanMetaData) override;
- JBossSessionBeanMetaData soriginal = (JBossSessionBeanMetaData) original;
+ JBossSessionBeanMetaData joverride = override instanceof JBossGenericBeanMetaData ? null : (JBossSessionBeanMetaData) override;
+ JBossSessionBeanMetaData soriginal = original instanceof JBossGenericBeanMetaData ? null : (JBossSessionBeanMetaData) original;
+
// home
if(joverride != null && joverride.getHome() != null)
home = joverride.getHome();
@@ -1073,6 +1073,18 @@
}
@Override
+ protected void merge(JBossGenericBeanMetaData generic)
+ {
+ if(generic != null)
+ {
+ if(generic.getPortComponent() != null)
+ this.portComponent = generic.getPortComponent();
+ if(generic.getJndiName() != null)
+ this.jndiName = generic.getJndiName();
+ }
+ }
+
+ @Override
public void checkValid()
{
if(getEnterpriseBeansMetaData() != null && getEjbJarMetaData() != null)
More information about the jboss-cvs-commits
mailing list