[jboss-cvs] JBossAS SVN: r66377 - in projects/metadata/trunk/src/main/java/org/jboss/metadata: ejb/jboss and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 24 04:55:40 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-24 04:55:40 -0400 (Wed, 24 Oct 2007)
New Revision: 66377
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
Log:
Fix the assembly descriptor merge
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java 2007-10-24 08:32:48 UTC (rev 66376)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/AssemblyDescriptorMetaData.java 2007-10-24 08:55:40 UTC (rev 66377)
@@ -42,7 +42,7 @@
* @version $Revision: 40750 $
*/
@Deprecated
-public class AssemblyDescriptorMetaData extends OldMetaDataWithOverride<JBossAssemblyDescriptorMetaData, org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData>
+public class AssemblyDescriptorMetaData extends OldMetaData<JBossAssemblyDescriptorMetaData>
{
/**
* Create a new AssemblyDescriptorMetaData.
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-24 08:32:48 UTC (rev 66376)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java 2007-10-24 08:55:40 UTC (rev 66377)
@@ -37,7 +37,6 @@
import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
import org.jboss.metadata.javaee.support.IdMetaDataImpl;
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithOverride;
import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -49,7 +48,7 @@
* @version $Revision: 1.1 $
*/
@XmlType(name="jboss-assembly-descriptorType")
-public class JBossAssemblyDescriptorMetaData extends IdMetaDataImplWithOverride<AssemblyDescriptorMetaData>
+public class JBossAssemblyDescriptorMetaData extends IdMetaDataImpl
implements org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData
{
/** The serialVersionUID */
@@ -58,8 +57,23 @@
/** The security roles */
private SecurityRolesMetaData securityRoles;
+ /** The method permissions */
+ private MethodPermissionsMetaData methodPermissions;
+
+ /** The container transactions */
+ private ContainerTransactionsMetaData containerTransactions;
+
+ /** The interceptor bindings */
+ private InterceptorBindingsMetaData interceptorBindings;
+
/** The message destinations */
private MessageDestinationsMetaData messageDestinations;
+
+ /** The exclude list */
+ private ExcludeListMetaData excludeList;
+
+ /** The application exceptions */
+ private ApplicationExceptionsMetaData applicationExceptions;
/**
* Create a new JBossAssemblyDescriptorMetaData
@@ -69,128 +83,222 @@
// For serialization
}
-
- public ApplicationExceptionsMetaData getApplicationExceptions()
+ public SecurityRoleMetaData getSecurityRole(String roleName)
{
- return ensureOverride().getApplicationExceptions();
+ return securityRoles.get(roleName);
}
-
-
- public ContainerTransactionsMetaData getContainerTransactions()
+ /**
+ * Get the securityRoles.
+ *
+ * @return the securityRoles.
+ */
+ public SecurityRolesMetaData getSecurityRoles()
{
- return ensureOverride().getContainerTransactions();
+ return securityRoles;
}
-
- public ContainerTransactionsMetaData getContainerTransactionsByEjbName(String ejbName)
+ /**
+ * Set the securityRoles.
+ *
+ * @param securityRoles the securityRoles.
+ * @throws IllegalArgumentException for a null securityRoles
+ */
+ @XmlElement(name="security-role")
+ public void setSecurityRoles(SecurityRolesMetaData securityRoles)
{
- return ensureOverride().getContainerTransactionsByEjbName(ejbName);
+ if (securityRoles == null)
+ throw new IllegalArgumentException("Null securityRoles");
+ this.securityRoles = securityRoles;
}
-
- public ExcludeListMetaData getExcludeList()
+ /**
+ * Get the methodPermissions.
+ *
+ * @return the methodPermissions.
+ */
+ public MethodPermissionsMetaData getMethodPermissions()
{
- return ensureOverride().getExcludeList();
+ return methodPermissions;
}
-
- public ExcludeListMetaData getExcludeListByEjbName(String ejbName)
+ /**
+ * Set the methodPermissions.
+ *
+ * @param methodPermissions the methodPermissions.
+ * @throws IllegalArgumentException for a null methodPermissions
+ */
+ @XmlElement(name="method-permission")
+ public void setMethodPermissions(MethodPermissionsMetaData methodPermissions)
{
- return ensureOverride().getExcludeListByEjbName(ejbName);
+ if (methodPermissions == null)
+ throw new IllegalArgumentException("Null methodPermissions");
+ this.methodPermissions = methodPermissions;
}
+ /**
+ * Get the methods permissions for an ejb
+ *
+ * @param ejbName the ejb name
+ * @return the method permissions or null for no result
+ * @throws IllegalArgumentException for a null ejb name
+ */
+ public MethodPermissionsMetaData getMethodPermissionsByEjbName(String ejbName)
+ {
+ if (ejbName == null)
+ throw new IllegalArgumentException("Null ejbName");
- public InterceptorBindingMetaData getInterceptorBindingByEjbName(String ejbName)
- {
- return ensureOverride().getInterceptorBindingByEjbName(ejbName);
+ if (methodPermissions == null)
+ return null;
+ return methodPermissions.getMethodPermissionsByEjbName(ejbName);
}
-
- public InterceptorBindingsMetaData getInterceptorBindings()
+ /**
+ * Get the containerTransactions.
+ *
+ * @return the containerTransactions.
+ */
+ public ContainerTransactionsMetaData getContainerTransactions()
{
- return ensureOverride().getInterceptorBindings();
+ return containerTransactions;
}
-
- public MethodPermissionsMetaData getMethodPermissions()
+ /**
+ * Set the containerTransactions.
+ *
+ * @param containerTransactions the containerTransactions.
+ * @throws IllegalArgumentException for a null containerTransactions
+ */
+ @XmlElement(name="container-transaction")
+ public void setContainerTransactions(ContainerTransactionsMetaData containerTransactions)
{
- return ensureOverride().getMethodPermissions();
+ if (containerTransactions == null)
+ throw new IllegalArgumentException("Null containerTransactions");
+ this.containerTransactions = containerTransactions;
}
+ /**
+ * Get the container transactions for an ejb
+ *
+ * @param ejbName the ejb name
+ * @return the container transactions or null for no result
+ * @throws IllegalArgumentException for a null ejb name
+ */
+ public ContainerTransactionsMetaData getContainerTransactionsByEjbName(String ejbName)
+ {
+ if (ejbName == null)
+ throw new IllegalArgumentException("Null ejbName");
- public MethodPermissionsMetaData getMethodPermissionsByEjbName(String ejbName)
- {
- return ensureOverride().getMethodPermissionsByEjbName(ejbName);
+ if (containerTransactions == null)
+ return null;
+ return containerTransactions.getContainerTransactionsByEjbName(ejbName);
}
-
- public void setApplicationExceptions(ApplicationExceptionsMetaData applicationExceptions)
+ /**
+ * Get the interceptorBindings.
+ *
+ * @return the interceptorBindings.
+ */
+ public InterceptorBindingsMetaData getInterceptorBindings()
{
- ensureOverride().setApplicationExceptions(applicationExceptions);
+ return interceptorBindings;
}
-
- public void setContainerTransactions(ContainerTransactionsMetaData containerTransactions)
+ /**
+ * Set the interceptorBindings.
+ *
+ * @param interceptorBindings the interceptorBindings.
+ * @throws IllegalArgumentException for a null interceptorBindings
+ */
+ @XmlElement(name="interceptor-binding", required=false)
+ public void setInterceptorBindings(InterceptorBindingsMetaData interceptorBindings)
{
- ensureOverride().setContainerTransactions(containerTransactions);
+ if (interceptorBindings == null)
+ throw new IllegalArgumentException("Null interceptorBindings");
+ this.interceptorBindings = interceptorBindings;
}
+ /**
+ * Get the interceptor binding for an ejb
+ *
+ * @param ejbName the ejb name
+ * @return the interceptor binding or null for no result
+ * @throws IllegalArgumentException for a null ejb name
+ */
+ public InterceptorBindingMetaData getInterceptorBindingByEjbName(String ejbName)
+ {
+ if (ejbName == null)
+ throw new IllegalArgumentException("Null ejbName");
- public void setExcludeList(ExcludeListMetaData excludeList)
- {
- ensureOverride().setExcludeList(excludeList);
+ if (interceptorBindings == null)
+ return null;
+ return interceptorBindings.get(ejbName);
}
-
- public void setInterceptorBindings(InterceptorBindingsMetaData interceptorBindings)
+ /**
+ * Get the excludeList.
+ *
+ * @return the excludeList.
+ */
+ public ExcludeListMetaData getExcludeList()
{
- ensureOverride().setInterceptorBindings(interceptorBindings);
+ return excludeList;
}
-
- public void setMethodPermissions(MethodPermissionsMetaData methodPermissions)
+ /**
+ * Set the excludeList.
+ *
+ * @param excludeList the excludeList.
+ * @throws IllegalArgumentException for a null excludeList
+ */
+ public void setExcludeList(ExcludeListMetaData excludeList)
{
- ensureOverride().setMethodPermissions(methodPermissions);
+ if (excludeList == null)
+ throw new IllegalArgumentException("Null excludeList");
+ this.excludeList = excludeList;
}
-
/**
- * Get the securityRoles.
+ * Get the exclude list for an ejb
*
- * @return the securityRoles.
+ * @param ejbName the ejb name
+ * @return the exclude list or null for no result
+ * @throws IllegalArgumentException for a null ejb name
*/
- public SecurityRolesMetaData getSecurityRoles()
+ public ExcludeListMetaData getExcludeListByEjbName(String ejbName)
{
- return securityRoles;
+ if (ejbName == null)
+ throw new IllegalArgumentException("Null ejbName");
+
+ if (excludeList == null)
+ return null;
+ return excludeList.getExcludeListByEjbName(ejbName);
}
/**
- * Set the securityRoles.
+ * Get the applicationExceptions.
*
- * @param securityRoles the securityRoles.
- * @throws IllegalArgumentException for a null securityRoles
+ * @return the applicationExceptions.
*/
- @XmlElement(name="security-role")
- public void setSecurityRoles(SecurityRolesMetaData securityRoles)
+ public ApplicationExceptionsMetaData getApplicationExceptions()
{
- if (securityRoles == null)
- throw new IllegalArgumentException("Null securityRoles");
- this.securityRoles = securityRoles;
+ return applicationExceptions;
}
/**
- * Get a security role
+ * Set the applicationExceptions.
*
- * @param name the role name
- * @return the security role or null if not found
+ * @param applicationExceptions the applicationExceptions.
+ * @throws IllegalArgumentException for a null applicationExceptions
*/
- public SecurityRoleMetaData getSecurityRole(String name)
+ @XmlElement(name="application-exception", required=false)
+ public void setApplicationExceptions(ApplicationExceptionsMetaData applicationExceptions)
{
- if (securityRoles == null)
- return null;
- return securityRoles.get(name);
+ if (applicationExceptions == null)
+ throw new IllegalArgumentException("Null applicationExceptions");
+ this.applicationExceptions = applicationExceptions;
}
+
/**
* Get a security role's principals
*
@@ -276,24 +384,46 @@
return messageDestinations.get(name);
}
- @Override
- public void merge(IdMetaDataImpl override, IdMetaDataImpl original)
+ public void merge(JBossAssemblyDescriptorMetaData override, AssemblyDescriptorMetaData original)
{
super.merge(override, original);
- JBossAssemblyDescriptorMetaData input = (JBossAssemblyDescriptorMetaData) override;
- AssemblyDescriptorMetaData assemblyDescriptorMetaData = (AssemblyDescriptorMetaData) original;
JBossAssemblyDescriptorMetaData merged = this;
+ if(override != null && override.applicationExceptions != null)
+ this.setApplicationExceptions(override.applicationExceptions);
+ else if(original != null && original.getApplicationExceptions() != null)
+ this.setApplicationExceptions(original.getApplicationExceptions());
+ if(override != null && override.containerTransactions != null)
+ this.setContainerTransactions(override.containerTransactions);
+ else if(original != null && original.getContainerTransactions() != null)
+ this.setContainerTransactions(original.getContainerTransactions());
+ if(override != null && override.excludeList != null)
+ this.setExcludeList(override.excludeList);
+ else if(original != null && original.getExcludeList() != null)
+ this.setExcludeList(original.getExcludeList());
+ if(override != null && override.interceptorBindings != null)
+ this.setInterceptorBindings(override.interceptorBindings);
+ else if(original != null && original.getInterceptorBindings() != null)
+ this.setInterceptorBindings(original.getInterceptorBindings());
+ if(override != null && override.methodPermissions != null)
+ this.setMethodPermissions(override.methodPermissions);
+ else if(original != null && original.getMethodPermissions() != null)
+ this.setMethodPermissions(original.getMethodPermissions());
+
SecurityRolesMetaData securityRolesMetaData = null;
- SecurityRolesMetaData jbossSecurityRolesMetaData = input.getSecurityRoles();
+ SecurityRolesMetaData jbossSecurityRolesMetaData = null;
MessageDestinationsMetaData messageDestinationsMetaData = null;
- MessageDestinationsMetaData jbossMessageDestinationsMetaData = input.getMessageDestinations();
- if (assemblyDescriptorMetaData != null)
+ MessageDestinationsMetaData jbossMessageDestinationsMetaData = null;
+ if(override != null )
{
- merged.setOverridenMetaData(assemblyDescriptorMetaData);
- securityRolesMetaData = assemblyDescriptorMetaData.getSecurityRoles();
- messageDestinationsMetaData = assemblyDescriptorMetaData.getMessageDestinations();
+ jbossMessageDestinationsMetaData = override.getMessageDestinations();
+ jbossSecurityRolesMetaData = override.getSecurityRoles();
}
+ if (original != null)
+ {
+ securityRolesMetaData = original.getSecurityRoles();
+ messageDestinationsMetaData = original.getMessageDestinations();
+ }
if (jbossSecurityRolesMetaData == null || jbossSecurityRolesMetaData.isEmpty())
{
@@ -322,17 +452,6 @@
}
}
- protected AssemblyDescriptorMetaData ensureOverride()
- {
- AssemblyDescriptorMetaData x = getOverridenMetaData();
- if (x == null)
- {
- x = new AssemblyDescriptorMetaData();
- super.setOverridenMetaData(x);
- }
- return x;
- }
-
/**
* Merge the contents of override with original into this.
*
@@ -342,33 +461,6 @@
public void merge(JBossAssemblyDescriptorMetaData override, IAssemblyDescriptorMetaData assembly)
{
AssemblyDescriptorMetaData original = (AssemblyDescriptorMetaData) assembly;
- super.merge(override, original);
- MessageDestinationsMetaData mergedMD = new MessageDestinationsMetaData();
- setMessageDestinations(mergedMD);
- if(override != null && override.messageDestinations != null)
- {
- if(original != null)
- mergedMD.merge(messageDestinations, original.getMessageDestinations());
- else
- mergedMD.merge(messageDestinations, null);
- }
- else if(original != null && original.getMessageDestinations() != null)
- mergedMD.merge(null, original.getMessageDestinations());
-
- SecurityRolesMetaData mergedSR = this.securityRoles;
- if(mergedSR == null)
- {
- mergedSR = new SecurityRolesMetaData();
- setSecurityRoles(mergedSR);
- }
- if(override != null)
- {
- if(original != null)
- mergedSR.merge(override.getSecurityRoles(), original.getSecurityRoles());
- else
- mergedSR.merge(override.getSecurityRoles(), null);
- }
- else if(original != null && original.getSecurityRoles() != null)
- mergedSR.merge(null, original.getSecurityRoles());
+ merge(override, original);
}
}
More information about the jboss-cvs-commits
mailing list