Fix Nullpointer exception
[clamp.git] / src / main / java / org / onap / clamp / loop / LoopController.java
index 2bcce1e..7d41e48 100644 (file)
@@ -24,7 +24,6 @@
 package org.onap.clamp.loop;
 
 import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 
@@ -59,24 +58,71 @@ public class LoopController {
         return loopService.getLoop(loopName);
     }
 
+    /**
+     * Update the Operational Policy properties.
+     *
+     * @param loopName
+     *        The loop name
+     * @param operationalPoliciesJson
+     *        The new Operational Policy properties
+     * @return The updated loop
+     */
     public Loop updateOperationalPolicies(String loopName, JsonArray operationalPoliciesJson) {
-        List<OperationalPolicy> operationalPolicies = JsonUtils.GSON
-            .fromJson(operationalPoliciesJson, OPERATIONAL_POLICY_TYPE);
+        List<OperationalPolicy> operationalPolicies = JsonUtils.GSON.fromJson(operationalPoliciesJson,
+            OPERATIONAL_POLICY_TYPE);
         return loopService.updateAndSaveOperationalPolicies(loopName, operationalPolicies);
     }
 
+    /**
+     * Update the whole array of MicroService policies properties
+     *
+     * @param loopName
+     *        The loop name
+     * @param microServicePoliciesJson
+     *        The array of all MicroService policies properties
+     * @return The updated loop
+     */
     public Loop updateMicroservicePolicies(String loopName, JsonArray microServicePoliciesJson) {
-        List<MicroServicePolicy> microservicePolicies = JsonUtils.GSON
-            .fromJson(microServicePoliciesJson, MICROSERVICE_POLICY_TYPE);
+        List<MicroServicePolicy> microservicePolicies = JsonUtils.GSON.fromJson(microServicePoliciesJson,
+            MICROSERVICE_POLICY_TYPE);
         return loopService.updateAndSaveMicroservicePolicies(loopName, microservicePolicies);
     }
 
-    public Loop updateGlobalPropertiesJson(String loopName, JsonObject globalProperties){
+    /**
+     * Update the global properties
+     *
+     * @param loopName
+     *        The loop name
+     * @param globalProperties
+     *        The updated global properties
+     * @return The updated loop
+     */
+    public Loop updateGlobalPropertiesJson(String loopName, JsonObject globalProperties) {
         return loopService.updateAndSaveGlobalPropertiesJson(loopName, globalProperties);
     }
 
-    public String getSVGRepresentation(String loopName) {
-        return loopService.getClosedLoopModelSVG(loopName);
+    /**
+     * Update one MicroService policy properties
+     *
+     * @param loopName
+     *        The loop name
+     * @param newMicroservicePolicy
+     *        The new MicroService policy properties
+     * @return The updated MicroService policy
+     */
+    public MicroServicePolicy updateMicroservicePolicy(String loopName, MicroServicePolicy newMicroservicePolicy) {
+        return loopService.updateMicroservicePolicy(loopName, newMicroservicePolicy);
+    }
 
+    /**
+     * Get the SVG representation of the loop
+     *
+     * @param loopName
+     *        The loop name
+     * @return The SVG representation
+     */
+    public String getSVGRepresentation(String loopName) {
+        Loop loop = loopService.getLoop(loopName);
+        return loop != null ? loop.getSvgRepresentation() : null;
     }
 }