[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