return repository.existsById(policyName);
}
+ @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(),
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);
}
}else if (name.toLowerCase().indexOf("policy") >= 0){
PolicyWindow();
} else {
- $rootScope.selectedBoxName = name.toLowerCase();
+ $rootScope.selectedBoxName = name;
ToscaModelWindow();
}
}
};
$scope.submitForm = function(obj) {
- var operationalPolicies = getOperationalPolicies();
+ var operationalPolicies = JSON.parse(JSON.stringify(getOperationalPolicies()));
if (obj !== null) {
operationalPolicies[0]["configurationsJson"] = obj;
}
if($rootScope.selectedBoxName) {
var policyType = $rootScope.selectedBoxName.split('_')[0].toLowerCase();
$scope.toscaModelName = policyType.toUpperCase() + " Microservice";
- $scope.jsonByPolicyType(policyType, '', '');
+ $scope.jsonByPolicyType($rootScope.selectedBoxName, '', '');
}
});
$scope.saveToscaProps = function(){
var policyType = $rootScope.selectedBoxName;
var data = $scope.getEditorData();
-
if(data !== null) {
- var msJson = getMsJson(policyType);
- msJson["properties"] = data;
- cldsModelService.saveMsProperties(msJson).then(function(pars) {
- saveMsProperties(policyType, data);
+ var msJson = JSON.parse(JSON.stringify(getMsJson(policyType)));
+ msJson["properties"] = data[0];
+ toscaModelService.saveMsProperties(msJson).then(function(pars) {
+ updateMsProperties(policyType, msJson);
}, function(data) {
});
if($scope.editor) { $scope.editor.destroy(); $scope.editor = null; }
this.saveMsProperties = function(form) {
var loopName = getLoopName();
var def = $q.defer();
- var svcUrl = "/restservices/clds/v2/loop/updateMicroservicePolicies/" + loopName;
+ var svcUrl = "/restservices/clds/v2/loop/updateMicroservicePolicy/" + loopName;
$http.post(svcUrl, form).success(function(data) {
def.resolve(data);
}).error(function(data) {
*
*/
-function saveMsProperties(type, form) {
- var newMsProperties = cl_props["microServicePolicies"];
+function updateMsProperties(type, form) {
+ var newMsProperties = cl_props["microServicePolicies"];
for (p in newMsProperties) {
if (newMsProperties[p]["name"] == type) {
- newMsProperties[p]["properties"] = form;
+ cl_props["microServicePolicies"][p] = form;
}
}
}
newJsonRepresentation, null);
//when
- firstMicroServicePolicy.setJsonRepresentation(newJsonRepresentation);
+ firstMicroServicePolicy.setProperties(JsonUtils.GSON.fromJson("{\"name1\":\"value1\"}", JsonObject.class));
Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME,
Lists.newArrayList(firstMicroServicePolicy, secondMicroServicePolicy));