Update UI to define Pdp Group
[clamp.git] / src / main / java / org / onap / clamp / policy / microservice / MicroServicePolicyService.java
index 346cdf6..3ad97c5 100644 (file)
 
 package org.onap.clamp.policy.microservice;
 
-import com.google.common.collect.Sets;
-
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
-
 import org.onap.clamp.loop.Loop;
 import org.onap.clamp.policy.PolicyService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,7 +44,7 @@ public class MicroServicePolicyService implements PolicyService<MicroServicePoli
     @Override
     public Set<MicroServicePolicy> updatePolicies(Loop loop, List<MicroServicePolicy> newMicroservicePolicies) {
         return newMicroservicePolicies.stream().map(policy -> getAndUpdateMicroServicePolicy(loop, policy))
-            .collect(Collectors.toSet());
+                .collect(Collectors.toSet());
     }
 
     @Override
@@ -58,25 +55,39 @@ public class MicroServicePolicyService implements PolicyService<MicroServicePoli
     /**
      * Get and update the MicroService policy properties.
      *
-     * @param loop
-     *        The loop
-     * @param policy
-     *        The new MicroService policy
+     * @param loop   The loop
+     * @param policy The new MicroService policy
      * @return The updated MicroService policy
      */
     public MicroServicePolicy getAndUpdateMicroServicePolicy(Loop loop, MicroServicePolicy policy) {
-        return repository
-            .save(repository.findById(policy.getName()).map(p -> updateMicroservicePolicyProperties(p, policy, loop))
-                .orElse(new MicroServicePolicy(policy.getName(), policy.getModelType(), policy.getPolicyTosca(),
-                    policy.getShared(), policy.getJsonRepresentation(), Sets.newHashSet(loop))));
+        return repository.save(
+                repository.findById(policy.getName()).map(p -> updateMicroservicePolicyProperties(p, policy, loop))
+                        .orElse(new MicroServicePolicy(policy.getName(), policy.getPolicyModel(),
+                                policy.getShared(), policy.getJsonRepresentation(),null, policy.getPdpGroup(), policy.getPdpSubgroup())));
     }
 
     private MicroServicePolicy updateMicroservicePolicyProperties(MicroServicePolicy oldPolicy,
-        MicroServicePolicy newPolicy, Loop loop) {
-        oldPolicy.setProperties(newPolicy.getProperties());
+            MicroServicePolicy newPolicy, Loop loop) {
+        oldPolicy.setConfigurationsJson(newPolicy.getConfigurationsJson());
         if (!oldPolicy.getUsedByLoops().contains(loop)) {
             oldPolicy.getUsedByLoops().add(loop);
         }
+        oldPolicy.setPdpGroup(newPolicy.getPdpGroup());
+        oldPolicy.setPdpSubgroup(newPolicy.getPdpSubgroup());
         return oldPolicy;
     }
+
+    /**
+     * Update the MicroService policy deployment related parameters.
+     *
+     * @param microServicePolicy The micro service policy
+     * @param deploymentId       The deployment ID as returned by DCAE
+     * @param deploymentUrl      The Deployment URL as returned by DCAE
+     */
+    public void updateDcaeDeploymentFields(MicroServicePolicy microServicePolicy, String deploymentId,
+            String deploymentUrl) {
+        microServicePolicy.setDcaeDeploymentId(deploymentId);
+        microServicePolicy.setDcaeDeploymentStatusUrl(deploymentUrl);
+        repository.save(microServicePolicy);
+    }
 }