Rework the submit operation
[clamp.git] / src / main / java / org / onap / clamp / policy / microservice / MicroservicePolicyService.java
index c316f1f..f95ad3b 100644 (file)
@@ -57,15 +57,22 @@ public class MicroservicePolicyService implements PolicyService<MicroServicePoli
         return repository.existsById(policyName);
     }
 
+    /**
+     * Get and update the MicroService policy properties.
+     * @param loop The loop
+     * @param policy The new MicroService policy
+     * @return The updated MicroService policy
+     */
+    @Transactional
     public MicroServicePolicy getAndUpdateMicroServicePolicy(Loop loop, MicroServicePolicy policy) {
         return repository.findById(policy.getName()).map(p -> updateMicroservicePolicyProperties(p, policy, loop))
-            .orElse(new MicroServicePolicy(policy.getName(), policy.getPolicyTosca(), policy.getShared(),
-                policy.getJsonRepresentation(), Sets.newHashSet(loop)));
+            .orElse(new MicroServicePolicy(policy.getName(), policy.getModelType(), policy.getPolicyTosca(), policy.getShared(),
+                policy.getJsonRepresentation(), Sets.newHashSet(loop), policy.getBlueprintName()));
     }
 
     private MicroServicePolicy updateMicroservicePolicyProperties(MicroServicePolicy oldPolicy,
         MicroServicePolicy newPolicy, Loop loop) {
-        oldPolicy.setJsonRepresentation(newPolicy.getJsonRepresentation());
+        oldPolicy.setProperties(newPolicy.getProperties());
         if (oldPolicy.getUsedByLoops().contains(loop)) {
             oldPolicy.getUsedByLoops().add(loop);
         }