[jboss-cvs] JBossAS SVN: r70009 - trunk/system-jmx/src/main/org/jboss/system/metadata.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 21 13:10:36 EST 2008


Author: anil.saldhana at jboss.com
Date: 2008-02-21 13:10:36 -0500 (Thu, 21 Feb 2008)
New Revision: 70009

Modified:
   trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaData.java
Log:
JBAS-5243: addAttribute,addDependency api methods

Modified: trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaData.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaData.java	2008-02-21 17:50:16 UTC (rev 70008)
+++ trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaData.java	2008-02-21 18:10:36 UTC (rev 70009)
@@ -22,9 +22,11 @@
 package org.jboss.system.metadata;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
+
 import javax.management.ObjectName;
 
 import org.jboss.dependency.spi.ControllerMode;
@@ -37,6 +39,7 @@
  * ServiceMetaData.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author Anil.Saldhana at redhat.com
  * @version $Revision: 1.1 $
  */
 @ManagementObject
@@ -253,8 +256,52 @@
    {
       this.xmbeanDescriptor = xmbeanDescriptor;
    }
+   
+   /**
+    * Add an attribute
+    * @param serviceAttributeMetaData
+    */
+   public void addAttribute(ServiceAttributeMetaData serviceAttributeMetaData)
+   {
+      if(serviceAttributeMetaData == null)
+         throw new IllegalArgumentException("null serviceAttributeMetaData");
+      if(this.attributes.size() == 0)
+         this.attributes = new ArrayList<ServiceAttributeMetaData>();
+      if(this.attributes.contains(serviceAttributeMetaData) == false)
+         this.attributes.add(serviceAttributeMetaData); 
+   }
 
    /**
+    * Add an attribute
+    * @param attribute
+    */
+   public void addAttributes(List<ServiceAttributeMetaData> aAttributeList)
+   {
+      if(aAttributeList == null)
+         throw new IllegalArgumentException("Null attribute");
+      if(this.attributes.size() == 0)
+         this.attributes = aAttributeList;
+      else
+      {
+         //Avoid duplicates
+         for(ServiceAttributeMetaData serviceAttributeMetaData: aAttributeList)
+         {
+            addAttribute(serviceAttributeMetaData);
+         }   
+      } 
+   }
+   
+   /**
+    * Remove a list of Attributes
+    * @param aAttributeList
+    */
+   public void removeAttributes(List<ServiceAttributeMetaData> aAttributeList)
+   {
+      this.attributes.removeAll(aAttributeList);
+   }
+   
+   
+   /**
     * Get the attributes.
     * 
     * @return the attributes.
@@ -287,6 +334,49 @@
    }
 
    /**
+    * Add  dependency
+    * @param dependencyList
+    */
+   public void addDependency(ServiceDependencyMetaData serviceDependencyMetaData)
+   {
+      if(serviceDependencyMetaData == null)
+         throw new IllegalArgumentException("Null serviceDependencyMetaData");
+      if(this.dependencies.size() == 0)
+         this.dependencies = new ArrayList<ServiceDependencyMetaData>();
+      
+       if(this.dependencies.contains(serviceDependencyMetaData) == false)
+          this.dependencies.add(serviceDependencyMetaData); 
+   }
+   
+   /**
+    * Add  dependencies
+    * @param dependencyList
+    */
+   public void addDependencies(List<ServiceDependencyMetaData> dependencyList)
+   {
+      if(dependencyList == null)
+         throw new IllegalArgumentException("Null dependency");
+      if(this.dependencies.size() == 0)
+         this.dependencies = dependencyList;
+      else
+      {
+         for(ServiceDependencyMetaData serviceDependencyMetaData: dependencyList)
+         {
+           addDependency(serviceDependencyMetaData);    
+         }
+      }  
+   }
+   
+   /**
+    * Remove a dependency
+    * @param dependency
+    */
+   public void removeDependency(ServiceDependencyMetaData dependency)
+   {
+      this.dependencies.remove(dependency);
+   }
+   
+   /**
     * Set the dependencies.
     * 
     * @param dependencies the dependencies.




More information about the jboss-cvs-commits mailing list