Merge "Startup archetype: remove 'Impl' from config subsystem Module name."
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / NeutronLoadBalancerPool.java
index 12c80fe70cac8d2c105eb4ac70d820a4575eb974..363de412d856bf56a41950fb62d2672ee7cbc399 100644 (file)
@@ -8,14 +8,12 @@
 
 package org.opendaylight.controller.networkconfig.neutron;
 
-import org.opendaylight.controller.configuration.ConfigurationObject;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+//import javax.xml.bind.annotation.XmlElementWrapper;
 import java.io.Serializable;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 
@@ -34,14 +32,14 @@ import java.util.List;
  * healthmonitor_id   String
  * admin_state_up     Bool
  * status             String
- * members            List <String>
+ * members            List <NeutronLoadBalancerPoolMember>
  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
  */
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
 
-public class NeutronLoadBalancerPool extends ConfigurationObject implements Serializable {
+public class NeutronLoadBalancerPool implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @XmlElement(name="id")
@@ -71,13 +69,10 @@ public class NeutronLoadBalancerPool extends ConfigurationObject implements Seri
     @XmlElement (name="status")
     String loadBalancerPoolStatus;
 
-    @XmlElement (name="members")
-    List loadBalancerPoolMembers;
-
-    HashMap<String, NeutronLoadBalancerPoolMember> member;
+    @XmlElement(name="members")
+    List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers;
 
     public NeutronLoadBalancerPool() {
-        member = new HashMap<String, NeutronLoadBalancerPoolMember>();
     }
 
     public String getLoadBalancerPoolID() {
@@ -152,14 +147,27 @@ public class NeutronLoadBalancerPool extends ConfigurationObject implements Seri
         this.loadBalancerPoolStatus = loadBalancerPoolStatus;
     }
 
-    public List getLoadBalancerPoolMembers() {
+    public List<NeutronLoadBalancerPoolMember> getLoadBalancerPoolMembers() {
+        /*
+         * Update the pool_id of the member to that this.loadBalancerPoolID
+         */
+        for (NeutronLoadBalancerPoolMember member: loadBalancerPoolMembers)
+            member.setPoolID(loadBalancerPoolID);
         return loadBalancerPoolMembers;
     }
 
-    public void setLoadBalancerPoolMembers(List loadBalancerPoolMembers) {
+    public void setLoadBalancerPoolMembers(List<NeutronLoadBalancerPoolMember> loadBalancerPoolMembers) {
         this.loadBalancerPoolMembers = loadBalancerPoolMembers;
     }
 
+    public void addLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
+        this.loadBalancerPoolMembers.add(loadBalancerPoolMember);
+    }
+
+    public void removeLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember) {
+        this.loadBalancerPoolMembers.remove(loadBalancerPoolMember);
+    }
+
     public NeutronLoadBalancerPool extractFields(List<String> fields) {
         NeutronLoadBalancerPool ans = new NeutronLoadBalancerPool();
         Iterator<String> i = fields.iterator();
@@ -198,4 +206,4 @@ public class NeutronLoadBalancerPool extends ConfigurationObject implements Seri
         }
         return ans;
     }
-}
\ No newline at end of file
+}