[jboss-cvs] JBossAS SVN: r66347 - in projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb: spec and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 23 02:07:16 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-23 02:07:16 -0400 (Tue, 23 Oct 2007)
New Revision: 66347
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.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/JBossEnvironmentRefsGroupMetaData.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/JBossMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java
Log:
Update merge implementations
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -46,4 +46,16 @@
{
super("container-name for container configuration");
}
+
+ /**
+ * Simply merges all ContainerConfigurationMetaData from extra
+ * into this as ContainerConfigurationMetaData does not merge.
+ * @param extra - a collection of ContainerConfigurationMetaData
+ */
+ public void merge(ContainerConfigurationsMetaData extra)
+ {
+ if(extra == null)
+ return;
+ this.addAll(extra);
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -46,4 +46,16 @@
{
super("invoker-proxy-binding-name for invoker-proxy-binding");
}
+
+ /**
+ * Simply merges all InvokerProxyBindingMetaData from extra
+ * into this as InvokerProxyBindingMetaData does not merge.
+ * @param extra - a collection of InvokerProxyBindingMetaData
+ */
+ public void merge(InvokerProxyBindingsMetaData extra)
+ {
+ if(extra == null)
+ return;
+ this.addAll(extra);
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -332,25 +332,39 @@
}
return x;
}
- public void merge(JBossAssemblyDescriptorMetaData merged, IAssemblyDescriptorMetaData assembly)
+
+ /**
+ * Merge the contents of override with original into this.
+ *
+ * @param override data which overrides original
+ * @param original the original data
+ */
+ public void merge(JBossAssemblyDescriptorMetaData override, IAssemblyDescriptorMetaData assembly)
{
AssemblyDescriptorMetaData original = (AssemblyDescriptorMetaData) assembly;
- super.merge(merged, original);
- if(messageDestinations != null)
+ super.merge(override, original);
+ MessageDestinationsMetaData mergedMD = new MessageDestinationsMetaData();
+ setMessageDestinations(mergedMD);
+ if(override != null && override.messageDestinations != null)
{
- MessageDestinationsMetaData mergedMD = new MessageDestinationsMetaData();
- messageDestinations.merge(mergedMD, original.getMessageDestinations());
- merged.setMessageDestinations(mergedMD);
+ if(original != null)
+ mergedMD.merge(messageDestinations, original.getMessageDestinations());
+ else
+ mergedMD.merge(messageDestinations, null);
}
- else if(original.getMessageDestinations() != null)
- merged.setMessageDestinations(original.getMessageDestinations());
- if(this.securityRoles != null)
+ else if(original != null && original.getMessageDestinations() != null)
+ mergedMD.merge(null, original.getMessageDestinations());
+
+ SecurityRolesMetaData mergedSR = new SecurityRolesMetaData();
+ setSecurityRoles(mergedSR);
+ if(override != null)
{
- SecurityRolesMetaData mergedSR = new SecurityRolesMetaData();
- securityRoles.merge(mergedSR, original.getSecurityRoles());
- merged.setSecurityRoles(mergedSR);
+ if(original != null)
+ mergedSR.merge(override.getSecurityRoles(), original.getSecurityRoles());
+ else
+ mergedSR.merge(override.getSecurityRoles(), null);
}
- else if(original.getSecurityRoles() != null)
- merged.setSecurityRoles(original.getSecurityRoles());
+ else if(original != null && original.getSecurityRoles() != null)
+ mergedSR.merge(null, original.getSecurityRoles());
}
}
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 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -33,7 +33,6 @@
import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
import org.jboss.metadata.ejb.spec.ContainerTransactionMetaData;
import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
-import org.jboss.metadata.ejb.spec.EjbJarMetaData;
import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.EntityBeanMetaData;
import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
@@ -50,7 +49,6 @@
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.DescriptionGroupMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -75,7 +73,6 @@
import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
-import org.jboss.metadata.javaee.support.NamedMetaData;
import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroupWithOverride;
import org.jboss.metadata.javaee.support.NonNullLinkedHashSet;
import org.jboss.xb.annotations.JBossXmlConstants;
@@ -142,9 +139,6 @@
/** The environment */
private JBossEnvironmentRefsGroupMetaData jndiEnvironmentRefsGroup;
- /** The merged environment */
- private transient JBossEnvironmentRefsGroupMetaData mergedEnvironment;
-
/** The method attributes */
private MethodAttributesMetaData methodAttributes;
@@ -849,27 +843,6 @@
*/
protected abstract String getDefaultInvokerName();
- /**
- * Get the mergedEnvironment.
- *
- * @return the mergedEnvironment.
- */
- @XmlTransient
- public JBossEnvironmentRefsGroupMetaData getMergedEnvironment()
- {
- if (mergedEnvironment != null)
- return mergedEnvironment;
-
- try
- {
- }
- catch (Exception e)
- {
- throw new RuntimeException("Error merging jndi environment for " + getEjbName(), e);
- }
- return mergedEnvironment;
- }
-
public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
{
return AbstractMappedMetaData.getByName(name, getEjbLocalReferences());
@@ -877,7 +850,7 @@
public EJBLocalReferencesMetaData getEjbLocalReferences()
{
- return getMergedEnvironment().getEjbLocalReferences();
+ return jndiEnvironmentRefsGroup.getEjbLocalReferences();
}
public EJBReferenceMetaData getEjbReferenceByName(String name)
@@ -887,12 +860,12 @@
public EJBReferencesMetaData getEjbReferences()
{
- return getMergedEnvironment().getEjbReferences();
+ return jndiEnvironmentRefsGroup.getEjbReferences();
}
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
- return getMergedEnvironment().getEnvironmentEntries();
+ return jndiEnvironmentRefsGroup.getEnvironmentEntries();
}
public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
@@ -907,7 +880,7 @@
public MessageDestinationReferencesMetaData getMessageDestinationReferences()
{
- return getMergedEnvironment().getMessageDestinationReferences();
+ return jndiEnvironmentRefsGroup.getMessageDestinationReferences();
}
public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
@@ -917,7 +890,7 @@
public PersistenceContextReferencesMetaData getPersistenceContextRefs()
{
- return getMergedEnvironment().getPersistenceContextRefs();
+ return jndiEnvironmentRefsGroup.getPersistenceContextRefs();
}
public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
@@ -927,17 +900,17 @@
public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
{
- return getMergedEnvironment().getPersistenceUnitRefs();
+ return jndiEnvironmentRefsGroup.getPersistenceUnitRefs();
}
public LifecycleCallbacksMetaData getPostConstructs()
{
- return getMergedEnvironment().getPostConstructs();
+ return jndiEnvironmentRefsGroup.getPostConstructs();
}
public LifecycleCallbacksMetaData getPreDestroys()
{
- return getMergedEnvironment().getPreDestroys();
+ return jndiEnvironmentRefsGroup.getPreDestroys();
}
public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
@@ -947,7 +920,7 @@
public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
{
- return getMergedEnvironment().getResourceEnvironmentReferences();
+ return jndiEnvironmentRefsGroup.getResourceEnvironmentReferences();
}
public ResourceReferenceMetaData getResourceReferenceByName(String name)
@@ -957,7 +930,7 @@
public ResourceReferencesMetaData getResourceReferences()
{
- return getMergedEnvironment().getResourceReferences();
+ return jndiEnvironmentRefsGroup.getResourceReferences();
}
public ServiceReferenceMetaData getServiceReferenceByName(String name)
@@ -967,7 +940,7 @@
public ServiceReferencesMetaData getServiceReferences()
{
- return getMergedEnvironment().getServiceReferences();
+ return jndiEnvironmentRefsGroup.getServiceReferences();
}
/**
@@ -986,7 +959,7 @@
else
return jndiEnvironmentRefsGroup.getSecurityIdentity();
}
- return getMergedEnvironment().getSecurityIdentity();
+ return jndiEnvironmentRefsGroup.getSecurityIdentity();
}
/**
@@ -1368,40 +1341,51 @@
public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
{
- JBossEnterpriseBeanMetaData merged = this;
if(override != null && override.getEjbClass() != null)
- merged.setEjbClass(override.getEjbClass());
+ setEjbClass(override.getEjbClass());
else if(original.getEjbClass() != null)
- merged.setEjbClass(original.getEjbClass());
+ setEjbClass(original.getEjbClass());
if(override != null && override.getName() != null)
- merged.setName(override.getName());
+ setName(override.getName());
else if(original.getName() != null)
- merged.setName(original.getName());
+ setName(original.getName());
if(override != null)
{
- merged.setAopDomainName(override.aopDomainName);
- merged.setConfigurationName(override.configurationName);
- merged.setAnnotations(override.annotations);
- merged.setDepends(override.depends);
- merged.setExceptionOnRollback(override.exceptionOnRollback);
- merged.setIgnoreDependency(override.ignoreDependency);
- merged.setInvokerBindings(override.invokers);
- merged.setIorSecurityConfig(override.iorSecurityConfig);
- merged.setSecurityProxy(override.securityProxy);
+ if(override.aopDomainName != null)
+ setAopDomainName(override.aopDomainName);
+ if(override.configurationName != null)
+ setConfigurationName(override.configurationName);
+ if(override.annotations != null)
+ setAnnotations(override.annotations);
+ if(override.depends != null)
+ setDepends(override.depends);
+ setExceptionOnRollback(override.exceptionOnRollback);
+ if(override.ignoreDependency != null)
+ setIgnoreDependency(override.ignoreDependency);
+ if(override.invokers != null)
+ setInvokerBindings(override.invokers);
+ if(override.iorSecurityConfig != null)
+ setIorSecurityConfig(override.iorSecurityConfig);
+ if(override.securityProxy != null)
+ setSecurityProxy(override.securityProxy);
}
- merged.setOverridenMetaData(original);
+ // TODO: remove
+ setOverridenMetaData(original);
- merged.setJndiEnvironmentRefsGroup(new JBossEnvironmentRefsGroupMetaData());
+ if(this.jndiEnvironmentRefsGroup == null)
+ jndiEnvironmentRefsGroup = new JBossEnvironmentRefsGroupMetaData();
EnvironmentRefsGroupMetaData env = original != null ? original.getJndiEnvironmentRefsGroup() : null;
JBossEnvironmentRefsGroupMetaData jenv = null;
- ResourceManagersMetaData resourceMgrs = null;
+ ResourceManagersMetaData resourceMgrs = getJBossMetaData().getResourceManagers();
if( override != null )
{
- resourceMgrs = override.getJBossMetaData().getResourceManagers();
+ ResourceManagersMetaData resourceMgrsOverride = override.getJBossMetaData().getResourceManagers();
+ if(resourceMgrsOverride != null)
+ resourceMgrs = resourceMgrsOverride;
jenv = override.jndiEnvironmentRefsGroup;
}
- merged.jndiEnvironmentRefsGroup.merge(jenv, env, resourceMgrs);
+ jndiEnvironmentRefsGroup.merge(jenv, env, resourceMgrs);
// Fixup the invoker binding references on ejb refs
InvokerBindingsMetaData invokerBindings = getInvokerBindings();
@@ -1412,7 +1396,7 @@
String ejbRefName = invokerBinding.getEjbRefName();
if (ejbRefName != null)
{
- EJBReferenceMetaData ejbRef = mergedEnvironment.getEjbReferenceByName(ejbRefName);
+ EJBReferenceMetaData ejbRef = jndiEnvironmentRefsGroup.getEjbReferenceByName(ejbRefName);
if (ejbRef == null)
throw new IllegalStateException("ejb-ref " + ejbRefName + " found on invoker " + invokerBinding.getName() + " but it does not exist for ejb: " + getName());
ejbRef.addInvokerBinding(invokerBinding.getName(), invokerBinding.getJndiName());
@@ -1422,19 +1406,14 @@
// Fixup the security identity
SecurityIdentityMetaData jbossSecurityIdentity = null;
- if (jndiEnvironmentRefsGroup != null)
- jbossSecurityIdentity = jndiEnvironmentRefsGroup.getSecurityIdentity();
+ if (override != null && override.jndiEnvironmentRefsGroup != null)
+ jbossSecurityIdentity = override.jndiEnvironmentRefsGroup.getSecurityIdentity();
SecurityIdentityMetaData originalSecurityIdentity = null;
if(original != null)
originalSecurityIdentity = original.getSecurityIdentity();
- SecurityIdentityMetaData mergedSecurityIdentity = jbossSecurityIdentity;
- if (jbossSecurityIdentity == null)
- mergedSecurityIdentity = originalSecurityIdentity;
- else if (originalSecurityIdentity != null)
- mergedSecurityIdentity = jbossSecurityIdentity.merge(originalSecurityIdentity);
- if (mergedSecurityIdentity != null)
- mergedEnvironment.setSecurityIdentity(mergedSecurityIdentity);
-
+ SecurityIdentityMetaData mergedSecurityIdentity = new SecurityIdentityMetaData();
+ mergedSecurityIdentity.merge(jbossSecurityIdentity, originalSecurityIdentity);
+ setSecurityIdentity(mergedSecurityIdentity);
// TODO, all fields
}
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 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -119,16 +119,25 @@
*/
public void merge(JBossEnterpriseBeansMetaData override, IEnterpriseBeansMetaData<EnterpriseBeanMetaData> original)
{
+ // Add all override beans
if(original == null && override != null)
addAll(override);
+ // Merge original beans with this
else if(original != null)
{
for(EnterpriseBeanMetaData ejb : original)
{
+ JBossEnterpriseBeanMetaData mergedEJB = null;
+ // First look for an override JBossEnterpriseBeanMetaData
JBossEnterpriseBeanMetaData jejb = null;
if( override != null )
jejb = override.get(ejb.getEjbName());
- JBossEnterpriseBeanMetaData mergedEJB = JBossEnterpriseBeanMetaData.newBean(ejb);
+ // Then to an existing one in this
+ else
+ mergedEJB = get(ejb.getEjbName());
+ if(mergedEJB == null)
+ mergedEJB = JBossEnterpriseBeanMetaData.newBean(ejb);
+ mergedEJB.setEnterpriseBeansMetaData(this);
mergedEJB.merge(jejb, ejb);
this.add(mergedEJB);
}
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 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -180,8 +180,6 @@
EnvironmentRefsGroupMetaData environmentRefsGroup,
ResourceManagersMetaData resourceMgrs)
{
- JBossEnvironmentRefsGroupMetaData merged = this;
-
if (jbossEnvironmentRefsGroup == null && environmentRefsGroup == null)
return;
@@ -224,17 +222,26 @@
jbossResEnvRefs = jbossEnvironmentRefsGroup.getResourceEnvironmentReferences();
jbossMessageDestinationRefs = jbossEnvironmentRefsGroup.getMessageDestinationReferences();
}
+ else
+ {
+ // Use the merge target for the static merge methods
+ jbossEjbRefs = this.getEjbReferences();
+ jbossEjbLocalRefs = this.getEjbLocalReferences();
+ jbossResRefs = this.getResourceReferences();
+ jbossResEnvRefs = this.getResourceEnvironmentReferences();
+ jbossMessageDestinationRefs = this.getMessageDestinationReferences();
+ }
EJBReferencesMetaData mergedEjbRefs = EJBReferencesMetaData.merge(jbossEjbRefs, ejbRefs, "ejb-jar.xml", "jboss.xml");
if (mergedEjbRefs != null)
- merged.setEjbReferences(mergedEjbRefs);
+ this.setEjbReferences(mergedEjbRefs);
EJBLocalReferencesMetaData mergedEjbLocalRefs = EJBLocalReferencesMetaData.merge(jbossEjbLocalRefs, ejbLocalRefs, "ejb-jar.xml", "jboss.xml");
if (mergedEjbLocalRefs != null)
- merged.setEjbLocalReferences(mergedEjbLocalRefs);
+ this.setEjbLocalReferences(mergedEjbLocalRefs);
// Need to set the jndi name from resource mgr if referenced
- if(jbossResRefs != null && resourceMgrs != null)
+ if(resourceMgrs != null && jbossResRefs != null)
{
for(ResourceReferenceMetaData ref : jbossResRefs)
{
@@ -250,30 +257,30 @@
}
ResourceReferencesMetaData mergedResRefs = ResourceReferencesMetaData.merge(jbossResRefs, resRefs, "ejb-jar.xml", "jboss.xml");
if (mergedResRefs != null)
- merged.setResourceReferences(mergedResRefs);
+ this.setResourceReferences(mergedResRefs);
ResourceEnvironmentReferencesMetaData mergedResEnvRefs = ResourceEnvironmentReferencesMetaData.merge(jbossResEnvRefs, resEnvRefs, "ejb-jar.xml", "jboss.xml");
if (mergedResEnvRefs != null)
- merged.setResourceEnvironmentReferences(mergedResEnvRefs);
+ this.setResourceEnvironmentReferences(mergedResEnvRefs);
MessageDestinationReferencesMetaData mergedMessageDestinationRefs = MessageDestinationReferencesMetaData.merge(jbossMessageDestinationRefs, messageDestinationRefs, "ejb-jar.xml", "jboss.xml");
if (mergedMessageDestinationRefs != null)
- merged.setMessageDestinationReferences(mergedMessageDestinationRefs);
+ this.setMessageDestinationReferences(mergedMessageDestinationRefs);
if (envEntries != null)
- merged.setEnvironmentEntries(envEntries);
+ this.setEnvironmentEntries(envEntries);
if (persistenceContextRefs != null)
- merged.setPersistenceContextRefs(persistenceContextRefs);
+ this.setPersistenceContextRefs(persistenceContextRefs);
if (persistenceUnitRefs != null)
- merged.setPersistenceUnitRefs(persistenceUnitRefs);
+ this.setPersistenceUnitRefs(persistenceUnitRefs);
if (postConstructs != null)
- merged.setPostConstructs(postConstructs);
+ this.setPostConstructs(postConstructs);
if (preDestroys != null)
- merged.setPreDestroys(preDestroys);
+ this.setPreDestroys(preDestroys);
}
/**
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 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -21,10 +21,15 @@
*/
package org.jboss.metadata.ejb.jboss;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
+import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.ejb.spec.SubscriptionDurability;
+import org.jboss.metadata.ejb.spec.TransactionType;
+
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
@@ -41,6 +46,36 @@
/** The serialVersionUID */
private static final long serialVersionUID = -4006016148034278681L;
+ /** The messaging type */
+ private String messagingType;
+
+ /** The timeout method */
+ private NamedMethodMetaData timeoutMethod;
+
+ /** The transaction type */
+ private TransactionType transactionType;
+
+ /** The message destination type */
+ private String messageDestinationType;
+
+ /** The message destination link */
+ private String messageDestinationLink;
+
+ /** The activation config */
+ private ActivationConfigMetaData activationConfig = new ActivationConfigMetaData();
+
+ /** The around invokes */
+ private AroundInvokesMetaData aroundInvokes;
+
+ /** The message selector */
+ private String messageSelector;
+
+ /** The acknowledge mode */
+ private String acknowledgeMode;
+
+ /** The subscription durability */
+ private SubscriptionDurability subscriptionDurability = SubscriptionDurability.NonDurable;
+
/** The destination jndi name */
private String destinationJndiName;
@@ -91,7 +126,120 @@
return true;
}
+ /**
+ * Get the messagingType.
+ *
+ * @return the messagingType.
+ */
+ public String getMessagingType()
+ {
+ return messagingType;
+ }
+
+ /**
+ * Is this JMS
+ *
+ * @return true for jms
+ */
+ public boolean isJMS()
+ {
+ String messagingType = getMessagingType();
+ return messagingType == null || "javax.jms.MessageListener".equals(messagingType);
+ }
+
+ /**
+ * Get the timeoutMethod.
+ *
+ * @return the timeoutMethod.
+ */
+ public NamedMethodMetaData getTimeoutMethod()
+ {
+ return timeoutMethod;
+ }
+
+
@Override
+ public TransactionType getTransactionType()
+ {
+ return transactionType;
+ }
+
+
+ /**
+ * Get the messageDestinationType.
+ *
+ * @return the messageDestinationType.
+ */
+ public String getMessageDestinationType()
+ {
+ return messageDestinationType;
+ }
+
+
+ /**
+ * Get the aroundInvokes.
+ *
+ * @return the aroundInvokes.
+ */
+ public AroundInvokesMetaData getAroundInvokes()
+ {
+ return aroundInvokes;
+ }
+
+
+ /**
+ * Get the messageDestinationLink.
+ *
+ * @return the messageDestinationLink.
+ */
+ public String getMessageDestinationLink()
+ {
+ return messageDestinationLink;
+ }
+
+
+ /**
+ * Get the activationConfig.
+ *
+ * @return the activationConfig.
+ */
+ public ActivationConfigMetaData getActivationConfig()
+ {
+ return activationConfig;
+ }
+
+
+ /**
+ * Get the messageSelector.
+ *
+ * @return the messageSelector.
+ */
+ public String getMessageSelector()
+ {
+ return messageSelector;
+ }
+
+ /**
+ * Get the acknowledgeMode.
+ *
+ * @return the acknowledgeMode.
+ */
+ public String getAcknowledgeMode()
+ {
+ return acknowledgeMode;
+ }
+
+ /**
+ * Get the subscriptionDurability.
+ *
+ * @return the subscriptionDurability.
+ */
+ public SubscriptionDurability getSubscriptionDurability()
+ {
+ return subscriptionDurability;
+ }
+
+ @Override
public String getDefaultConfigurationName()
{
boolean isJMS = true;
@@ -295,5 +443,89 @@
throw new IllegalArgumentException("Null ejbTimeoutIdentity");
this.ejbTimeoutIdentity = ejbTimeoutIdentity;
}
+
+ @Override
+ public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
+ {
+ super.merge(override, original);
+ JBossMessageDrivenBeanMetaData joverride = (JBossMessageDrivenBeanMetaData) override;
+ MessageDrivenBeanMetaData soriginal = (MessageDrivenBeanMetaData) original;
+ // messagingType
+ if(joverride != null && joverride.messagingType != null)
+ messagingType = joverride.messagingType;
+ else if(soriginal != null && soriginal.getMessagingType() != null)
+ messagingType = soriginal.getMessagingType();
+ // timeoutMethod
+ if(joverride != null && joverride.timeoutMethod != null)
+ timeoutMethod = joverride.timeoutMethod;
+ else if(soriginal != null && soriginal.getTimeoutMethod() != null)
+ timeoutMethod = soriginal.getTimeoutMethod();
+ // transactionType
+ if(joverride != null && joverride.transactionType != null)
+ transactionType = joverride.transactionType;
+ else if(soriginal != null && soriginal.getTransactionType() != null)
+ transactionType = soriginal.getTransactionType();
+ // messageDestinationType
+ if(joverride != null && joverride.messageDestinationType != null)
+ messageDestinationType = joverride.messageDestinationType;
+ else if(soriginal != null && soriginal.getMessageDestinationType() != null)
+ messageDestinationType = soriginal.getMessageDestinationType();
+ // messageDestinationLink
+ if(joverride != null && joverride.messageDestinationLink != null)
+ messageDestinationLink = joverride.messageDestinationLink;
+ else if(soriginal != null && soriginal.getMessageDestinationLink() != null)
+ messageDestinationLink = soriginal.getMessageDestinationLink();
+ // activationConfig
+ if(joverride != null && joverride.activationConfig != null)
+ activationConfig = joverride.activationConfig;
+ else if(soriginal != null && soriginal.getActivationConfig() != null)
+ activationConfig = soriginal.getActivationConfig();
+ // aroundInvokes
+ if(joverride != null && joverride.aroundInvokes != null)
+ aroundInvokes = joverride.aroundInvokes;
+ else if(soriginal != null && soriginal.getAroundInvokes() != null)
+ aroundInvokes = soriginal.getAroundInvokes();
+ // messageSelector
+ if(joverride != null && joverride.messageSelector != null)
+ messageSelector = joverride.messageSelector;
+ else if(soriginal != null && soriginal.getMessageSelector() != null)
+ messageSelector = soriginal.getMessageSelector();
+ // messageSelector
+ if(joverride != null && joverride.acknowledgeMode != null)
+ acknowledgeMode = joverride.acknowledgeMode;
+ else if(soriginal != null && soriginal.getAcknowledgeMode() != null)
+ acknowledgeMode = soriginal.getAcknowledgeMode();
+ // messageSelector
+ if(joverride != null && joverride.subscriptionDurability != null)
+ subscriptionDurability = joverride.subscriptionDurability;
+ else if(soriginal != null && soriginal.getSubscriptionDurability() != null)
+ subscriptionDurability = soriginal.getSubscriptionDurability();
+ // destinationJndiName
+ if(joverride != null && joverride.destinationJndiName != null)
+ destinationJndiName = joverride.destinationJndiName;
+ else if(soriginal != null && soriginal.getMappedName() != null)
+ destinationJndiName = soriginal.getMappedName();
+ // mdbUser
+ if(joverride != null && joverride.mdbUser != null)
+ mdbUser = joverride.mdbUser;
+ // mdbPassword
+ if(joverride != null && joverride.mdbPassword != null)
+ mdbPassword = joverride.mdbPassword;
+ // mdbClientId
+ if(joverride != null && joverride.mdbClientId != null)
+ mdbClientId = joverride.mdbClientId;
+ // mdbSubscriptionId
+ if(joverride != null && joverride.mdbSubscriptionId != null)
+ mdbSubscriptionId = joverride.mdbSubscriptionId;
+ // resourceAdapterName
+ if(joverride != null && joverride.resourceAdapterName != null)
+ resourceAdapterName = joverride.resourceAdapterName;
+ // ejbTimeoutIdentity
+ if(joverride != null && joverride.ejbTimeoutIdentity != null)
+ ejbTimeoutIdentity = joverride.ejbTimeoutIdentity;
+ // defaultActivationConfig
+ if(joverride != null && joverride.defaultActivationConfig != null)
+ defaultActivationConfig = joverride.defaultActivationConfig;
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -570,17 +570,52 @@
public void merge(JBossMetaData override, EjbJarMetaData original)
{
super.merge(override, original);
- setAssemblyDescriptor(new JBossAssemblyDescriptorMetaData());
+ if(this.assemblyDescriptor == null)
+ assemblyDescriptor = new JBossAssemblyDescriptorMetaData();
+ if(this.resourceManagers == null)
+ resourceManagers = new ResourceManagersMetaData();
+ if(this.containerConfigurations == null)
+ containerConfigurations = new ContainerConfigurationsMetaData();
+ if(override.containerConfigurations != null)
+ containerConfigurations.merge(override.containerConfigurations);
+ if(this.invokerProxyBindings != null)
+ invokerProxyBindings = new InvokerProxyBindingsMetaData();
+ if(override.invokerProxyBindings != null)
+ invokerProxyBindings.merge(override.invokerProxyBindings);
+ if(this.webservices == null)
+ webservices = new WebservicesMetaData();
+
if(override != null && override.assemblyDescriptor != null)
{
assemblyDescriptor.merge(override.assemblyDescriptor, original.getAssemblyDescriptor());
}
else if(original != null && original.getAssemblyDescriptor() != null)
{
- assemblyDescriptor.merge(null, original);
+ assemblyDescriptor.merge(null, original.getAssemblyDescriptor());
}
+ //
+ if(override != null && override.resourceManagers != null)
+ resourceManagers.merge(override.resourceManagers);
- setEnterpriseBeans(new JBossEnterpriseBeansMetaData());
+ if(override != null)
+ {
+ if(override.jaccContextID != null)
+ jaccContextID = override.jaccContextID;
+ if(override.jmxName != null)
+ jmxName = override.jmxName;
+ if(override.loaderRepository != null)
+ loaderRepository = override.loaderRepository;
+ if(override.securityDomain != null)
+ securityDomain = override.securityDomain;
+ if(override.unauthenticatedPrincipal != null)
+ unauthenticatedPrincipal = override.unauthenticatedPrincipal;
+ }
+
+ if(this.enterpriseBeans == null)
+ {
+ enterpriseBeans = new JBossEnterpriseBeansMetaData();
+ enterpriseBeans.setJBossMetaData(this);
+ }
JBossEnterpriseBeansMetaData jbeans = null;
if(override != null)
jbeans = override.enterpriseBeans;
@@ -588,6 +623,7 @@
if(original != null)
beans = original.getEnterpriseBeans();
enterpriseBeans.merge(jbeans, beans);
+
}
/**
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -21,26 +21,10 @@
*/
package org.jboss.metadata.ejb.jboss;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
-import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
-import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
-import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
-import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
-import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
-import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
/**
* Read only wrapper that combines a primary and standardjboss.xml defaults into
@@ -55,8 +39,6 @@
private JBossMetaData primary;
private JBossMetaData defaults;
private ContainerConfigurationsMetaData configurationsWrapper;
- /** The merged enterprise beans */
- private transient JBossEnterpriseBeansMetaData mergedEnterpriseBeans;
private transient InvokerProxyBindingsMetaData mergedInvokerBindings;
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -46,4 +46,15 @@
{
super("res-name for resource manager");
}
+
+ public void merge(ResourceManagersMetaData override)
+ {
+ if(override != null)
+ {
+ for(ResourceManagerMetaData res : override)
+ {
+ this.add(res);
+ }
+ }
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java 2007-10-23 00:56:01 UTC (rev 66346)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java 2007-10-23 06:07:16 UTC (rev 66347)
@@ -25,7 +25,6 @@
import org.jboss.metadata.javaee.spec.RunAsMetaData;
import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
import org.jboss.metadata.javaee.support.MergeableMetaData;
-import org.jboss.xb.annotations.JBossXmlNsPrefix;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -34,6 +33,7 @@
* SecurityIdentityMetaData.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
@XmlType(name="security-identityType")
@@ -147,16 +147,24 @@
}
/**
- * Merge
- *
- * @param merged the data to merge into
- * @param original the original data
+ * Merge override + original into this
+ * @param override
+ * @param original
*/
- public void merge(SecurityIdentityMetaData merged, SecurityIdentityMetaData original)
+ public void merge(SecurityIdentityMetaData override, SecurityIdentityMetaData original)
{
- super.merge(merged, original);
- merged.setUseCallerIdentity(original.getUseCallerIdentity());
- merged.setRunAs(original.getRunAs());
- merged.setRunAsPrincipal(getRunAsPrincipal());
+ super.merge(override, original);
+ if(override != null && override.getUseCallerIdentity() != null)
+ setUseCallerIdentity(override.getUseCallerIdentity());
+ else if(original != null && original.getUseCallerIdentity() != null)
+ setUseCallerIdentity(original.getUseCallerIdentity());
+ if(override != null && override.getRunAs() != null)
+ setRunAs(override.getRunAs());
+ else if(override != null && original.getRunAs() != null)
+ setRunAs(original.getRunAs());
+ if(override != null && override.getRunAsPrincipal() != null)
+ setRunAsPrincipal(getRunAsPrincipal());
+ else if(original != null && original.getRunAsPrincipal() != null)
+ setRunAsPrincipal(original.getRunAsPrincipal());
}
}
More information about the jboss-cvs-commits
mailing list