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);
}