Commit includes ControlLoopPolicy API and bugfixes
[policy/engine.git] / ECOMP-ControlloopPolicy / src / main / java / org / openecomp / policy / controlloop / policy / ControlLoop.java
index fa14415..ec25ab3 100644 (file)
 
 package org.openecomp.policy.controlloop.policy;
 
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openecomp.policy.asdc.Resource;
+import org.openecomp.policy.asdc.Service;
+
 public class ControlLoop {
        
-       public static String VERSION = "2.0.0";
+       private static String VERSION = "2.0.0";
 
-       public String controlLoopName;
-       public final String version = VERSION;
-       public String trigger_policy = FinalResult.FINAL_OPENLOOP.toString();
-       public Integer timeout;
-       public Boolean abatement = false;
+       private String controlLoopName;
+       private String version = VERSION;
+       private List<Service> services;
+       private List<Resource> resources;
+       private String trigger_policy = FinalResult.FINAL_OPENLOOP.toString();
+       private Integer timeout;
+       private Boolean abatement = false;
        
        public ControlLoop() {
-               
+               // Empty Constructor.
+       }
+       
+       public static String getVERSION(){
+               return ControlLoop.VERSION;
+       }
+       
+       public String getControlLoopName() {
+               return controlLoopName;
+       }
+
+       public void setControlLoopName(String controlLoopName) {
+               this.controlLoopName = controlLoopName;
+       }
+
+       public List<Service> getServices() {
+               return services;
+       }
+
+       public void setServices(List<Service> services) {
+               this.services = services;
+       }
+
+       public List<Resource> getResources() {
+               return resources;
+       }
+
+       public void setResources(List<Resource> resources) {
+               this.resources = resources;
+       }
+
+       public String getTrigger_policy() {
+               return trigger_policy;
+       }
+
+       public void setTrigger_policy(String trigger_policy) {
+               this.trigger_policy = trigger_policy;
+       }
+
+       public Integer getTimeout() {
+               return timeout;
+       }
+
+       public void setTimeout(Integer timeout) {
+               this.timeout = timeout;
+       }
+
+       public Boolean getAbatement() {
+               return abatement;
+       }
+
+       public void setAbatement(Boolean abatement) {
+               this.abatement = abatement;
+       }
+
+       public String getVersion() {
+               return version;
        }
        
+       public void setVersion(String version){
+               this.version = version;
+       }
+
        public ControlLoop(ControlLoop controlLoop) {
                this.controlLoopName = controlLoop.controlLoopName;
+               this.services = new LinkedList<>();
+               if (controlLoop.services != null) {
+                       for (Service service : controlLoop.services) {
+                               this.services.add(service);
+                       }
+               }
+               this.resources = new LinkedList<>();
+               if (controlLoop.resources != null) {
+                       for (Resource resource: controlLoop.resources) {
+                               this.resources.add(resource);
+                       }
+               }
                this.trigger_policy = controlLoop.trigger_policy;
                this.timeout = controlLoop.timeout;
                this.abatement = controlLoop.abatement;
        }
        @Override
        public String toString() {
-               return "ControlLoop [controlLoopName=" + controlLoopName + ", version=" + version
-                               + ", trigger_policy=" + trigger_policy + ", timeout="
+               return "ControlLoop [controlLoopName=" + controlLoopName + ", version=" + version + ", services=" + services
+                               + ", resources=" + resources + ", trigger_policy=" + trigger_policy + ", timeout="
                                + timeout + ", abatement=" + abatement + "]";
        }
        @Override
@@ -51,6 +131,8 @@ public class ControlLoop {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((controlLoopName == null) ? 0 : controlLoopName.hashCode());
+               result = prime * result + ((resources == null) ? 0 : resources.hashCode());
+               result = prime * result + ((services == null) ? 0 : services.hashCode());
                result = prime * result + ((timeout == null) ? 0 : timeout.hashCode());
                result = prime * result + ((trigger_policy == null) ? 0 : trigger_policy.hashCode());
                result = prime * result + ((version == null) ? 0 : version.hashCode());
@@ -71,6 +153,16 @@ public class ControlLoop {
                                return false;
                } else if (!controlLoopName.equals(other.controlLoopName))
                        return false;
+               if (resources == null) {
+                       if (other.resources != null)
+                               return false;
+               } else if (!resources.equals(other.resources))
+                       return false;
+               if (services == null) {
+                       if (other.services != null)
+                               return false;
+               } else if (!services.equals(other.services))
+                       return false;
                if (timeout == null) {
                        if (other.timeout != null)
                                return false;