public void updateDcaeDeploymentFields(Loop loop, String deploymentId, String deploymentUrl) {
loop.setDcaeDeploymentId(deploymentId);
loop.setDcaeDeploymentStatusUrl(deploymentUrl);
- loopsRepository.save(loop);
+ loopsRepository.saveAndFlush(loop);
}
public void updateLoopState(Loop loop, String newState) {
Loop addOperationalPolicy(String loopName, String policyType, String policyVersion) throws IOException {
Loop loop = getLoop(loopName);
PolicyModel policyModel = policyModelsService.getPolicyModel(policyType, policyVersion);
+ Set<OperationalPolicy> opPolicySet = loop.getOperationalPolicies();
+ for (OperationalPolicy opPolicy : opPolicySet) {
+ if (opPolicy.getPolicyModel().equals(policyModel)) {
+ throw new IllegalArgumentException("This type of Operational Policy is already added to the loop. Please choose another one.");
+ }
+ }
if (policyModel == null) {
return null;
}
loop.addOperationalPolicy(
- new OperationalPolicy(loop,loop.getModelService(), policyModel, toscaConverter));
+ new OperationalPolicy(loop, loop.getModelService(), policyModel, toscaConverter));
return loopsRepository.saveAndFlush(loop);
}
/**
* This method remove an operational policy to a loop instance.
*
- * @param loopName The loop name
- * @param policyType The policy model type
+ * @param loopName The loop name
+ * @param policyType The policy model type
* @param policyVersion The policy model version
* @return The loop modified
*/
return null;
}
for (OperationalPolicy opPolicy : loop.getOperationalPolicies()) {
- if (opPolicy.getPolicyModel().getPolicyModelType().equals(policyType) &&
- opPolicy.getPolicyModel().getVersion().equals(policyVersion)) {
+ if (opPolicy.getPolicyModel().getPolicyModelType().equals(policyType)
+ && opPolicy.getPolicyModel().getVersion().equals(policyVersion)) {
loop.removeOperationalPolicy(opPolicy);
break;
}
return loopsRepository.findById(loopName)
.orElseThrow(() -> new EntityNotFoundException("Couldn't find closed loop named: " + loopName));
}
-
- /**
- * Api to refresh the Operational Policy UI window.
- *
- * @param loopName The loop Name
- * @return The refreshed loop object
- */
- public Loop refreshOpPolicyJsonRepresentation(String loopName) {
- Loop loop = findClosedLoopByName(loopName);
- Set<OperationalPolicy> policyList = loop.getOperationalPolicies();
- for (OperationalPolicy policy : policyList) {
- policy.updateJsonRepresentation();
- }
- loop.setOperationalPolicies(policyList);
- return loopsRepository.save(loop);
- }
}
+