aboutsummaryrefslogtreecommitdiffstats
path: root/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController
diff options
context:
space:
mode:
Diffstat (limited to 'POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController')
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ActionPolicyController.js15
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js233
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSRawPolicyController.js218
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BaseConfigPolicyController.js6
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopFaultController.js1521
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopPMController.js6
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js3126
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js848
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/FirewallPolicyController.js270
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js2370
10 files changed, 4160 insertions, 4453 deletions
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ActionPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ActionPolicyController.js
index a9097d559..80c11463f 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ActionPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ActionPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ app.controller('actionPolicyController', ['$scope', 'PolicyAppService', 'policyN
$scope.temp.policy = {
policyType : "Action"
}
- };
+ }
$scope.refresh = function(){
if($scope.refreshCheck){
@@ -36,7 +36,7 @@ app.controller('actionPolicyController', ['$scope', 'PolicyAppService', 'policyN
}
$scope.modal('createNewPolicy', true);
$scope.temp.policy = "";
- };
+ }
$scope.modal = function(id, hide) {
return $('#' + id).modal(hide ? 'hide' : 'show');
@@ -71,13 +71,6 @@ app.controller('actionPolicyController', ['$scope', 'PolicyAppService', 'policyN
}, function (error) {
console.log("failed");
});
-
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key)) obj[key] = src[key];
- }
- return obj;
- }
$scope.saveActionPolicy = function(policy){
if(policy.itemContent != undefined){
@@ -191,4 +184,4 @@ app.controller('actionPolicyController', ['$scope', 'PolicyAppService', 'policyN
$scope.temp.policy.ruleAlgorithmschoices.splice(lastItem);
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
index 22511c5a7..35fb3cb81 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,9 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
+angular.module('abs').controller('brmsParamPolicyController',
+ ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
$("#dialog").hide();
$scope.policyNavigator;
@@ -25,18 +27,18 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
$scope.refreshCheck = false;
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "BRMS_Param"
- }
- };
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "BRMS_Param"
+ }
+ }
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -44,66 +46,49 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
$scope.validateSuccess = true;
var readValue = $scope.temp.policy.readOnly;
if(readValue){
- $scope.validateSuccess = false;
+ $scope.validateSuccess = false;
}
PolicyAppService.getData('getDictionary/get_BRMSControllerDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.brmsControllerDatas = JSON.parse($scope.data.brmsControllerDictionaryDatas);
- console.log($scope.brmsControllerDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.brmsControllerDatas = JSON.parse($scope.data.brmsControllerDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_BRMSDependencyDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.brmsDependencyDatas = JSON.parse($scope.data.brmsDependencyDictionaryDatas);
- console.log($scope.brmsDependencyDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.brmsDependencyDatas = JSON.parse($scope.data.brmsDependencyDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_BRMSParamDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.brmsParamDictionaryDatas = JSON.parse($scope.data.brmsParamDictionaryDatas);
- console.log($scope.brmsParamDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.brmsParamDictionaryDatas = JSON.parse($scope.data.brmsParamDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
});
$scope.temp.policy.dynamicLayoutMap = {};
$scope.addDataToFields = function(ruleName){
- console.log(ruleName);
if(ruleName != null){
- var uuu = "policyController/getBRMSTemplateData.htm";
- var postData={policyData: ruleName};
+ var uuu = "policyController/getBRMSTemplateData.htm";
+ var postData={policyData: ruleName};
$.ajax({
type : 'POST',
url : uuu,
@@ -112,12 +97,11 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
- $scope.temp.policy.dynamicLayoutMap = data.policyData;
+ $scope.temp.policy.dynamicLayoutMap = data.policyData;
});
- console.log( $scope.temp.policy.dynamicLayoutMap);
},
error : function(data){
- alert("Error While Retriving the Template Layout Pattren.");
+ Notification.error("Error While Retriving the Template Layout Pattren.");
}
});
}
@@ -126,7 +110,6 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
$scope.showbrmsrule = true;
$scope.ShowRule = function(policy){
- console.log(policy);
var uuu = "policyController/ViewBRMSParamPolicyRule.htm";
var postData={policyData: policy};
$.ajax({
@@ -136,30 +119,30 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
contentType: 'application/json',
data: JSON.stringify(postData),
success : function(data){
- $scope.showbrmsrule = false;
- $scope.validateSuccess = true;
+ $scope.showbrmsrule = false;
+ $scope.validateSuccess = true;
$scope.$apply(function(){
- $scope.datarule = data.policyData;
+ $scope.datarule = data.policyData;
});
},
error : function(data){
- Notification.error("Error Occured while Showing Rule.");
+ Notification.error("Error Occured while Showing Rule.");
}
});
};
$scope.hideRule = function(){
- $scope.showbrmsrule = true;
- $scope.validateSuccess = false;
- $scope.apply();
+ $scope.showbrmsrule = true;
+ $scope.validateSuccess = false;
+ $scope.apply();
};
$scope.saveBrmsParamPolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
$scope.savebutton = false;
var uuu = "policycreation/save_policy";
var postData={policyData: policy};
@@ -173,83 +156,73 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
$scope.$apply(function(){
$scope.data=data.policyData;
if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- $scope.safetyChecker = data.policyData.split("#")[2];
- if ($scope.safetyChecker!=undefined) {
- Notification.success($scope.safetyChecker);
- }
- Notification.success("Policy Saved Successfully.");
+ $scope.temp.policy.readOnly = 'true';
+ $scope.safetyChecker = data.policyData.split("#")[2];
+ if ($scope.safetyChecker!=undefined) {
+ Notification.success($scope.safetyChecker);
+ }
+ Notification.success("Policy Saved Successfully.");
}else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
});
- console.log($scope.data);
},
error : function(data){
- Notification.error("Error Occured while saving Policy.");
- $scope.savebutton = true;
+ Notification.error("Error Occured while saving Policy.");
+ $scope.savebutton = true;
}
});
};
$scope.validatePolicy = function(policy){
- console.log(policy);
- document.getElementById("validate").innerHTML = "";
+ document.getElementById("validate").innerHTML = "";
var uuu = "policyController/validate_policy.htm";
- var postData={policyData: policy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- $scope.validateSuccess = false;
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
+ var postData={policyData: policy};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ $scope.validateSuccess = false;
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
};
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key)) obj[key] = src[key];
- }
- return obj;
- }
-
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy.attributes = [];
+ $scope.temp.policy.attributes = [];
}else{
- if($scope.temp.policy.attributes.length == 0){
- $scope.temp.policy.attributes = [];
- }
+ if($scope.temp.policy.attributes.length == 0){
+ $scope.temp.policy.attributes = [];
+ }
}
$scope.attributeDatas = [{"attributes" : $scope.temp.policy.attributes}];
@@ -261,4 +234,4 @@ angular.module('abs').controller('brmsParamPolicyController', ['$scope', '$windo
var lastItem = $scope.temp.policy.attributes.length-1;
$scope.temp.policy.attributes.splice(lastItem);
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSRawPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSRawPolicyController.js
index 6061b1ef8..695cb423d 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSRawPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSRawPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,9 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('brmsRawPolicyController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
+angular.module('abs').controller('brmsRawPolicyController',
+ ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
$("#dialog").hide();
$scope.policyNavigator;
@@ -25,18 +27,18 @@ angular.module('abs').controller('brmsRawPolicyController', ['$scope', '$window'
$scope.refreshCheck = false;
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "BRMS_Raw"
- }
- };
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "BRMS_Raw"
+ }
+ }
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -44,134 +46,112 @@ angular.module('abs').controller('brmsRawPolicyController', ['$scope', '$window'
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
PolicyAppService.getData('getDictionary/get_BRMSControllerDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.brmsControllerDatas = JSON.parse($scope.data.brmsControllerDictionaryDatas);
- console.log($scope.brmsControllerDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.brmsControllerDatas = JSON.parse($scope.data.brmsControllerDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_BRMSDependencyDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.brmsDependencyDatas = JSON.parse($scope.data.brmsDependencyDictionaryDatas);
- console.log($scope.brmsDependencyDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.brmsDependencyDatas = JSON.parse($scope.data.brmsDependencyDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
});
$scope.saveBrmsRawPolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
$scope.savebutton = false;
var uuu = "policycreation/save_policy";
- var postData={policyData: policy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.data=data.policyData;
- if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- Notification.success("Policy Saved Successfully.");
- }else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Error Occured while saving Policy.");
- $scope.savebutton = true;
- }
- });
+ var postData={policyData: policy};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.data=data.policyData;
+ if($scope.data == 'success'){
+ $scope.temp.policy.readOnly = 'true';
+ Notification.success("Policy Saved Successfully.");
+ }else if ($scope.data == 'PolicyExists'){
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
+ });
+ },
+ error : function(data){
+ Notification.error("Error Occured while saving Policy.");
+ $scope.savebutton = true;
+ }
+ });
};
$scope.validatePolicy = function(policy){
- console.log(policy);
- document.getElementById("validate").innerHTML = "";
+ document.getElementById("validate").innerHTML = "";
var uuu = "policyController/validate_policy.htm";
- var postData={policyData: policy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Validation Failed.");
- }
- });
+ var postData={policyData: policy};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ }
+ });
};
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key)) obj[key] = src[key];
- }
- return obj;
- }
-
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy.attributes = [];
+ $scope.temp.policy.attributes = [];
}else{
- if($scope.temp.policy.attributes.length == 0){
- $scope.temp.policy.attributes = [];
- }
+ if($scope.temp.policy.attributes.length == 0){
+ $scope.temp.policy.attributes = [];
+ }
}
$scope.attributeDatas = [{"attributes" : $scope.temp.policy.attributes}];
$scope.addNewChoice = function() {
@@ -182,4 +162,4 @@ angular.module('abs').controller('brmsRawPolicyController', ['$scope', '$window'
var lastItem = $scope.temp.policy.attributes.length-1;
$scope.temp.policy.attributes.splice(lastItem);
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BaseConfigPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BaseConfigPolicyController.js
index 02e10bddd..f950e7434 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BaseConfigPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BaseConfigPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ app.controller('baseConfigController', ['$scope', 'PolicyAppService', 'policyNav
policyType : "Config",
configPolicyType : "Base"
}
- };
+ }
$scope.refresh = function(){
if($scope.refreshCheck){
@@ -177,4 +177,4 @@ app.controller('baseConfigController', ['$scope', 'PolicyAppService', 'policyNav
var lastItem = $scope.temp.policy.attributes.length-1;
$scope.temp.policy.attributes.splice(lastItem);
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopFaultController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopFaultController.js
index ebc9001ab..a8368a05e 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopFaultController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopFaultController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,26 +17,28 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module("abs").controller('clFaultController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification){
- $("#dialog").hide();
+angular.module("abs").controller('clFaultController',
+ ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification){
+ $("#dialog").hide();
- $scope.policyNavigator;
- $scope.savebutton = true;
- $scope.refreshCheck = false;
+ $scope.policyNavigator;
+ $scope.savebutton = true;
+ $scope.refreshCheck = false;
- if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "ClosedLoop_Fault"
- }
- };
+ if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "ClosedLoop_Fault"
+ }
+ }
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -44,784 +46,749 @@ angular.module("abs").controller('clFaultController', ['$scope', '$window', 'Pol
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
-
- if($scope.temp.policy.triggerTrapSignatures == undefined){
- $scope.temp.policy.triggerTrapSignatures = [];
- $scope.temp.policy.triggerfaultSignatures = [];
- }
- var trapCollection = [];
- var faultCollection = [];
- if($scope.varbindDictionaryDatas == undefined){
- $scope.varbindDictionaryDatas = [];
- }
-
- $scope.init = function(data){
- if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
- $scope.jsonData = data;
- if($scope.jsonData.triggerSignaturesUsedForUI != null){
- if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
- $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
- var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
- if(splitTraps.length > 1){
- $scope.triggerdisabled = false;
- var indexId = "Trap1";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
- var splitTrap1 = splitTraps[0];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 2){
- var indexId = "Trap2";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
- var splitTrap1 = splitTraps[1];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 3){
- var indexId = "Trap3";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
- var splitTrap1 = splitTraps[2];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 4){
- var indexId = "Trap4";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
- var splitTrap1 = splitTraps[3];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 5){
- var indexId = "Trap5";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
- var splitTrap1 = splitTraps[4];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 6){
- var indexId = "Trap6";
- trapCollection.push(indexId);
- $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
- var splitTrap1 = splitTraps[5];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
- var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
- for(i=0; i < splitConnectTraps.length; i++){
- if(splitConnectTraps[i] != ""){
- var newConnectTrapItemNo = i+1;
- var connects = splitConnectTraps[i].split("@!");
- if(connects[0] == 'NOT' || connects[0] ==''){
- var notBox = connects[0];
- var connectTrap1 = connects[1];
- var trapCount1 = connects[2];
- var operatorBox = connects[3];
- var connectTrap2 = connects[4];
- var trapCount2 = connects[5];
- }else{
- var notBox = '';
- var connectTrap1 = connects[0];
- var trapCount1 = connects[1];
- var operatorBox = connects[2];
- var connectTrap2 = connects[3];
- var trapCount2 = connects[4];
- }
- $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
- 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
- }
- }
- }
- }
- }
- if($scope.jsonData.verificationSignaturesUsedForUI != null){
- if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
- $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : []};
- var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
- if(splitTraps.length > 1){
- $scope.verificationdisabled = false;
- var indexId = "Fault1";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
- var splitTrap1 = splitTraps[0];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 2){
- var indexId = "Fault2";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
- var splitTrap1 = splitTraps[1];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 3){
- var indexId = "Fault3";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
- var splitTrap1 = splitTraps[2];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 4){
- var indexId = "Fault4";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
- var splitTrap1 = splitTraps[3];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 5){
- var indexId = "Fault5";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
- var splitTrap1 = splitTraps[4];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
- if(splitTraps.length > 6){
- var indexId = "Fault6";
- faultCollection.push(indexId);
- $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
- var splitTrap1 = splitTraps[5];
- var splitEachTrap = splitTrap1.split("#!");
- for(i = 0 ; i < splitEachTrap.length; i++){
- var splitEachRow = splitEachTrap[i].split("@!");
- var count = i +1;
- if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
- var notBox = splitEachRow[0];
- var trigger1 = splitEachRow[1];
- var operatorBox = splitEachRow[2];
- var trigger2 = splitEachRow[3];
- }else{
- var notBox = '';
- var trigger1 = splitEachRow[0];
- var operatorBox = splitEachRow[1];
- var trigger2 = splitEachRow[2];
- }
- $scope.varbindDictionaryDatas.push('A'+count);
- $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
- }
- }
+
+ if($scope.temp.policy.triggerTrapSignatures == undefined){
+ $scope.temp.policy.triggerTrapSignatures = [];
+ $scope.temp.policy.triggerfaultSignatures = [];
+ }
+ var trapCollection = [];
+ var faultCollection = [];
+ if($scope.varbindDictionaryDatas == undefined){
+ $scope.varbindDictionaryDatas = [];
+ }
+
+ $scope.init = function(data){
+ if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
+ $scope.jsonData = data;
+ if($scope.jsonData.triggerSignaturesUsedForUI != null){
+ if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
+ $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
+ var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
+ if(splitTraps.length > 1){
+ $scope.triggerdisabled = false;
+ var indexId = "Trap1";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
+ var splitTrap1 = splitTraps[0];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 2){
+ var indexId = "Trap2";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
+ var splitTrap1 = splitTraps[1];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 3){
+ var indexId = "Trap3";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
+ var splitTrap1 = splitTraps[2];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 4){
+ var indexId = "Trap4";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
+ var splitTrap1 = splitTraps[3];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 5){
+ var indexId = "Trap5";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
+ var splitTrap1 = splitTraps[4];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 6){
+ var indexId = "Trap6";
+ trapCollection.push(indexId);
+ $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
+ var splitTrap1 = splitTraps[5];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
+ var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
+ for(i=0; i < splitConnectTraps.length; i++){
+ if(splitConnectTraps[i] != ""){
+ var newConnectTrapItemNo = i+1;
+ var connects = splitConnectTraps[i].split("@!");
+ if(connects[0] == 'NOT' || connects[0] ==''){
+ var notBox = connects[0];
+ var connectTrap1 = connects[1];
+ var trapCount1 = connects[2];
+ var operatorBox = connects[3];
+ var connectTrap2 = connects[4];
+ var trapCount2 = connects[5];
+ }else{
+ var notBox = '';
+ var connectTrap1 = connects[0];
+ var trapCount1 = connects[1];
+ var operatorBox = connects[2];
+ var connectTrap2 = connects[3];
+ var trapCount2 = connects[4];
+ }
+ $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
+ 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
+ }
+ }
+ }
+ }
+ }
+ if($scope.jsonData.verificationSignaturesUsedForUI != null){
+ if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
+ $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : []};
+ var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
+ if(splitTraps.length > 1){
+ $scope.verificationdisabled = false;
+ var indexId = "Fault1";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
+ var splitTrap1 = splitTraps[0];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 2){
+ var indexId = "Fault2";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
+ var splitTrap1 = splitTraps[1];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 3){
+ var indexId = "Fault3";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
+ var splitTrap1 = splitTraps[2];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 4){
+ var indexId = "Fault4";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
+ var splitTrap1 = splitTraps[3];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 5){
+ var indexId = "Fault5";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
+ var splitTrap1 = splitTraps[4];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
+ if(splitTraps.length > 6){
+ var indexId = "Fault6";
+ faultCollection.push(indexId);
+ $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
+ var splitTrap1 = splitTraps[5];
+ var splitEachTrap = splitTrap1.split("#!");
+ for(i = 0 ; i < splitEachTrap.length; i++){
+ var splitEachRow = splitEachTrap[i].split("@!");
+ var count = i +1;
+ if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
+ var notBox = splitEachRow[0];
+ var trigger1 = splitEachRow[1];
+ var operatorBox = splitEachRow[2];
+ var trigger2 = splitEachRow[3];
+ }else{
+ var notBox = '';
+ var trigger1 = splitEachRow[0];
+ var operatorBox = splitEachRow[1];
+ var trigger2 = splitEachRow[2];
+ }
+ $scope.varbindDictionaryDatas.push('A'+count);
+ $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
+ }
+ }
- if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
- var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
- for(i=0; i < splitConnectTraps.length; i++){
- if(splitConnectTraps[i] != ""){
- var newConnectTrapItemNo = i+1;
- var connects = splitConnectTraps[i].split("@!");
- if(connects[0] == 'NOT' || connects[0] ==''){
- var notBox = connects[0];
- var connectTrap1 = connects[1];
- var trapCount1 = connects[2];
- var operatorBox = connects[3];
- var connectTrap2 = connects[4];
- var trapCount2 = connects[5];
- }else{
- var notBox = '';
- var connectTrap1 = connects[0];
- var trapCount1 = connects[1];
- var operatorBox = connects[2];
- var connectTrap2 = connects[3];
- var trapCount2 = connects[4];
- }
- $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
- 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
- }
- }
- }
- }
- }
- }
+ if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
+ var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
+ for(i=0; i < splitConnectTraps.length; i++){
+ if(splitConnectTraps[i] != ""){
+ var newConnectTrapItemNo = i+1;
+ var connects = splitConnectTraps[i].split("@!");
+ if(connects[0] == 'NOT' || connects[0] ==''){
+ var notBox = connects[0];
+ var connectTrap1 = connects[1];
+ var trapCount1 = connects[2];
+ var operatorBox = connects[3];
+ var connectTrap2 = connects[4];
+ var trapCount2 = connects[5];
+ }else{
+ var notBox = '';
+ var connectTrap1 = connects[0];
+ var trapCount1 = connects[1];
+ var operatorBox = connects[2];
+ var connectTrap2 = connects[3];
+ var trapCount2 = connects[4];
+ }
+ $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
+ 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
+ }
+ }
+ }
+ }
+ }
+ }
- };
+ };
- if($scope.temp.policy.readOnly){
- $scope.triggerdisabled = true;
- $scope.verificationdisabled = true;
- }else{
- $scope.triggerdisabled = false;
- $scope.verificationdisabled = false;
- }
-
+ if($scope.temp.policy.readOnly){
+ $scope.triggerdisabled = true;
+ $scope.verificationdisabled = true;
+ }else{
+ $scope.triggerdisabled = false;
+ $scope.verificationdisabled = false;
+ }
+
- PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
- console.log($scope.onapNameDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
- console.log($scope.pepOptionsDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
- console.log($scope.pepOptionsDictionaryDataEntity);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
- console.log($scope.varbindDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
- console.log($scope.vnfTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
- console.log($scope.vsclActionDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
+ });
- $scope.pepActionDictionaryDatas = [];
-
- $scope.getPepActionValues = function(pepOptionValue){
- for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
- var obj = $scope.pepOptionsDictionaryDataEntity[i];
- if (obj.pepName == pepOptionValue){
- var splitAlarm = obj.actions.split(':#@');
- for (var j = 0; j < splitAlarm.length; ++j) {
- $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
- }
- }
- }
- };
+ $scope.pepActionDictionaryDatas = [];
- function trapData(){
- var data = {};
- if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
- trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
- trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
- trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
- trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
- data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
- trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
- trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
- }
- return data;
- }
-
- function faultDatas(){
- var faultData = {};
- if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
- }
- if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
- }
- if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
- trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
- }
- if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
- trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
- }
- if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
- trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
- trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
- }
- if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
- faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
- trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
- trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
- }
- return faultData;
- }
-
- $scope.saveFaultPolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
- $scope.savebutton = false;
- var data = trapData();
- var faultData = faultDatas();
- var uuu = "policycreation/save_policy";
- var postData={policyData: policy,
- trapData : data,
- faultData : faultData
- };
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.data=data.policyData;
- if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- $scope.pushStatus=data.policyData.split("&")[1];
- if($scope.pushStatus=="successPush"){
- Notification.success("Policy pushed successfully");
- }
- $scope.triggerdisabled = true;
- $scope.verificationdisabled = true;
- Notification.success("Policy Saved Successfully.");
- }else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Error Occured while saving Policy.");
- }
- });
- };
-
- $scope.validatePolicy = function(policy){
- console.log(policy);
- document.getElementById("validate").innerHTML = "";
- var uuu = "policyController/validate_policy.htm";
- var data = trapData();
- var faultData = faultDatas();
- var postData={policyData: policy, trapData : data, faultData : faultData};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
+ $scope.getPepActionValues = function(pepOptionValue){
+ for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
+ var obj = $scope.pepOptionsDictionaryDataEntity[i];
+ if (obj.pepName == pepOptionValue){
+ var splitAlarm = obj.actions.split(':#@');
+ for (var j = 0; j < splitAlarm.length; ++j) {
+ $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
+ }
+ }
+ }
+ };
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
- };
- if($scope.connectTriggerTrapsList == undefined){
- $scope.connectTriggerTrapsList = [];
- }
- if($scope.temp.policy.traptriggerSignatures == undefined){
- $scope.temp.policy.traptriggerSignatures = [];
- }
-
- $scope.ItemNo = 0;
- $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
- $scope.addTriggerButton = function() {
- $scope.triggerdisabled = false;
- var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
- $scope.ItemNo = newItemNo;
- $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
- $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
- };
- $scope.removeTriggerButton = function() {
- var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
- $scope.temp.policy.traptriggerSignatures.splice(lastItem);
- $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
- };
+ function trapData(){
+ var data = {};
+ if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
+ trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
+ trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
+ trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
+ trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
+ data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
+ trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
+ trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
+ }
+ return data;
+ }
+
+ function faultDatas(){
+ var faultData = {};
+ if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
+ }
+ if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
+ }
+ if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
+ trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
+ }
+ if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
+ trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
+ }
+ if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
+ trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
+ trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
+ }
+ if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
+ faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
+ trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
+ trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
+ }
+ return faultData;
+ }
+
+ $scope.saveFaultPolicy = function(policy){
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
+ $scope.savebutton = false;
+ var data = trapData();
+ var faultData = faultDatas();
+ var uuu = "policycreation/save_policy";
+ var postData={policyData: policy,
+ trapData : data,
+ faultData : faultData
+ };
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.data=data.policyData;
+ if($scope.data == 'success'){
+ $scope.temp.policy.readOnly = 'true';
+ $scope.pushStatus=data.policyData.split("&")[1];
+ if($scope.pushStatus=="successPush"){
+ Notification.success("Policy pushed successfully");
+ }
+ $scope.triggerdisabled = true;
+ $scope.verificationdisabled = true;
+ Notification.success("Policy Saved Successfully.");
+ }else if ($scope.data == 'PolicyExists'){
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
+ });
+ },
+ error : function(data){
+ Notification.error("Error Occured while saving Policy.");
+ }
+ });
+ };
-
- $scope.trapItemNo = 0;
- $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
- $scope.addTrapTriggerButton = function(indexId) {
- if(trapCollection.indexOf(indexId) !== -1){
+ $scope.validatePolicy = function(policy){
+ document.getElementById("validate").innerHTML = "";
+ var uuu = "policyController/validate_policy.htm";
+ var data = trapData();
+ var faultData = faultDatas();
+ var postData={policyData: policy, trapData : data, faultData : faultData};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
- }else{
- $scope.temp.policy.triggerTrapSignatures[indexId] = [];
- trapCollection.push(indexId);
- }
- var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
- $scope.trapItemNo = newTrapItemNo;
- $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
- if(newTrapItemNo > 1){
- var count = newTrapItemNo-1;
- $scope.varbindDictionaryDatas.push('A'+count);
- }
- };
- $scope.removeTrapTriggerButton = function(indexId) {
- var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
- var checkLastTrapItem = lastTrapItem;
- if(checkLastTrapItem == 0){
- trapCollection.splice(indexId);
- }
- $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
- };
+ });
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
+ };
+ if($scope.connectTriggerTrapsList == undefined){
+ $scope.connectTriggerTrapsList = [];
+ }
+ if($scope.temp.policy.traptriggerSignatures == undefined){
+ $scope.temp.policy.traptriggerSignatures = [];
+ }
+
+ $scope.ItemNo = 0;
+ $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
+ $scope.addTriggerButton = function() {
+ $scope.triggerdisabled = false;
+ var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
+ $scope.ItemNo = newItemNo;
+ $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
+ $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
+ };
+ $scope.removeTriggerButton = function() {
+ var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
+ $scope.temp.policy.traptriggerSignatures.splice(lastItem);
+ $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
+ };
- if($scope.temp.policy.connecttriggerSignatures == undefined){
- $scope.temp.policy.connecttriggerSignatures = [];
- }
-
- $scope.connecttrapItemNo = 0;
- $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
- $scope.addTriggerConnectButton = function() {
- var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
- $scope.connecttrapItemNo = newConnectTrapItemNo;
- $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
- if(newConnectTrapItemNo >1){
- var count = newConnectTrapItemNo-1;
- $scope.connectTriggerTrapsList.push('C'+count);
- }
- };
- $scope.removeTriggerConnectButton = function() {
- var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
- $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
- if(lastConnectTrapItem < 1){
- var count = lastConnectTrapItem-1;
- $scope.connectTriggerTrapsList.splice('C'+count);
- }
- };
- if($scope.connectTriggerFaultsList == undefined){
- $scope.connectTriggerFaultsList = [];
- }
- if($scope.temp.policy.faulttriggerSignatures == undefined){
- $scope.temp.policy.faulttriggerSignatures = [];
- }
-
- $scope.FaultItemNo = 0;
- $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
- $scope.addVerFaultButton = function() {
- var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
- $scope.FaultItemNo = newFaultItemNo;
- $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
- $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
- };
- $scope.removeVerFaultButton = function() {
- var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
- $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
- $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
- };
- if($scope.temp.policy.triggerfaultSignatures == undefined){
- $scope.temp.policy.triggerfaultSignatures = [];
- }
-
- $scope.faultItemNo1 = 0;
- $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
- $scope.addVerTriggerButton = function(indexId) {
- $scope.verificationdisabled = false;
- if(faultCollection.indexOf(indexId) !== -1){
+
+ $scope.trapItemNo = 0;
+ $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
+ $scope.addTrapTriggerButton = function(indexId) {
+ if(trapCollection.indexOf(indexId) === -1){
+ $scope.temp.policy.triggerTrapSignatures[indexId] = [];
+ trapCollection.push(indexId);
+ }
+ var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
+ $scope.trapItemNo = newTrapItemNo;
+ $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
+ if(newTrapItemNo > 1){
+ var count = newTrapItemNo-1;
+ $scope.varbindDictionaryDatas.push('A'+count);
+ }
+ };
+ $scope.removeTrapTriggerButton = function(indexId) {
+ var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
+ var checkLastTrapItem = lastTrapItem;
+ if(checkLastTrapItem == 0){
+ trapCollection.splice(indexId);
+ }
+ $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
+ };
- }else{
- $scope.temp.policy.triggerfaultSignatures[indexId] = [];
- faultCollection.push(indexId);
- }
- var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
- $scope.faultItemNo1 = newFaultItemNo1;
- $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
- if(newFaultItemNo1 > 1){
- var count = newFaultItemNo1-1;
- $scope.varbindDictionaryDatas.push('A'+count);
- }
- };
- $scope.removeVerTriggerButton = function(indexId) {
- var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
- var checkLastFaultItem = lastFaultItem1;
- if(checkLastFaultItem == 0){
- faultCollection.splice(indexId);
- }
- $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
- };
+ if($scope.temp.policy.connecttriggerSignatures == undefined){
+ $scope.temp.policy.connecttriggerSignatures = [];
+ }
+
+ $scope.connecttrapItemNo = 0;
+ $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
+ $scope.addTriggerConnectButton = function() {
+ var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
+ $scope.connecttrapItemNo = newConnectTrapItemNo;
+ $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
+ if(newConnectTrapItemNo >1){
+ var count = newConnectTrapItemNo-1;
+ $scope.connectTriggerTrapsList.push('C'+count);
+ }
+ };
+ $scope.removeTriggerConnectButton = function() {
+ var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
+ $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
+ if(lastConnectTrapItem < 1){
+ var count = lastConnectTrapItem-1;
+ $scope.connectTriggerTrapsList.splice('C'+count);
+ }
+ };
+ if($scope.connectTriggerFaultsList == undefined){
+ $scope.connectTriggerFaultsList = [];
+ }
+ if($scope.temp.policy.faulttriggerSignatures == undefined){
+ $scope.temp.policy.faulttriggerSignatures = [];
+ }
+
+ $scope.FaultItemNo = 0;
+ $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
+ $scope.addVerFaultButton = function() {
+ var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
+ $scope.FaultItemNo = newFaultItemNo;
+ $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
+ $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
+ };
+ $scope.removeVerFaultButton = function() {
+ var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
+ $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
+ $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
+ };
+ if($scope.temp.policy.triggerfaultSignatures == undefined){
+ $scope.temp.policy.triggerfaultSignatures = [];
+ }
+
+ $scope.faultItemNo1 = 0;
+ $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
+ $scope.addVerTriggerButton = function(indexId) {
+ $scope.verificationdisabled = false;
+ if(faultCollection.indexOf(indexId) === -1){
+ $scope.temp.policy.triggerfaultSignatures[indexId] = [];
+ faultCollection.push(indexId);
+ }
+ var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
+ $scope.faultItemNo1 = newFaultItemNo1;
+ $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
+ if(newFaultItemNo1 > 1){
+ var count = newFaultItemNo1-1;
+ $scope.varbindDictionaryDatas.push('A'+count);
+ }
+ };
+ $scope.removeVerTriggerButton = function(indexId) {
+ var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
+ var checkLastFaultItem = lastFaultItem1;
+ if(checkLastFaultItem == 0){
+ faultCollection.splice(indexId);
+ }
+ $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
+ };
- if($scope.temp.policy.connectVerificationSignatures == undefined){
- $scope.temp.policy.connectVerificationSignatures = [];
- }
-
- $scope.connectFaultItemNo = 0;
- $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
- $scope.addFaultConnectButton = function() {
- var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
- $scope.connectFaultItemNo = newConnectFaultItemNo;
- $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
- if(newConnectFaultItemNo >1){
- var count = newConnectFaultItemNo-1;
- $scope.connectTriggerFaultsList.push('C'+count);
- }
- };
- $scope.removeFaultConnectButton = function() {
- var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
- $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
- if(lastConnectFaultItem < 1){
- var count = lastConnectFaultItem-1;
- $scope.connectTriggerFaultsList.splice('C'+count);
- }
- };
+ if($scope.temp.policy.connectVerificationSignatures == undefined){
+ $scope.temp.policy.connectVerificationSignatures = [];
+ }
+
+ $scope.connectFaultItemNo = 0;
+ $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
+ $scope.addFaultConnectButton = function() {
+ var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
+ $scope.connectFaultItemNo = newConnectFaultItemNo;
+ $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
+ if(newConnectFaultItemNo >1){
+ var count = newConnectFaultItemNo-1;
+ $scope.connectTriggerFaultsList.push('C'+count);
+ }
+ };
+ $scope.removeFaultConnectButton = function() {
+ var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
+ $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
+ if(lastConnectFaultItem < 1){
+ var count = lastConnectFaultItem-1;
+ $scope.connectTriggerFaultsList.splice('C'+count);
+ }
+ };
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopPMController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopPMController.js
index a67266074..454a724a9 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopPMController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/ClosedLoopPMController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ angular.module("abs").controller('clPMController', ['$scope', '$window', '$timeo
policyType : "Config",
configPolicyType : "ClosedLoop_PM"
}
- };
+ }
$scope.refresh = function(){
if($scope.refreshCheck){
@@ -193,4 +193,4 @@ angular.module("abs").controller('clPMController', ['$scope', '$window', '$timeo
});
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js
index cffa46f53..1e452e830 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DCAEMicroServicePolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,9 @@
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$window', '$compile', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function ($scope, $window, $compile, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
+angular.module('abs').controller('dcaeMicroServiceController',
+ ['$scope', '$window', '$compile', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function ($scope, $window, $compile, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
$("#dialog").hide();
$scope.policyNavigator;
@@ -29,18 +31,18 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind
var layer = 0;
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "Micro Service"
- }
- };
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "Micro Service"
+ }
+ }
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -48,328 +50,290 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
- if ($scope.temp.policy.editPolicy != undefined|| $scope.temp.policy.readOnly != undefined){
- if ($scope.temp.policy.configName == undefined){
- $scope.isCheck = false;
- }else{
- $scope.isCheck = true;
- }
- }else {
- $scope.isCheck = false;
- }
-
- PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
- console.log($scope.onapNameDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ if ($scope.temp.policy.editPolicy != undefined|| $scope.temp.policy.readOnly != undefined){
+ if ($scope.temp.policy.configName == undefined){
+ $scope.isCheck = false;
+ }else{
+ $scope.isCheck = true;
+ }
+ }else {
+ $scope.isCheck = false;
+ }
+
+ PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
+ });
- PolicyAppService.getData('get_DCAEPriorityValues').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.priorityDatas = JSON.parse($scope.data.priorityDatas);
- console.log($scope.priorityDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('get_DCAEPriorityValues').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.priorityDatas = JSON.parse($scope.data.priorityDatas);
+ });
- PolicyAppService.getData('getDictionary/get_GroupPolicyScopeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.groupPolicyScopeListDatas = JSON.parse($scope.data.groupPolicyScopeListDatas);
- console.log($scope.groupPolicyScopeListDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_GroupPolicyScopeDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.groupPolicyScopeListDatas = JSON.parse($scope.data.groupPolicyScopeListDatas);
+ });
- PolicyAppService.getData('getDictionary/get_MicroServiceConfigNameDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- console.log("$scope.data.microServiceConfigNameDictionaryDatas : " + $scope.data.microServiceConfigNameDictionaryDatas);
- if($scope.data.microServiceConfigNameDictionaryDatas){
- $scope.microServiceCongigNameDictionaryDatas = JSON.parse($scope.data.microServiceConfigNameDictionaryDatas);
- }
- console.log($scope.microServiceCongigNameDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_MicroServiceConfigNameDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ if($scope.data.microServiceConfigNameDictionaryDatas){
+ $scope.microServiceCongigNameDictionaryDatas = JSON.parse($scope.data.microServiceConfigNameDictionaryDatas);
+ }
+ });
- PolicyAppService.getData('getDictionary/get_MicroServiceLocationDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.microServiceLocationDictionaryDatas = JSON.parse($scope.data.microServiceLocationDictionaryDatas);
- console.log($scope.microServiceLocationDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_MicroServiceLocationDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.microServiceLocationDictionaryDatas = JSON.parse($scope.data.microServiceLocationDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_MicroServiceModelsDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- var inputModelList = JSON.parse($scope.data.microServiceModelsDictionaryDatas);
- var unique = {};
- var uniqueList = [];
- for(var i = 0; i < inputModelList.length; i++){
- if(typeof unique[inputModelList[i]] == "undefined"){
- unique[inputModelList[i]] = "";
- uniqueList.push(inputModelList[i]);
- }
- }
- $scope.microServiceModelsDictionaryDatas = uniqueList;
- console.log($scope.microServiceModelsDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_MicroServiceModelsDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ var inputModelList = JSON.parse($scope.data.microServiceModelsDictionaryDatas);
+ var unique = {};
+ var uniqueList = [];
+ for(var i = 0; i < inputModelList.length; i++){
+ if(typeof unique[inputModelList[i]] == "undefined"){
+ unique[inputModelList[i]] = "";
+ uniqueList.push(inputModelList[i]);
+ }
+ }
+ $scope.microServiceModelsDictionaryDatas = uniqueList;
+ });
- PolicyAppService.getData('getDictionary/get_DCAEUUIDDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.dcaeUUIDDictionaryDatas = JSON.parse($scope.data.dcaeUUIDDictionaryDatas);
- console.log($scope.dcaeUUIDDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_DCAEUUIDDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.dcaeUUIDDictionaryDatas = JSON.parse($scope.data.dcaeUUIDDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
+ });
- PolicyAppService.getData('getDictionary/get_MicroServiceAttributeData').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.microServiceAttributeDictionaryDatas = JSON.parse($scope.data.microServiceAttributeDictionaryDatas);
- console.log($scope.microServiceAttributeDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
-
+ PolicyAppService.getData('getDictionary/get_MicroServiceAttributeData').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.microServiceAttributeDictionaryDatas = JSON.parse($scope.data.microServiceAttributeDictionaryDatas);
+ });
+
- $scope.choices = [];
- $scope.attributeDatas = [{"attributes" : $scope.choices}];
- addNewChoice = function(value) {
- console.log("input key : " + value);
- var isFoundInRuleData = false;
- if(value != undefined){
- if (value.startsWith('div.')){
- value = value.replace('div.','');
- }
-
- console.log(" document.getElementById : div."+value);
- var parentElement = document.getElementById("div."+value);
- console.log("parentElement : " + parentElement);
- var div = document.getElementById(value+"@0");
- if(div != null){
- var clone = div.cloneNode(true);
- var addElement = parentElement.childElementCount;
- clone.id = ''+value+'@'+addElement;
- clone.value = '';
- if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){ //if it's view or edit
- if($scope.temp.policy.ruleData[clone.id] || $scope.temp.policy.editPolicy){ // Only append child if its value found in ruleData or edit mode
- if($scope.temp.policy.ruleData[clone.id]){
- clone.value = $scope.temp.policy.ruleData[clone.id];
- isFoundInRuleData = true;
- }
- console.log(" clone.value :" + clone.value);
- console.log(" clone.id :" + clone.id);
- if(!isFoundInRuleData && isInitViewEdit){
- return;
- }
- if(!clone.className.includes("child_single")){
- clone.className += ' child_single'; //here cloned is single element
- }
- document.getElementById("div."+value).appendChild(clone);
- plainAttributeKeys.push(''+value+'@'+addElement);
- }
- }else{ //not view or edit
- if(!clone.className.includes("child_single")){
- clone.className += ' child_single'; //here cloned is single element
- }
- document.getElementById("div."+value).appendChild(clone);
- plainAttributeKeys.push(''+value+'@'+addElement);
- }
- }else{
-
- if(parentElement == null){
- return;
- }
- div = document.getElementById("div."+value+"@0");
- if(div){
-
- if(!div.className.includes('children_group border')){
- layer++;
- if(layer > 4){
- layer = 1
- };
- div.className += ' children_group border' + layer; //here is div with a group of children.
- }
- }
- var childElement = parentElement.firstElementChild;
- var countParent = parentElement.childElementCount;
- var childElementString = childElement.innerHTML;
- var find = value+"@0";
- var re = new RegExp(find, 'g');
- childElementString = childElementString.replace(re,value+'@' + countParent);
- var clone = childElement.cloneNode(true);
- for (var ii = 0; ii < parentElement.childNodes.length; ii++){
- var childId = parentElement.childNodes[ii].id;
- if(ii = parentElement.childNodes.length){
- var childnewId = childId.slice(0, -1);
- var count = childId.slice(-1);
- }
- }
- var countvalue = parseInt(count) + 1;
- clone.id = childnewId+countvalue;
- clone.value = '';
- clone.innerHTML=childElementString;
- document.getElementById("div."+value).appendChild(clone);
- var selects = clone.getElementsByTagName("select");
- var inputs = clone.getElementsByTagName("input");
- var removeValues = [];
- for(var i=0; i<inputs.length; i++){
- if ($scope.temp.policy.ruleData!=undefined){
- var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
- console.log(" checkValue.value :" + checkValue);
- console.log(" inputs["+i+"].id :" + inputs[i].id);
- if (checkValue!=undefined && checkValue != "undefined"){
- document.getElementById(inputs[i].id).value = checkValue;
- plainAttributeKeys.push(inputs[i].id);
- } else {
- plainAttributeKeys.push(inputs[i].id);
- }
- }else {
- plainAttributeKeys.push(inputs[i].id);
- }
- }
-
- for(var i=0; i<selects.length; i++){
- if ($scope.temp.policy.ruleData!=undefined){
- var checkValue = $scope.temp.policy.ruleData[selects[i].id];
- if (checkValue!=undefined && checkValue!="undefined"){
- if($scope.temp.policy.ruleData != null){
- var checkValue = $scope.temp.policy.ruleData[selects[i].id];
- var option = document.createElement('option');
- option.setAttribute('value', checkValue);
- option.appendChild(document.createTextNode(checkValue));
- document.getElementById(selects[i].id).appendChild(option);
- document.getElementById(selects[i].id).value = $scope.temp.policy.ruleData[selects[i].id];
- plainAttributeKeys.push(selects[i].id);
- }
- } else {
- plainAttributeKeys.push(selects[i].id);
- }
- }else {
- plainAttributeKeys.push(selects[i].id);
- }
- }
-
- for (var k=0; k<removeValues.length; k++){
- var elem = document.getElementById(removeValues[k]);
- elem.parentNode.removeChild(elem);
- }
- var ele = angular.element(document.getElementById("div."+value));
- $compile(ele.contents())($scope)
- }
- }
- };
-
-
- removeChoice = function(value) {
- console.log(value);
- if(value != undefined){
- var c = document.getElementById("div."+value).childElementCount;
-
- if(c == 1){
- Notification.error("The original one is not removable.");
- return;
- }
- document.getElementById("div."+value).removeChild(document.getElementById("div."+value).lastChild);
- }
- };
-
- function findVal(object, key) {
- var value;
- Object.keys(object).some(function(k) {
- if (k === key) {
- value = object[k];
- return true;
- }
- if (object[k] && typeof object[k] === 'object') {
- value = findVal(object[k], key);
- return value !== undefined;
- }
- });
- return value;
- }
-
- $scope.pullVersion = function(serviceName) {
- console.log(serviceName);
- if(serviceName != undefined){
- var uuu = "policyController/getModelServiceVersioneData.htm";
- var postData={policyData: serviceName};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.microServiceModelsDictionaryVersionDatas = data[0].dcaeModelVersionData;
- });
- },
- error : function(data){
- alert("Error While Retriving the Template Layout Pattren.");
- }
- });
- }
- };
+ $scope.choices = [];
+ $scope.attributeDatas = [{"attributes" : $scope.choices}];
+ addNewChoice = function(value) {
+ var isFoundInRuleData = false;
+ if(value != undefined){
+ if (value.startsWith('div.')){
+ value = value.replace('div.','');
+ }
+
+ var parentElement = document.getElementById("div."+value);
+ var div = document.getElementById(value+"@0");
+ if(div != null){
+ var clone = div.cloneNode(true);
+ var addElement = parentElement.childElementCount;
+ clone.id = ''+value+'@'+addElement;
+ clone.value = '';
+ if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){
+ //if it's vi or edit
+ if($scope.temp.policy.ruleData[clone.id] || $scope.temp.policy.editPolicy){
+ //Only append child if its value found in ruleData or edit mode
+ if($scope.temp.policy.ruleData[clone.id]){
+ clone.value = $scope.temp.policy.ruleData[clone.id];
+ isFoundInRuleData = true;
+ }
+ if(!isFoundInRuleData && isInitViewEdit){
+ return;
+ }
+ if(!clone.className.includes("child_single")){
+ clone.className += ' child_single'; // here cloned is single element
+ }
+ document.getElementById("div."+value).appendChild(clone);
+ plainAttributeKeys.push(''+value+'@'+addElement);
+ }
+ }else{ // not view or edit
+ if(!clone.className.includes("child_single")){
+ clone.className += ' child_single'; // here cloned is single element
+ }
+ document.getElementById("div."+value).appendChild(clone);
+ plainAttributeKeys.push(''+value+'@'+addElement);
+ }
+ }else{
+
+ if(parentElement == null){
+ return;
+ }
+ div = document.getElementById("div."+value+"@0");
+ if(div){
+
+ if(!div.className.includes('children_group border')){
+ layer++;
+ if(layer > 4){
+ layer = 1
+ }
+ div.className += ' children_group border' + layer; // here is div with a group of children.
+ }
+ }
+ var childElement = parentElement.firstElementChild;
+ var countParent = parentElement.childElementCount;
+ var childElementString = childElement.innerHTML;
+ var find = value+"@0";
+ var re = new RegExp(find, 'g');
+ childElementString = childElementString.replace(re,value+'@' + countParent);
+ var clone = childElement.cloneNode(true);
+ for (var ii = 0; ii < parentElement.childNodes.length; ii++){
+ var childId = parentElement.childNodes[ii].id;
+ if(ii = parentElement.childNodes.length){
+ var childnewId = childId.slice(0, -1);
+ var count = childId.slice(-1);
+ }
+ }
+ var countvalue = parseInt(count) + 1;
+ clone.id = childnewId+countvalue;
+ clone.value = '';
+ clone.innerHTML=childElementString;
+ document.getElementById("div."+value).appendChild(clone);
+ var selects = clone.getElementsByTagName("select");
+ var inputs = clone.getElementsByTagName("input");
+ var removeValues = [];
+ for(var i=0; i<inputs.length; i++){
+ plainAttributeKeys.push(inputs[i].id);
+ if ($scope.temp.policy.ruleData!=undefined){
+ var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
+ if (checkValue!=undefined && checkValue != "undefined"){
+ if(checkValue == "false"){
+ document.getElementById(inputs[i].id).removeAttribute("checked");
+ }
+ else if(checkValue == "true"){
+ document.getElementById(inputs[i].id).setAttribute("checked", true);
+ }else{
+ document.getElementById(inputs[i].id).value = checkValue;
+ }
+ } else {
+ if(inputs[i].type == "checkbox"){
+ inputs[i].checked = false;
+ }
+ }
+ }else {
+ document.getElementById(inputs[i].id).removeAttribute("checked");
+ }
+ }
+
+ for(var i=0; i<selects.length; i++){
+ if ($scope.temp.policy.ruleData!=undefined){
+ var checkValue = $scope.temp.policy.ruleData[selects[i].id];
+ if (checkValue!=undefined && checkValue!="undefined"){
+ if($scope.temp.policy.ruleData != null){
+ var checkValue = $scope.temp.policy.ruleData[selects[i].id];
+ var option = document.createElement('option');
+ option.setAttribute('value', checkValue);
+ option.appendChild(document.createTextNode(checkValue));
+ document.getElementById(selects[i].id).appendChild(option);
+ document.getElementById(selects[i].id).value = $scope.temp.policy.ruleData[selects[i].id];
+ plainAttributeKeys.push(selects[i].id);
+ }
+ } else {
+ plainAttributeKeys.push(selects[i].id);
+ }
+ }else {
+ plainAttributeKeys.push(selects[i].id);
+ }
+ }
+
+ for (var k=0; k<removeValues.length; k++){
+ var elem = document.getElementById(removeValues[k]);
+ elem.parentNode.removeChild(elem);
+ }
+ var ele = angular.element(document.getElementById("div."+value));
+ $compile(ele.contents())($scope)
+ }
+ }
+ };
+
+
+ removeChoice = function(value) {
+ if(value != undefined){
+ var c = document.getElementById("div."+value).childElementCount;
+
+ if(c == 1){
+ Notification.error("The original one is not removable.");
+ return;
+ }
+ document.getElementById("div."+value).removeChild(document.getElementById("div."+value).lastChild);
+ }
+ };
+
+ function findVal(object, key) {
+ var value;
+ Object.keys(object).some(function(k) {
+ if (k === key) {
+ value = object[k];
+ return true;
+ }
+ if (object[k] && typeof object[k] === 'object') {
+ value = findVal(object[k], key);
+ return value !== undefined;
+ }
+ });
+ return value;
+ }
+
+ $scope.pullVersion = function(serviceName) {
+ if(serviceName != undefined){
+ var uuu = "policyController/getModelServiceVersioneData.htm";
+ var postData={policyData: serviceName};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.microServiceModelsDictionaryVersionDatas = data[0].dcaeModelVersionData;
+ });
+ },
+ error : function(data){
+ Notification.error("Error While Retriving the Template Layout Pattren.");
+ }
+ });
+ }
+ };
- var splitDash = '-';
- var splitEqual = '=';
- var splitComma = ',';
- var splitcolon = ':';
- var splitsemicolon = ";";
- var splitEnum = "],";
- var plainAttributeKeys = [];
- var matching = [];
- var enumKeyList = [];
- var dictionaryList = [];
- var dictionaryNameList = [];
- var isInitViewEdit = false;
+ var splitEqual = '=';
+ var splitComma = ',';
+ var splitcolon = ':';
+ var splitEnum = "],";
+ var plainAttributeKeys = [];
+ var matching = [];
+ var enumKeyList = [];
+ var dictionaryList = [];
+ var dictionaryNameList = [];
+ var isInitViewEdit = false;
$scope.addDataToFields = function(serviceName, version){
if(serviceName != null && version !=null){
- var service=serviceName+"-v"+version;
- var myNode = document.getElementById("DynamicTemplate");
- myNode.innerHTML = '';
+ var service=serviceName+"-v"+version;
+ var myNode = document.getElementById("DynamicTemplate");
+ myNode.innerHTML = '';
var uuu = "policyController/getDCAEMSTemplateData.htm";
var postData={policyData: service};
- console.log("service: " +service);
var dataOrderInfo = "";
@@ -384,217 +348,206 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind
contentType: 'application/json',
data: JSON.stringify(postData),
success : function(data){
-
- document.getElementById("msPolicyloader").style.visibility = "hidden";
-
+
+ document.getElementById("msPolicyloader").style.visibility = "hidden";
+
$scope.$apply(function(){
- var plainAttributeKeys = [];
- $scope.dcaeModelData = data[0].dcaeModelData;
- $scope.dcaeJsonDate = data[0].jsonValue;
+ $scope.dcaeModelData = data[0].dcaeModelData;
+ $scope.dcaeJsonDate = data[0].jsonValue;
$scope.dataOrderInfo = null;
- $scope.dataOrderInfo = data[0].dataOrderInfo;
- console.log("data[0].dataOrderInfo: " + data[0].dataOrderInfo);
- console.log("$scope.dataOrderInfo: " + $scope.dataOrderInfo);
-
- if(data[0].allManyTrueKeys){
- console.log("$scope.allManyTrueKeys: " + $scope.allManyTrueKeys);
- }
- console.log("$scope.dcaeJsonDate: " + $scope.dcaeJsonDate);
- var attributes = $scope.dcaeModelData.attributes;
- console.log("attributes: " +attributes);
- var refAttributes = $scope.dcaeModelData.ref_attributes;
- var subAttributes = $scope.dcaeModelData.sub_attributes;
- console.log("subAttributes: " + subAttributes);
- console.log("refAttributes: " + refAttributes);
- var headDefautlsData = data[0].headDefautlsData;
- if(headDefautlsData != null){
- $scope.temp.policy.onapName = headDefautlsData.onapName;
- $scope.temp.policy.guard = headDefautlsData.guard;
- $scope.temp.policy.riskType = headDefautlsData.riskType;
- $scope.temp.policy.riskLevel = headDefautlsData.riskLevel;
- $scope.temp.policy.priority = headDefautlsData.priority;
- }
-
- var enumAttributes = $scope.dcaeModelData.enumValues;
- var annotation = $scope.dcaeModelData.annotation;
- var dictionary = $scope.microServiceAttributeDictionaryDatas;
+ $scope.dataOrderInfo = data[0].dataOrderInfo;
+
+ if(data[0].allManyTrueKeys){
+ }
+ var attributes = $scope.dcaeModelData.attributes;
+ var refAttributes = $scope.dcaeModelData.ref_attributes;
+ var subAttributes = $scope.dcaeModelData.sub_attributes;
+ var headDefautlsData = data[0].headDefautlsData;
+ if(headDefautlsData != null){
+ $scope.temp.policy.onapName = headDefautlsData.onapName;
+ $scope.temp.policy.guard = headDefautlsData.guard;
+ $scope.temp.policy.riskType = headDefautlsData.riskType;
+ $scope.temp.policy.riskLevel = headDefautlsData.riskLevel;
+ $scope.temp.policy.priority = headDefautlsData.priority;
+ }
+
+ var annotation = $scope.dcaeModelData.annotation;
+ var dictionary = $scope.microServiceAttributeDictionaryDatas;
- if (annotation == null || annotation.length<1){
- $scope.isCheck = true;
- }else {
- $scope.isCheck = false;
- var annoationList = annotation.split(splitComma);
- for (k = 0; k < annoationList.length; k++){
- var splitAnnotation = annoationList[k].split(splitEqual);
- if (splitAnnotation[1].includes("matching-true")){
- matching.push(splitAnnotation[0].trim());
- }
- }
+ if (annotation == null || annotation.length<1){
+ $scope.isCheck = true;
+ }else {
+ $scope.isCheck = false;
+ var annoationList = annotation.split(splitComma);
+ for (k = 0; k < annoationList.length; k++){
+ var splitAnnotation = annoationList[k].split(splitEqual);
+ if (splitAnnotation[1].includes("matching-true")){
+ matching.push(splitAnnotation[0].trim());
+ }
+ }
- }
+ }
- if (dictionary!= null && dictionary.length>1){
- for (m=0; m < dictionary.length; m += 1){
- var keyCompare = dictionary[m].name;
- var valueCompare = dictionary[m].value;
- var valueModel = dictionary[m].modelName;
- var conpairService = serviceName;
- if (valueModel.includes('-v')){
- conpairService = service;
- }
- if(valueModel.localeCompare(conpairService) == 0){
- console.log(valueCompare);
- dictionaryList.push(dictionary[m]);
- if (!dictionaryNameList.includes(dictionary[m].name)){
- dictionaryNameList.push(dictionary[m].name)
- }
- }
- }
- }
+ if (dictionary!= null && dictionary.length>1){
+ for (m=0; m < dictionary.length; m += 1){
+ var valueCompare = dictionary[m].value;
+ var valueModel = dictionary[m].modelName;
+ var conpairService = serviceName;
+ if (valueModel.includes('-v')){
+ conpairService = service;
+ }
+ if(valueModel.localeCompare(conpairService) == 0){
+ dictionaryList.push(dictionary[m]);
+ if (!dictionaryNameList.includes(dictionary[m].name)){
+ dictionaryNameList.push(dictionary[m].name)
+ }
+ }
+ }
+ }
- $scope.temp.policy.ruleGridData = [];
-
- if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){
- dataOrderInfo = $scope.dataOrderInfo;
- }
-
- $scope.jsonLayout($scope.dcaeJsonDate);
-
+ $scope.temp.policy.ruleGridData = [];
+
+ if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){
+ dataOrderInfo = $scope.dataOrderInfo;
+ }
+
+ $scope.jsonLayout($scope.dcaeJsonDate);
+
});
if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){ // If it's veiw or edit
- isInitViewEdit = true;
- var checkData = [];
- var data = [];
- // If ruleData contains extra elements created by clicked add button
- console.log("$scope.temp.policy.ruleData:" + $scope.temp.policy.ruleData);
- if($scope.temp.policy.ruleData != null){
- var propNames = Object.getOwnPropertyNames($scope.temp.policy.ruleData);
- propNames.forEach(function(name) {
- data.push(name);
- });
-
- var extraElements = data;
-
- if(plainAttributeKeys != null){
- for(var b = 0; b < plainAttributeKeys.length; b++){ // Remove already populated elements from data array
- var newValue = plainAttributeKeys[b].split("*");
- for(var a = 0; a < data.length; a++){
- if(data[a] === newValue[0] || data[a] === (newValue[0]+"@0")){
- extraElements.splice(a, 1);
- }
- }
- }
-
- //--- Populate these extra elements created by clicked add button
- for(var a = 0; a < extraElements.length; a++){
- if(extraElements[a].includes("@")){
- var index = extraElements[a].lastIndexOf("@");
- if(index > 0){
- // Get the number after @
- var n = getNumOfDigits(extraElements[a], index+1);
-
- var key = extraElements[a].substring(0, index+n+1); //include @x in key also by n+2 since x can be 1,12, etc
- console.log("key: " + key);
- checkData.push(key);
- }
- }
- }
- var unique = checkData.filter(onlyUnique);
- var parentLevelElements = [];
- if(unique){
- //--- get all root level exta elments first (only contains one "@")
- for(var i =0; i < unique.length; i++){
- var firstIndex = unique[i].indexOf("@");
- var lastIndex = unique[i].lastIndexOf("@");
- if(firstIndex == lastIndex){
- var newKey = unique[i].substring(0, firstIndex);
- console.log("root element: " + newKey);
- parentLevelElements.push(newKey);
- unique[i] = "*processed*";
- }
- }
- }
-
-
- for (var i = 0; i < $scope.labelManyKeys.length; i++) {
- var label = $scope.labelManyKeys[i];
- if(parentLevelElements){
- for (var k = 0; k < parentLevelElements.length; k++){
- if(label == parentLevelElements[k]){
- addNewChoice(label);
- }
- }
- }
- }
-
- //if no layout order info, keep the process as before
- if(!dataOrderInfo){
- for(var i =0; i < unique.length; i++){
- if(unique[i] != "*processed*"){
- var index = unique[i].lastIndexOf("@");
- var newKey = unique[i].substring(0, index);
- console.log("newKey: " + newKey);
-
- var newElement = document.getElementById("div."+unique[j]);
- //check weather it has been created already
+ isInitViewEdit = true;
+ var checkData = [];
+ var data = [];
+ // If ruleData contains extra elements created by clicked add button
+ if($scope.temp.policy.ruleData != null){
+ var propNames = Object.getOwnPropertyNames($scope.temp.policy.ruleData);
+ propNames.forEach(function(name) {
+ if(document.getElementById(name) != null){
+ if(document.getElementById(name).getAttribute("class") == "onoffswitch-checkbox"){
+ if($scope.temp.policy.ruleData[name] == "true"){
+ document.getElementById(name).setAttribute("checked", true);
+ }
+ else{
+ document.getElementById(name).removeAttribute("checked");
+ }
+ }
+ }
+ data.push(name);
+ });
+ var extraElements = data;
+ if(plainAttributeKeys != null){
+ for(var b = 0; b < plainAttributeKeys.length; b++){ // Remove already populated elements from data array
+ var newValue = plainAttributeKeys[b].split("*");
+ for(var a = 0; a < data.length; a++){
+ if(data[a] === newValue[0] || data[a] === (newValue[0]+"@0")){
+ extraElements.splice(a, 1);
+ }
+ }
+ }
+ // --- Populate these extra elements created by clicked add button
+ for(var a = 0; a < extraElements.length; a++){
+ if(extraElements[a].includes("@")){
+ var index = extraElements[a].lastIndexOf("@");
+ if(index > 0){
+ // Get the number after @
+ var n = getNumOfDigits(extraElements[a], index+1);
+ var key = extraElements[a].substring(0, index+n+1); // include @x in key also by n+2 since x can be 1,12,etc
+ checkData.push(key);
+ }
+ }
+ }
+ var unique = checkData.filter(onlyUnique);
+ var parentLevelElements = [];
+ if(unique){
+ // --- get all root level exta elments first (only contains one "@")
+ for(var i =0; i < unique.length; i++){
+ var firstIndex = unique[i].indexOf("@");
+ var lastIndex = unique[i].lastIndexOf("@");
+ if(firstIndex == lastIndex){
+ var newKey = unique[i].substring(0, firstIndex);
+ parentLevelElements.push(newKey);
+ unique[i] = "*processed*";
+ }
+ }
+ }
+ for (var i = 0; i < $scope.labelManyKeys.length; i++) {
+ var label = $scope.labelManyKeys[i];
+ if(parentLevelElements){
+ for (var k = 0; k < parentLevelElements.length; k++){
+ if(label == parentLevelElements[k]){
+ addNewChoice(label);
+ }
+ }
+ }
+ }
+
+ // if no layout order info, keep the process as before
+ if(!dataOrderInfo){
+ for(var i =0; i < unique.length; i++){
+ if(unique[i] != "*processed*"){
+ var index = unique[i].lastIndexOf("@");
+ var newKey = unique[i].substring(0, index);
+
+ var newElement = document.getElementById("div."+unique[j]);
+ // check weather it has been created already
if(newElement != null){
- continue;
+ continue;
}else{
- newElement = document.getElementById(unique[j]);
- if(newElement != null){
- continue;
- }
+ newElement = document.getElementById(unique[j]);
+ if(newElement != null){
+ continue;
+ }
}
- if(newKey){
- addNewChoice(newKey);
- }
- }
- }
- }else{
- //---reset to default
- dataOrderInfo = [];
- $scope.labelManyKeys = [];
-
- //---process none labels
- for (var j = 0; j < unique.length; j++){
- if(unique[j] != "*processed*"){
- // if not created yet
- if(!document.getElementById(unique[j])){
- var index = unique[j].lastIndexOf("@");
- var newKey = unique[j].substring(0, index);
-
- var newElement = document.getElementById("div."+unique[j]);
-
- //check weather it has been created already
+ if(newKey){
+ addNewChoice(newKey);
+ }
+ }
+ }
+ }else{
+ // ---reset to default
+ dataOrderInfo = [];
+ $scope.labelManyKeys = [];
+
+ // ---process none labels
+ for (var j = 0; j < unique.length; j++){
+ if(unique[j] != "*processed*"){
+ // if not created yet
+ if(!document.getElementById(unique[j])){
+ var index = unique[j].lastIndexOf("@");
+ var newKey = unique[j].substring(0, index);
+
+ var newElement = document.getElementById("div."+unique[j]);
+
+ // check weather it has been created already
if(newElement != null){
- continue;
+ continue;
}else{
- newElement = document.getElementById(unique[j]);
- if(newElement != null){
- continue;
- }
+ newElement = document.getElementById(unique[j]);
+ if(newElement != null){
+ continue;
+ }
}
- //if not created yet, then create it.
- addNewChoice(newKey);
-
- }
- }
- }
- }
- }
- }
+ // if not created yet,then create it.
+ addNewChoice(newKey);
+
+ }
+ }
+ }
+ }
+ }
+ }
}
var ele = angular.element(document.getElementById("DynamicTemplate"));
- $compile(ele.contents())($scope);
+ $compile(ele.contents())($scope);
$scope.$apply();
isInitViewEdit = false;
},
error : function(data){
- alert("Error While Retriving the Template Layout Pattren.");
+ Notification.error("Error While Retriving the Template Layout Pattren.");
}
});
@@ -602,991 +555,967 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind
};
function getNumOfDigits(str_value, index){
- // Get the number after @
- var str = str_value.substring(index, str_value.length);
- var c = '';
- var n = 0;
- for (var x = 0; x < str.length; x++){
- c = str.charAt(x);
- if(!isNaN(c)){
+ // Get the number after @
+ var str = str_value.substring(index, str_value.length);
+ var c = '';
+ var n = 0;
+ for (var x = 0; x < str.length; x++){
+ c = str.charAt(x);
+ if(!isNaN(c)){
n++;
- }else{
+ }else{
break;
}
- }
- return n;
+ }
+ return n;
}
function getDictionary(attribute){
- var dicName = attribute;
- if(attribute){
- if(attribute.includes(":")){
- dicName = attribute.split(":")[0];
- }
- }
- var dictionaryRegExp = new RegExp(dicName);
- listemunerateValues = [];
- if (dictionaryRegExp.test(dictionaryNameList)) {
- for (p=0; p < dictionaryList.length; p += 1) {
- if (dicName == dictionaryList[p].name) {
- listemunerateValues.push(dictionaryList[p].value);
- }
- }
- }
- return listemunerateValues;
+ var dicName = attribute;
+ if(attribute){
+ if(attribute.includes(":")){
+ dicName = attribute.split(":")[0];
+ }
+ }
+ var dictionaryRegExp = new RegExp(dicName);
+ listemunerateValues = [];
+ if (dictionaryRegExp.test(dictionaryNameList)) {
+ for (p=0; p < dictionaryList.length; p += 1) {
+ if (dicName == dictionaryList[p].name) {
+ listemunerateValues.push(dictionaryList[p].value);
+ }
+ }
+ }
+ return listemunerateValues;
}
function getList(attribute) {
- var enumName = attribute;
- console.log("In getList: attribute => " + attribute);
- if(attribute){
- if(attribute.includes(":")){
- enumName = attribute.split(":")[0];
- }
- }
+ var enumName = attribute;
+ if(attribute){
+ if(attribute.includes(":")){
+ enumName = attribute.split(":")[0];
+ }
+ }
var baseEnum = $scope.dcaeModelData.enumValues;
var enumList = [];
if(baseEnum != null){
- enumList = baseEnum.split(splitEnum);
+ enumList = baseEnum.split(splitEnum);
}
- var enumAttributes;
- var patternTest = new RegExp(enumName);
- for (k=0; k < enumList.length; k += 1){
- if(patternTest.test(enumList[k]) == true){
- enumAttributes = enumList[k].trim();
- }
- }
+ var enumAttributes;
+ var patternTest = new RegExp(enumName);
+ for (k=0; k < enumList.length; k += 1){
+ if(patternTest.test(enumList[k]) == true){
+ enumAttributes = enumList[k].trim();
+ }
+ }
if(enumAttributes){
- enumAttributes = enumAttributes.replace("[", "");
- enumAttributes = enumAttributes.replace("]", "");
- enumAttributes = enumAttributes.replace(/ /g, '');
- var dropListAfterCommaSplit = enumAttributes.split(splitEqual);
- listemunerateValues = dropListAfterCommaSplit[1].split(splitComma);
- //enumKeyList.push(attribute);
- return listemunerateValues;
+ enumAttributes = enumAttributes.replace("[", "");
+ enumAttributes = enumAttributes.replace("]", "");
+ enumAttributes = enumAttributes.replace(/ /g, '');
+ var dropListAfterCommaSplit = enumAttributes.split(splitEqual);
+ listemunerateValues = dropListAfterCommaSplit[1].split(splitComma);
+ // enumKeyList.push(attribute);
+ return listemunerateValues;
}
return [];
- }
-
- function getBooleanList(){
- var booleanList = [];
- booleanList.push(true);
- booleanList.push(false);
- return booleanList;
- }
-
-
- function isArray(arrayTest) {
- return Object.prototype.toString.call(arrayTest) === '[object Array]';
- }
- var lableList = [];
-
- $scope.layOutElementList = [];
- $scope.layOutOnlyLableList = [];
-
- var elementOrderNum = 0;
-
- function deconstructJSON(layOutData, level , name) {
+ }
+
+ function getBooleanList(){
+ var booleanList = [];
+ booleanList.push(true);
+ booleanList.push(false);
+ return booleanList;
+ }
+
- var array = false;
- var label = level;
- var stringValue = "java.lang.String";
- var string = "string";
- var intValue = "int";
- var integerValue = "integer";
- var double = "double";
- var boolean = "boolean";
- var baseLevel = level;
- var list = "list";
- var String = "String";
-
- var attributekey = "";
-
- if (name.length > 1){
- label = label + name + '.';
- }
-
- for (key in layOutData) {
- array = isArray(layOutData[key]);
- console.log("key: " + key , "value: " + layOutData[key]);
-
- if (!!layOutData[key] && typeof(layOutData[key])=="object") {
-
- if (array==false && key!=="0"){
-
- if($scope.dataOrderInfo){
- var labelObject = {"label" : key, "level" : label, "array" : array};
- //save it to the list
- $scope.layOutOnlyLableList.push(labelObject);
-
- }else {
- //call label layout
- $scope.labelLayout(label, key, array );
- }
-
- }
-
- if (array == true && key!=0){
- lableList.push(key);
- }
-
- if (lableList.length > 0){
- array = true;
- }
- if ( key==="0"){
- var newKey = lableList.pop();
-
- if($scope.dataOrderInfo){
-
- var labelObject = {"label" : newKey, "level" : baseLevel, "array" : array};
- //save it to the list
- $scope.layOutOnlyLableList.push(labelObject);
-
- }else {
- //call label layout
- $scope.labelLayout(baseLevel, newKey, array );
- }
-
- if (array){
- label = baseLevel + newKey + '@0.';
- } else {
- label = baseLevel + newKey + '.';
- }
- }
- deconstructJSON(layOutData[key] , label, key);
- } else {
- var attirbuteLabel = label;
- var defaultValue='';
- var description='';
- var isRequired = false;
- if (layOutData[key].includes('defaultValue-')){
- defaultValue = layOutData[key].split('defaultValue-')[1];
- }
-
- if (layOutData[key].includes('description-')){
- description = layOutData[key].split('description-')[1];
- }
-
+ function isArray(arrayTest) {
+ return Object.prototype.toString.call(arrayTest) === '[object Array]';
+ }
+ var lableList = [];
+
+ $scope.layOutElementList = [];
+ $scope.layOutOnlyLableList = [];
+
+ var elementOrderNum = 0;
+
+ function deconstructJSON(layOutData, level , name) {
- if (key==="0"){
- array = true;
- attributekey = lableList.pop();
- attirbuteLabel = baseLevel;
- } else {
- attributekey = key.split();
- }
-
- if (layOutData[key].includes('required-true')){
- isRequired = true;
- }
-
- var subAttributes = $scope.dcaeModelData.sub_attributes;
-
- if(subAttributes){
- var jsonObject = JSON.parse(subAttributes);
-
- var lablInfo = findVal(jsonObject, attributekey);
- console.log("deconstructJSON:findValue : " + attributekey +": "+ lablInfo);
- if (lablInfo){
- if(lablInfo.includes('required-true')){
- isRequired = true;
- }
- if(lablInfo.includes('defaultValue-')){
- defaultValue = lablInfo.split('defaultValue-')[1];
- }
-
- if(lablInfo.includes('description-')){
- description = lablInfo.split('description-')[1];
- }
-
- }else{
- var allkeys = Object.keys(jsonObject);
- if(allkeys){
- for (var k = 0; k < allkeys.length; k++) {
- var keyValue = allkeys[k];
- console.log(" keyValue:jsonObject["+keyValue+ "]: " + jsonObject[keyValue]);
- if(jsonObject[keyValue]){
- var tempObject = jsonObject[keyValue];
- if(tempObject && tempObject[key]){
- if (tempObject[key].includes('required-true')){
- isRequired = true;
- }
-
- if(tempObject[key].includes('defaultValue-')){
- defaultValue = tempObject[key].split('defaultValue-')[1];
- }
-
- if(tempObject[key].includes('description-')){
- description = tempObject[key].split('description-')[1];
- }
+ var array = false;
+ var label = level;
+ var stringValue = "java.lang.String";
+ var string = "string";
+ var intValue = "int";
+ var integerValue = "integer";
+ var double = "double";
+ var boolean = "boolean";
+ var baseLevel = level;
+
+ var attributekey = "";
+
+ if (name.length > 1){
+ label = label + name + '.';
+ }
+
+ for (key in layOutData) {
+ array = isArray(layOutData[key]);
+
+ if (!!layOutData[key] && typeof(layOutData[key])=="object") {
+
+ if (array==false && key!=="0"){
+
+ if($scope.dataOrderInfo){
+ var labelObject = {"label" : key, "level" : label, "array" : array};
+ // save it to the list
+ $scope.layOutOnlyLableList.push(labelObject);
+
+ }else {
+ // call label layout
+ $scope.labelLayout(label, key, array );
+ }
+
+ }
+
+ if (array == true && key!=0){
+ lableList.push(key);
+ }
+
+ if (lableList.length > 0){
+ array = true;
+ }
+ if ( key==="0"){
+ var newKey = lableList.pop();
+
+ if($scope.dataOrderInfo){
+
+ var labelObject = {"label" : newKey, "level" : baseLevel, "array" : array};
+ // save it to the list
+ $scope.layOutOnlyLableList.push(labelObject);
+
+ }else {
+ // call label layout
+ $scope.labelLayout(baseLevel, newKey, array );
+ }
+
+ if (array){
+ label = baseLevel + newKey + '@0.';
+ } else {
+ label = baseLevel + newKey + '.';
+ }
+ }
+ deconstructJSON(layOutData[key] , label, key);
+ } else {
+ var attirbuteLabel = label;
+ var defaultValue='';
+ var description='';
+ var isRequired = false;
+ if (layOutData[key].includes('defaultValue-')){
+ defaultValue = layOutData[key].split('defaultValue-')[1];
+ }
+
+ if (layOutData[key].includes('description-')){
+ description = layOutData[key].split('description-')[1];
+ }
+
- }
- }
- }
- }
- }
- }
-
- var elementObject = {};
- switch (layOutData[key].split(splitcolon)[0]){
-
- case stringValue:
- case string:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"text", "description":description};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
- }
- break;
- case intValue:
- case integerValue:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"number" , "description":description};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "number");
- }
- break;
- case double:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"double", "description":description};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "double");
- }
- break;
- case boolean:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"boolean", "description":description};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], getBooleanList());
- }
- break;
- default:
- if (layOutData[key].includes('dictionary-')){
- var list = getDictionary(layOutData[key].split('dictionary-')[1]);
- }else{
- //--- get dropdown values from enumValues
- var list = getList(layOutData[key]);
- }
- if (list.length===0){ //not dropdown element
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"text", "description":description};
- $scope.layOutElementList.push(elementObject);
-
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
- }
- }else{
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum, "attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "list":list, "type":"dropBox", "description":description};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], list, isRequired);
- }
- }
- break;
- }
- }
- }
- }
-
-
- $scope.validContionalRequired = function(parentId) {
- console.log("ng-blur event: parentId : " + parentId);
- var c = document.getElementById(parentId).children;
- var i;
- var hasValue = false;
- for (i = 0; i < c.length; i++) {
- if(c[i].getAttribute("data-conditional")){
- console.log(c[i].getAttribute("data-conditional"));
- console.log(c[i].value);
- if(c[i].value != null && c[i].value.trim() != ""){
- hasValue = true;
- }
- }
- }
+ if (key==="0"){
+ array = true;
+ attributekey = lableList.pop();
+ attirbuteLabel = baseLevel;
+ } else {
+ attributekey = key.split();
+ }
+
+ if (layOutData[key].includes('required-true')){
+ isRequired = true;
+ }
+
+ var subAttributes = $scope.dcaeModelData.subAttributes;
+
+ if(subAttributes){
+ var jsonObject = JSON.parse(subAttributes);
+
+ var lablInfo = findVal(jsonObject, attributekey);
+ if (lablInfo){
+ if(lablInfo.includes('required-true')){
+ isRequired = true;
+ }
+ if(lablInfo.includes('defaultValue-')){
+ defaultValue = lablInfo.split('defaultValue-')[1];
+ }
+
+ if(lablInfo.includes('description-')){
+ description = lablInfo.split('description-')[1];
+ }
+
+ }else{
+ var allkeys = Object.keys(jsonObject);
+ if(allkeys){
+ for (var k = 0; k < allkeys.length; k++) {
+ var keyValue = allkeys[k];
+ if(jsonObject[keyValue]){
+ var tempObject = jsonObject[keyValue];
+ if(tempObject && tempObject[key]){
+ if (tempObject[key].includes('required-true')){
+ isRequired = true;
+ }
+
+ if(tempObject[key].includes('defaultValue-')){
+ defaultValue = tempObject[key].split('defaultValue-')[1];
+ }
+
+ if(tempObject[key].includes('description-')){
+ description = tempObject[key].split('description-')[1];
+ }
- for (i = 0; i < c.length; i++) {
- if(c[i].getAttribute("data-conditional")){
- if(hasValue){
- c[i].setAttribute("required", true);
- }else{
- c[i].removeAttribute("required");
- }
- }
- }
- }
-
- $scope.jsonLayout = function(layOutData){
-
- deconstructJSON(layOutData , "", "");
-
- var orderValue = $scope.dataOrderInfo;
- var layOutElementList = $scope.layOutElementList;
- var labelList = $scope.layOutOnlyLableList;
-
- //reset to default
- elementOrderNum = 0;
- $scope.layOutElementList = [];
- $scope.layOutOnlyLableList = [];
-
- // Only layout in order if order info provided
- if(orderValue){
-
- if(orderValue.includes("[")){
- orderValue = orderValue.replace("[", "") ;
- orderValue = orderValue.replace("]", "") ;
- }
-
- orderValue = orderValue.split(',') ;
-
- for (var i = 0; i < orderValue.length; i++) {
- console.log("orderValue["+i+"]"+ orderValue[i]);
- var key = orderValue[i].trim();
-
- //--- Create labels first {"label" : newKey, "level" : baseLevel, "array" : array};
- if(labelList){
- for (var k = 0; k < labelList.length; k++){
-
- var label = labelList[k].label.toString().trim();
- var level = labelList[k].level.toString().trim();
- var array = labelList[k].array;
-
- if(key == label){
- $scope.labelLayout(level, label, array);
- //in case to have duplicate label names
- labelList[k].label = "*processed*";
- break;
- }
- }
- }
- //--- then layout each element based on its order defined in YAML file
- for (var j = 0; j < layOutElementList.length; j++) {
-
- var attributekey = layOutElementList[j].attributekey.toString().trim();
-
- if(key == attributekey){
+ }
+ }
+ }
+ }
+ }
+ }
+
+ var elementObject = {};
+ switch (layOutData[key].split(splitcolon)[0]){
+
+ case stringValue:
+ case string:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"text", "description":description};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
+ }
+ break;
+ case intValue:
+ case integerValue:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"number" , "description":description};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "number");
+ }
+ break;
+ case double:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"double", "description":description};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "double");
+ }
+ break;
+ case boolean:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"boolean", "description":description};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], getBooleanList());
+ }
+ break;
+ default:
+ if (layOutData[key].includes('dictionary-')){
+ var list = getDictionary(layOutData[key].split('dictionary-')[1]);
+ }else{
+ // --- get dropdown values from enumValues
+ var list = getList(layOutData[key]);
+ }
+ if (list.length===0){ // not dropdown element
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"text", "description":description};
+ $scope.layOutElementList.push(elementObject);
+
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
+ }
+ }else{
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum, "attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "list":list, "type":"dropBox", "description":description};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], list, isRequired);
+ }
+ }
+ break;
+ }
+ }
+ }
+ }
+
+
+ $scope.validContionalRequired = function(parentId) {
+ var c = document.getElementById(parentId).children;
+ var i;
+ var hasValue = false;
+ for (i = 0; i < c.length; i++) {
+ if(c[i].getAttribute("data-conditional")){
+ if(c[i].value != null && c[i].value.trim() != ""){
+ hasValue = true;
+ }
+ }
+ }
- var attirbuteLabel = layOutElementList[j].attirbuteLabel.toString().trim();
- var defaultValue = layOutElementList[j].defaultValue.toString().trim();
- var description = layOutElementList[j].description;
- var isRequired = layOutElementList[j].isRequired;
-
- console.log("layOutElementList[" +j+ "]: id:" + layOutElementList[j].id + ", attributekey:"+ layOutElementList[j].attributekey + ", attirbuteLabel:" + layOutElementList[j].attirbuteLabel);
- console.log("layOutElementList[" +j+ "]: type:" + layOutElementList[j].type);
- if (layOutElementList[j].type == "dropBox"){
- $scope.dropBoxLayout(attirbuteLabel, attributekey, layOutElementList[j].array, defaultValue, layOutElementList[j].list, isRequired, description);
-
- }else{
- $scope.attributeBox(attributekey, layOutElementList[j].array, attirbuteLabel, defaultValue, isRequired, layOutElementList[j].type, description);
-
- }
-
- //in case to have duplicate attribute names
- layOutElementList[j].attributekey = "*processed*";
- break;
- }
- }
- }
- }
- }
-
-
- $scope.attributeBox = function(attibuteKey, attributeManyKey, labelValue, defaultValue, isRequired, dataType, description){
- $scope.temp.policy.ruleGridData.push(attibuteKey);
- var br = document.createElement("BR");
-
- var label = document.createElement("Label");
- var labeltext = null;
- var requiredLabName = "";
- if (matching.includes(attibuteKey)){
- labeltext = document.createTextNode(attibuteKey + "*!");
- isRequired = true; //set required as true for matching element
- }else {
- if(isRequired){
- requiredLabName = attibuteKey + " * ";
- labeltext = document.createTextNode(requiredLabName);
- }else{
- labeltext = document.createTextNode(attibuteKey);
- }
- }
+ for (i = 0; i < c.length; i++) {
+ if(c[i].getAttribute("data-conditional")){
+ if(hasValue){
+ c[i].setAttribute("required", true);
+ }else{
+ c[i].removeAttribute("required");
+ }
+ }
+ }
+ }
+
+ $scope.jsonLayout = function(layOutData){
+
+ deconstructJSON(layOutData , "", "");
+
+ var orderValue = $scope.dataOrderInfo;
+ var layOutElementList = $scope.layOutElementList;
+ var labelList = $scope.layOutOnlyLableList;
+
+ // reset to default
+ elementOrderNum = 0;
+ $scope.layOutElementList = [];
+ $scope.layOutOnlyLableList = [];
+
+ // Only layout in order if order info provided
+ if(orderValue){
+
+ if(orderValue.includes("[")){
+ orderValue = orderValue.replace("[", "") ;
+ orderValue = orderValue.replace("]", "") ;
+ }
+
+ orderValue = orderValue.split(',') ;
+
+ for (var i = 0; i < orderValue.length; i++) {
+ var key = orderValue[i].trim();
+
+ // --- Create labels first {"label" : newKey, "level" : baseLevel, "array" : array};
+ if(labelList){
+ for (var k = 0; k < labelList.length; k++){
+
+ var label = labelList[k].label.toString().trim();
+ var level = labelList[k].level.toString().trim();
+ var array = labelList[k].array;
+
+ if(key == label){
+ $scope.labelLayout(level, label, array);
+ // in case to have duplicate label names
+ labelList[k].label = "*processed*";
+ break;
+ }
+ }
+ }
+ // --- then layout each element based on its order defined in YAML file
+ for (var j = 0; j < layOutElementList.length; j++) {
+
+ var attributekey = layOutElementList[j].attributekey.toString().trim();
+
+ if(key == attributekey){
-
- var divID = labelValue;
-
- if (labelValue.length < 1){
- divID = "DynamicTemplate";
- }else if (labelValue.endsWith('.')){
- var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
- }
-
- label.appendChild(labeltext);
-
- var textField = document.createElement("INPUT");
-
- textField.setAttribute("class" , "form-control");
- if(dataType){
- if(dataType == "double"){
- textField.setAttribute("type" , "number");
- textField.setAttribute("step" , "any");
+ var attirbuteLabel = layOutElementList[j].attirbuteLabel.toString().trim();
+ var defaultValue = layOutElementList[j].defaultValue.toString().trim();
+ var description = layOutElementList[j].description;
+ var isRequired = layOutElementList[j].isRequired;
+
+ if (layOutElementList[j].type == "dropBox"){
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, layOutElementList[j].array, defaultValue, layOutElementList[j].list, isRequired, description);
+
+ }else{
+ $scope.attributeBox(attributekey, layOutElementList[j].array, attirbuteLabel, defaultValue, isRequired, layOutElementList[j].type, description);
+
+ }
+
+ // in case to have duplicate attribute names
+ layOutElementList[j].attributekey = "*processed*";
+ break;
+ }
+ }
+ }
+ }
+ }
+
+
+ $scope.attributeBox = function(attibuteKey, attributeManyKey, labelValue, defaultValue, isRequired, dataType, description){
+ $scope.temp.policy.ruleGridData.push(attibuteKey);
+ var br = document.createElement("BR");
+
+ var label = document.createElement("Label");
+ var labeltext = null;
+ var requiredLabName = "";
+ if (matching.includes(attibuteKey)){
+ labeltext = document.createTextNode(attibuteKey + "*!");
+ isRequired = true; // set required as true for matching element
+ }else {
+ if(isRequired){
+ requiredLabName = attibuteKey + " * ";
+ labeltext = document.createTextNode(requiredLabName);
+ }else{
+ labeltext = document.createTextNode(attibuteKey);
+ }
+ }
- }else if(dataType == "boolean"){ //gw1218 testing boolean
- var booleanDiv = document.createElement("div");
+
+ var divID = labelValue;
+
+ if (labelValue.length < 1){
+ divID = "DynamicTemplate";
+ }else if (labelValue.endsWith('.')){
+ var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
+ }
+
+ label.appendChild(labeltext);
+
+ var textField = document.createElement("INPUT");
+
+ textField.setAttribute("class" , "form-control");
+ if(dataType){
+ if(dataType == "double"){
+ textField.setAttribute("type" , "number");
+ textField.setAttribute("step" , "any");
- booleanDiv.setAttribute("class" , "onoffswitch");
+ }else if(dataType == "boolean"){ // gw1218 testing boolean
+ var booleanDiv = document.createElement("div");
- //var checkField = document.createElement("INPUT");
- textField.setAttribute("type" , "checkbox");
- textField.setAttribute("name" , "onoffswitch");
- textField.setAttribute("class" , "onoffswitch-checkbox");
- textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
- if(defaultValue.substring(0,defaultValue.indexOf(":")) == "true") {
- textField.setAttribute("checked" , true);
- }else{
- textField.removeAttribute("checked");
- }
+ booleanDiv.setAttribute("class" , "onoffswitch");
- var booleanlabel = document.createElement("Label");
- booleanlabel.setAttribute("class" , "onoffswitch-label");
- booleanlabel.setAttribute("for" , ''+labelValue +attibuteKey+'');
-
- var span1 = document.createElement("span");
- span1.setAttribute("class" , "onoffswitch-inner");
-
- var span2 = document.createElement("span");
- span2.setAttribute("class" , "onoffswitch-switch");
-
-
- booleanlabel.appendChild(span1);
- booleanlabel.appendChild(span2);
- booleanDiv.appendChild(textField);
- booleanDiv.appendChild(booleanlabel);
-
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(booleanDiv);
+ // var checkField = document.createElement("INPUT");
+ textField.setAttribute("type" , "checkbox");
+ textField.setAttribute("name" , "onoffswitch");
+ textField.setAttribute("class" , "onoffswitch-checkbox");
+ textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
+ if(defaultValue.substring(0,defaultValue.indexOf(":")) == "true") {
+ textField.setAttribute("checked" , true);
+ }else{
+ textField.removeAttribute("checked");
+ }
+ textField.setAttribute("ng-click" , "validateOnAndOff('"+labelValue +attibuteKey+"', $event)");
+ var booleanlabel = document.createElement("Label");
+ booleanlabel.setAttribute("class" , "onoffswitch-label");
+ booleanlabel.setAttribute("for" , ''+labelValue +attibuteKey+'');
+
+ var span1 = document.createElement("span");
+ span1.setAttribute("class" , "onoffswitch-inner");
+
+ var span2 = document.createElement("span");
+ span2.setAttribute("class" , "onoffswitch-switch");
+
+
+ booleanlabel.appendChild(span1);
+ booleanlabel.appendChild(span2);
+ booleanDiv.appendChild(textField);
+ booleanDiv.appendChild(booleanlabel);
+
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(booleanDiv);
- //return;
- } else{
- textField.setAttribute("type" , dataType);
- }
-
-
+ // return;
+ } else{
+ textField.setAttribute("type" , dataType);
+ }
+
+
- }
-
- if(dataType != "boolean"){
- textField.setAttribute("style" , "width:300px;");
- textField.setAttribute("ng-disabled" , "temp.policy.readOnly");
- if(description && description != "null"){
- textField.setAttribute("title", description);
- }
- }
+ }
+
+ if(dataType != "boolean"){
+ textField.setAttribute("style" , "width:300px;");
+ textField.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ if(description && description != "null"){
+ textField.setAttribute("title", description);
+ }
+ }
- var checkKey;
- var id = "";
- if(attributeManyKey){
- checkKey = labelValue + attibuteKey+'@0';
- textField.setAttribute("id" , ''+labelValue + attibuteKey+'@0'+'');
- var divTag = document.createElement("div");
- divTag.setAttribute("id", "div."+ labelValue +attibuteKey);
- var addButton = document.createElement("BUTTON");
- var buttonaddLabel = document.createTextNode("+");
- addButton.appendChild(buttonaddLabel);
- addButton.setAttribute("id", labelValue + attibuteKey);
- addButton.setAttribute("class", "btn btn-add-remove");
- addButton.setAttribute("onclick" , 'addNewChoice("'+labelValue + attibuteKey+'");');
- addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var removeButton = document.createElement("BUTTON");
- var buttonremoveLabel = document.createTextNode("-");
- removeButton.appendChild(buttonremoveLabel);
- removeButton.setAttribute("class", "btn btn-add-remove");
- removeButton.setAttribute("onclick" , 'removeChoice("'+labelValue + attibuteKey+'");');
- removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- document.getElementById(divID).appendChild(addButton);
- document.getElementById(divID).appendChild(removeButton);
- document.getElementById(divID).appendChild(label);
- id = "div."+labelValue+attibuteKey;
- //var divTag = document.createElement("div");
- divTag.setAttribute("id", id);
- document.getElementById(divID).appendChild(divTag);
- textField.className += ' first_child';
- if(isRequired){
- textField.setAttribute("required", "true");
- }
-
- divTag.appendChild(textField);
- document.getElementById(divID).appendChild(divTag);
-
- }else if (dataType != "boolean"){
- checkKey = labelValue + attibuteKey;
- textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
- if(document.getElementById(divID).hasAttribute('required') || !document.getElementById(divID).hasAttribute('data-conditional')){
- if(requiredLabName.includes("*") || isRequired){
- textField.setAttribute("required", "true");
- }
- }else if (document.getElementById(divID).hasAttribute('data-conditional')){
- if(requiredLabName.includes("*")){
- var requiredNode = document.createElement('span');
- requiredNode.setAttribute("class", "mstooltip");
- requiredNode.textContent = "?";
- label.appendChild(requiredNode);
-
- var requiredNodeToolTip = document.createElement('span');
- requiredNodeToolTip.setAttribute("class", "tooltiptext");
- requiredNodeToolTip.textContent = "Conditional Required";
- requiredNode.appendChild(requiredNodeToolTip);
-
- textField.setAttribute("data-conditional", divID);
- textField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
- }
- }
+ var checkKey;
+ var id = "";
+ if(attributeManyKey){
+ checkKey = labelValue + attibuteKey+'@0';
+ textField.setAttribute("id" , ''+labelValue + attibuteKey+'@0'+'');
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", "div."+ labelValue +attibuteKey);
+ var addButton = document.createElement("BUTTON");
+ var buttonaddLabel = document.createTextNode("+");
+ addButton.appendChild(buttonaddLabel);
+ addButton.setAttribute("id", labelValue + attibuteKey);
+ addButton.setAttribute("class", "btn btn-add-remove");
+ addButton.setAttribute("onclick" , 'addNewChoice("'+labelValue + attibuteKey+'");');
+ addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var removeButton = document.createElement("BUTTON");
+ var buttonremoveLabel = document.createTextNode("-");
+ removeButton.appendChild(buttonremoveLabel);
+ removeButton.setAttribute("class", "btn btn-add-remove");
+ removeButton.setAttribute("onclick" , 'removeChoice("'+labelValue + attibuteKey+'");');
+ removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ document.getElementById(divID).appendChild(addButton);
+ document.getElementById(divID).appendChild(removeButton);
+ document.getElementById(divID).appendChild(label);
+ id = "div."+labelValue+attibuteKey;
+ // var divTag = document.createElement("div");
+ divTag.setAttribute("id", id);
+ document.getElementById(divID).appendChild(divTag);
+ textField.className += ' first_child';
+ if(isRequired){
+ textField.setAttribute("required", "true");
+ }
+
+ divTag.appendChild(textField);
+ document.getElementById(divID).appendChild(divTag);
+
+ }else if (dataType != "boolean"){
+ checkKey = labelValue + attibuteKey;
+ textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
+ if(document.getElementById(divID).hasAttribute('required') || !document.getElementById(divID).hasAttribute('data-conditional')){
+ if(requiredLabName.includes("*") || isRequired){
+ textField.setAttribute("required", "true");
+ }
+ }else if (document.getElementById(divID).hasAttribute('data-conditional')){
+ if(requiredLabName.includes("*")){
+ var requiredNode = document.createElement('span');
+ requiredNode.setAttribute("class", "mstooltip");
+ requiredNode.textContent = "?";
+ label.appendChild(requiredNode);
+
+ var requiredNodeToolTip = document.createElement('span');
+ requiredNodeToolTip.setAttribute("class", "tooltiptext");
+ requiredNodeToolTip.textContent = "Conditional Required";
+ requiredNode.appendChild(requiredNodeToolTip);
+
+ textField.setAttribute("data-conditional", divID);
+ textField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
+ }
+ }
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(textField);
- document.getElementById(divID).appendChild(br);
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(textField);
+ document.getElementById(divID).appendChild(br);
- }
+ }
- if(dataType != "boolean" && divID.includes("@0") && divID.includes("div.")){
- var firstChild_Id = divID.split("@0")[0];
- var firstChild_element = document.getElementById(firstChild_Id);
- if(firstChild_element){
-
- if(!firstChild_element.className.includes('children_group border')){
- layer++;
- if(layer > 4){
- layer = 1
- };
- firstChild_element.className += ' children_group border' + layer; //here is div with a group of children.
- }
- }
- }
- console.log('firstChild_Id: ' + firstChild_Id);
- console.log('divID: ' + divID);
-
- if(dataType != "boolean" && defaultValue.length > 0){
- if(defaultValue.includes(":")){
- defaultValue = defaultValue.split(":")[0];
- if(defaultValue === "NA") {
- defaultValue = "";
- }
- }
- if(defaultValue != "undefined" && defaultValue != undefined && defaultValue != "null"){
- document.getElementById(checkKey).value = defaultValue;
- }
- }
-
- if($scope.temp.policy.ruleData != null){
- //document.getElementById(checkKey).value = $scope.temp.policy.ruleData[checkKey];
- if (attributeManyKey){
- var newCheckKey = checkKey.replace(attibuteKey + '@0',attibuteKey);
- if($scope.temp.policy.ruleData[newCheckKey +'@0'] != undefined && $scope.temp.policy.ruleData[newCheckKey +'@0'] != "undefined"){
- document.getElementById(newCheckKey +'@0').value = $scope.temp.policy.ruleData[newCheckKey +'@0'];
- }
- }else{
- if($scope.temp.policy.ruleData[checkKey] != undefined && $scope.temp.policy.ruleData[checkKey] != "undefined"){
- document.getElementById(checkKey).value = $scope.temp.policy.ruleData[checkKey];
- }
- }
- }
-
- if (dataType != "boolean"){
- plainAttributeKeys.push(labelValue + attibuteKey+'*'+attributeManyKey);
- }else{
- plainAttributeKeys.push(labelValue + attibuteKey+'*'+"boolean");
- }
+ if(dataType != "boolean" && divID.includes("@0") && divID.includes("div.")){
+ var firstChild_Id = divID.split("@0")[0];
+ var firstChild_element = document.getElementById(firstChild_Id);
+ if(firstChild_element){
+
+ if(!firstChild_element.className.includes('children_group border')){
+ layer++;
+ if(layer > 4){
+ layer = 1
+ }
+ firstChild_element.className += ' children_group border' + layer; // here is div with a group of children.
+ }
+ }
+ }
+
+ if(dataType != "boolean" && defaultValue.length > 0){
+ if(defaultValue.includes(":")){
+ defaultValue = defaultValue.split(":")[0];
+ if(defaultValue === "NA") {
+ defaultValue = "";
+ }
+ }
+ if(defaultValue != "undefined" && defaultValue != undefined && defaultValue != "null"){
+ document.getElementById(checkKey).value = defaultValue;
+ }
+ }
+
+ if($scope.temp.policy.ruleData != null){
+ // document.getElementById(checkKey).value =
+ // $scope.temp.policy.ruleData[checkKey];
+ if (attributeManyKey){
+ var newCheckKey = checkKey.replace(attibuteKey + '@0',attibuteKey);
+ if($scope.temp.policy.ruleData[newCheckKey +'@0'] != undefined && $scope.temp.policy.ruleData[newCheckKey +'@0'] != "undefined"){
+ document.getElementById(newCheckKey +'@0').value = $scope.temp.policy.ruleData[newCheckKey +'@0'];
+ }
+ }else{
+ if($scope.temp.policy.ruleData[checkKey] != undefined && $scope.temp.policy.ruleData[checkKey] != "undefined"){
+ document.getElementById(checkKey).value = $scope.temp.policy.ruleData[checkKey];
+ }
+ }
+ }
+
+ if (dataType != "boolean"){
+ plainAttributeKeys.push(labelValue + attibuteKey+'*'+attributeManyKey);
+ }else{
+ plainAttributeKeys.push(labelValue + attibuteKey+'*'+"boolean");
+ }
+ };
+
+ $scope.validateOnAndOff = function(id , value) {
+ console.log(id, value);
+ if (value.target.checked) {
+ document.getElementById(id).setAttribute("checked", true);
+ } else {
+ document.getElementById(id).removeAttribute("checked");
+ }
};
-
+
$scope.labelManyKeys = [];
$scope.labelLayout = function(labelValue, lableName, labelManyKey ){
- var label = document.createElement("Label")
- var divID = labelValue;
- if (labelValue.endsWith('.')){
- var workingLabel = labelValue.substring(0, labelValue.length-1);
- }else {
- var workingLabel = labelValue;
- }
-
- if (labelValue.length < 1){
- divID = "DynamicTemplate";
- } else if (labelValue.endsWith('.')){
- var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
- }
-
- var subAttributes = $scope.dcaeModelData.sub_attributes;
- var jsonObject = JSON.parse(subAttributes);
- var lablInfo = findVal(jsonObject, lableName);
- console.log("findValue : " + lableName +": "+ lablInfo);
- var star = "";
- var required = null;
- if(lablInfo){
- if(typeof lablInfo === 'string' ){
- if(lablInfo.includes("required-true")){
- star = " *";
- required = true;
- }else if (lablInfo.includes("required-false")){
- required = false
- }
- }
- }
-
- var labeltext = document.createTextNode(lableName + star);
-
- label.appendChild(labeltext);
+ var label = document.createElement("Label")
+ var divID = labelValue;
+ if (labelValue.endsWith('.')){
+ var workingLabel = labelValue.substring(0, labelValue.length-1);
+ }else {
+ var workingLabel = labelValue;
+ }
+ if (labelValue.length < 1){
+ divID = "DynamicTemplate";
+ } else if (labelValue.endsWith('.')){
+ var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
+ }
+
+ var subAttributes = $scope.dcaeModelData.subAttributes;
+ var jsonObject = JSON.parse(subAttributes);
+ var lablInfo = findVal(jsonObject, lableName);
+ var star = "";
+ var required = null;
+ if(lablInfo){
+ if(typeof lablInfo === 'string' ){
+ if(lablInfo.includes("required-true")){
+ star = " *";
+ required = true;
+ }else if (lablInfo.includes("required-false")){
+ required = false
+ }
+ }
+ }
+
+ var labeltext = document.createTextNode(lableName + star);
+
+ label.appendChild(labeltext);
- if(labelManyKey){
- var addButton = document.createElement("BUTTON");
- var buttonLabel = document.createTextNode("+");
- addButton.appendChild(buttonLabel);
- addButton.setAttribute("class", "btn btn-add-remove");
- addButton.setAttribute("onclick" , 'addNewChoice("'+labelValue + lableName+'");');
- addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var removeButton = document.createElement("BUTTON");
- var buttonremoveLabel = document.createTextNode("-");
- removeButton.appendChild(buttonremoveLabel);
- removeButton.setAttribute("class", "btn btn-add-remove");
- removeButton.setAttribute("onclick" , 'removeChoice("'+labelValue +lableName+'");');
- removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- document.getElementById(divID).appendChild(addButton);
- document.getElementById(divID).appendChild(removeButton);
- document.getElementById(divID).appendChild(label);
- var id = "div."+labelValue+lableName;
- var divTag = document.createElement("div");
- divTag.setAttribute("id", id);
- document.getElementById(divID).appendChild(divTag);
-
- var divTag = document.createElement("div");
- divTag.setAttribute("id", id +'@0');
-
- if(!divTag.className.includes('children_group border')){
- layer++;
- if(layer > 4){
- layer = 1
- };
- divTag.className += ' children_group border' + layer; //here is div with a group of children.
- }
- if(required){
- divTag.setAttribute("required", required);
- }else if(required == false){
- divTag.setAttribute("data-conditional", "yes");
- }
-
- document.getElementById(id).appendChild(divTag);
-
- $scope.labelManyKeys.push(lableName);
-
- }else{
- var divTag = document.createElement("div");
- divTag.setAttribute("id", "div."+labelValue+lableName);
-
- if(!divTag.className.includes('children_group border')){
- layer++;
- if(layer > 4){
- layer = 1
- };
- divTag.className += ' children_group border' + layer; //here is div with a group of children.
- }
- if(required){
- divTag.setAttribute("required", required);
- }else if(required == false){
- divTag.setAttribute("data-conditional", "yes");
- }
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(divTag);
- }
+ if(labelManyKey){
+ var addButton = document.createElement("BUTTON");
+ var buttonLabel = document.createTextNode("+");
+ addButton.appendChild(buttonLabel);
+ addButton.setAttribute("class", "btn btn-add-remove");
+ addButton.setAttribute("onclick" , 'addNewChoice("'+labelValue + lableName+'");');
+ addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var removeButton = document.createElement("BUTTON");
+ var buttonremoveLabel = document.createTextNode("-");
+ removeButton.appendChild(buttonremoveLabel);
+ removeButton.setAttribute("class", "btn btn-add-remove");
+ removeButton.setAttribute("onclick" , 'removeChoice("'+labelValue +lableName+'");');
+ removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ document.getElementById(divID).appendChild(addButton);
+ document.getElementById(divID).appendChild(removeButton);
+ document.getElementById(divID).appendChild(label);
+ var id = "div."+labelValue+lableName;
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", id);
+ document.getElementById(divID).appendChild(divTag);
+
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", id +'@0');
+
+ if(!divTag.className.includes('children_group border')){
+ layer++;
+ if(layer > 4){
+ layer = 1
+ }
+ divTag.className += ' children_group border' + layer; // here is div with a group of children.
+ }
+ if(required){
+ divTag.setAttribute("required", required);
+ }else if(required == false){
+ divTag.setAttribute("data-conditional", "yes");
+ }
+
+ document.getElementById(id).appendChild(divTag);
+
+ $scope.labelManyKeys.push(lableName);
+
+ }else{
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", "div."+labelValue+lableName);
+
+ if(!divTag.className.includes('children_group border')){
+ layer++;
+ if(layer > 4){
+ layer = 1
+ }
+ divTag.className += ' children_group border' + layer; // here is div with a group of children.
+ }
+ if(required){
+ divTag.setAttribute("required", required);
+ }else if(required == false){
+ divTag.setAttribute("data-conditional", "yes");
+ }
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(divTag);
+ }
};
$scope.dropBoxLayout = function(labelLevel, attributeName, many , defaultValue, listemunerateValues, isRequired, description){
- var br = document.createElement("BR");
-
- if (labelLevel.length < 1){
- var divID = "DynamicTemplate";
- } else if (labelLevel.endsWith('.')){
- var divID = 'div.'+ labelLevel.substring(0, labelLevel.length-1);
- }
-
-
- var label = document.createElement("Label")
-
- var refAttributes = $scope.dcaeModelData.ref_attributes;
- if(isRequired != true && refAttributes){ //check refAttributes also
- var refAttributesList = refAttributes.split(splitComma);
- for (k = 0; k < refAttributesList.length; k++){
- var refAttribute = refAttributesList[k].split(splitEqual);
- if (attributeName == refAttribute[0].trim() && refAttribute[1].includes("required-true")){
- isRequired = true;
- }
- }
- }
-
- if (matching.includes(attributeName)){
- var labeltext = document.createTextNode(attributeName + "*!");
- label.appendChild(labeltext);
- isRequired = true; //set required as true for matching element
- }else {
- var labeltext = document.createTextNode(attributeName);
- if(isRequired){
- var requiredLabName = attributeName+ " * ";
- labeltext = document.createTextNode(requiredLabName);
- }else{
- labeltext = document.createTextNode(attributeName);
- }
-
- label.appendChild(labeltext);
- }
- label.appendChild(labeltext);
- // if this field is required, but its parent is not required
- if(isRequired && document.getElementById(divID).hasAttribute('data-conditional')){
- var requiredNode = document.createElement('span');
- requiredNode.setAttribute("class", "mstooltip");
- requiredNode.textContent = "?";
- label.appendChild(requiredNode);
-
- var requiredNodeToolTip = document.createElement('span');
- requiredNodeToolTip.setAttribute("class", "tooltiptext");
- requiredNodeToolTip.textContent = "Conditional Required";
- requiredNode.appendChild(requiredNodeToolTip);
-
- }
-
- var listField = document.createElement("SELECT");
- listField.setAttribute("class" , "form-control");
- listField.setAttribute("style" , "width:300px;");
- listField.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var br = document.createElement("BR");
+
+ if (labelLevel.length < 1){
+ var divID = "DynamicTemplate";
+ } else if (labelLevel.endsWith('.')){
+ var divID = 'div.'+ labelLevel.substring(0, labelLevel.length-1);
+ }
+
+
+ var label = document.createElement("Label")
+
+ var refAttributes = $scope.dcaeModelData.refAttributes;
+ if(isRequired != true && refAttributes){ // check refAttributes also
+ var refAttributesList = refAttributes.split(splitComma);
+ for (k = 0; k < refAttributesList.length; k++){
+ var refAttribute = refAttributesList[k].split(splitEqual);
+ if (attributeName == refAttribute[0].trim() && refAttribute[1].includes("required-true")){
+ isRequired = true;
+ }
+ }
+ }
+
+ if (matching.includes(attributeName)){
+ var labeltext = document.createTextNode(attributeName + "*!");
+ label.appendChild(labeltext);
+ isRequired = true; // set required as true for matching element
+ }else {
+ var labeltext = document.createTextNode(attributeName);
+ if(isRequired){
+ var requiredLabName = attributeName+ " * ";
+ labeltext = document.createTextNode(requiredLabName);
+ }else{
+ labeltext = document.createTextNode(attributeName);
+ }
+
+ label.appendChild(labeltext);
+ }
+ label.appendChild(labeltext);
+ // if this field is required, but its parent is not required
+ if(isRequired && document.getElementById(divID).hasAttribute('data-conditional')){
+ var requiredNode = document.createElement('span');
+ requiredNode.setAttribute("class", "mstooltip");
+ requiredNode.textContent = "?";
+ label.appendChild(requiredNode);
+
+ var requiredNodeToolTip = document.createElement('span');
+ requiredNodeToolTip.setAttribute("class", "tooltiptext");
+ requiredNodeToolTip.textContent = "Conditional Required";
+ requiredNode.appendChild(requiredNodeToolTip);
- if(description && description != "null"){
- listField.setAttribute("title", description);
- }
+ }
- if(isRequired){
- if(document.getElementById(divID).hasAttribute('data-conditional')){
- listField.setAttribute("data-conditional", divID);
- listField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
- }else{
- listField.setAttribute("required", true);
- }
- }
- if( many != true || isRequired != true){ // add an empty option for not required or not multiple select element
- var optionFirst = document.createElement('option');
- var optionValue = "";
- if($scope.temp.policy.ruleData != null){
- if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
- optionValue = $scope.temp.policy.ruleData[labelLevel + attributeName];
- }
- }
- optionFirst.setAttribute('value', optionValue);
- optionFirst.appendChild(document.createTextNode(optionValue));
- listField.appendChild(optionFirst);
- }
- var ruleFormationCheck = false;
- if(listemunerateValues.length !== 0 && typeof listemunerateValues[0] == "string" && listemunerateValues[0].includes("dictionary:")) {
- var ruleCheck = listemunerateValues[0].split("&");
- var dictParams = ruleCheck[0].split(":");
- var dictParamsSplit = dictParams[1].split("@");
- if (ruleCheck[1] != undefined && ruleCheck[1] == 'Rule') {
- ruleFormationCheck = true;
- }
- PolicyAppService.getData(dictParamsSplit[0]).then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.listDictionarys = JSON.parse($scope.data[dictParamsSplit[1]]);
- for (i=0; i < $scope.listDictionarys.length; i += 1) {
- option = document.createElement('option');
- option.setAttribute('value', $scope.listDictionarys[i]);
- option.appendChild(document.createTextNode($scope.listDictionarys[i]));
- listField.appendChild(option);
- }
- }, function (error) {
- console.log("failed");
- });
+ var listField = document.createElement("SELECT");
+ listField.setAttribute("class" , "form-control");
+ listField.setAttribute("style" , "width:300px;");
+ listField.setAttribute("ng-disabled" , "temp.policy.readOnly");
- }
- else{
- for (i=0; i < listemunerateValues.length; i += 1) {
- if(typeof listemunerateValues[i] == "string" && listemunerateValues[i].includes("equal-sign")){
- listemunerateValues[i] = listemunerateValues[i].replace('equal-sign','=');
- }
-
- option = document.createElement('option');
- option.setAttribute('value', listemunerateValues[i]);
- option.appendChild(document.createTextNode(listemunerateValues[i]));
- option.setAttribute('value', listemunerateValues[i]);
- listField.appendChild(option);
- }
- }
- listField.setAttribute("id" , ''+ labelLevel + attributeName + '');
+ if(description && description != "null"){
+ listField.setAttribute("title", description);
+ }
- enumKeyList.push(attributeName);
+ if(isRequired){
+ if(document.getElementById(divID).hasAttribute('data-conditional')){
+ listField.setAttribute("data-conditional", divID);
+ listField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
+ }else{
+ listField.setAttribute("required", true);
+ }
+ }
+ if( many != true || isRequired != true){ // add an empty option for not required or not multiple select element
+ var optionFirst = document.createElement('option');
+ var optionValue = "";
+ if($scope.temp.policy.ruleData != null){
+ if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
+ optionValue = $scope.temp.policy.ruleData[labelLevel + attributeName];
+ }
+ }
+ optionFirst.setAttribute('value', optionValue);
+ optionFirst.appendChild(document.createTextNode(optionValue));
+ listField.appendChild(optionFirst);
+ }
+ var ruleFormationCheck = false;
+ if(listemunerateValues.length !== 0 && typeof listemunerateValues[0] == "string" && listemunerateValues[0].includes("dictionary:")) {
+ var ruleCheck = listemunerateValues[0].split("&");
+ var dictParams = ruleCheck[0].split(":");
+ var dictParamsSplit = dictParams[1].split("@");
+ if (ruleCheck[1] != undefined && ruleCheck[1] == 'Rule') {
+ ruleFormationCheck = true;
+ }
+ PolicyAppService.getData(dictParamsSplit[0]).then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.listDictionarys = JSON.parse($scope.data[dictParamsSplit[1]]);
+ for (i=0; i < $scope.listDictionarys.length; i += 1) {
+ option = document.createElement('option');
+ option.setAttribute('value', $scope.listDictionarys[i]);
+ option.appendChild(document.createTextNode($scope.listDictionarys[i]));
+ listField.appendChild(option);
+ }
+ });
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(br);
+ }
+ else{
+ for (i=0; i < listemunerateValues.length; i += 1) {
+ if(typeof listemunerateValues[i] == "string" && listemunerateValues[i].includes("equal-sign")){
+ listemunerateValues[i] = listemunerateValues[i].replace('equal-sign','=');
+ }
+
+ option = document.createElement('option');
+ option.setAttribute('value', listemunerateValues[i]);
+ option.appendChild(document.createTextNode(listemunerateValues[i]));
+ option.setAttribute('value', listemunerateValues[i]);
+ listField.appendChild(option);
+ }
+ }
+ listField.setAttribute("id" , ''+ labelLevel + attributeName + '');
- if(many == true){
- document.getElementById(divID).appendChild(listField).multiple = true;
- plainAttributeKeys.push(labelLevel + attributeName+'*'+true);
- }else {
- document.getElementById(divID).appendChild(listField).multiple = false;
- plainAttributeKeys.push(labelLevel + attributeName+'*'+false);
+ enumKeyList.push(attributeName);
- if (defaultValue){
- if(defaultValue.includes(':')){
- defaultValue = defaultValue.split(':')[0];
- }
- var location = listemunerateValues.indexOf(defaultValue);
- document.getElementById(labelLevel +attributeName).options[location+1].selected = true;
- }
- }
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(br);
- if (ruleFormationCheck) {
- var optionInput = document.createElement("INPUT");
- optionInput.setAttribute("type" , "text");
- optionInput.setAttribute("id" , ''+ labelLevel + attributeName + '.input');
- optionInput.setAttribute("name" , "ruleName");
- optionInput.setAttribute("value" , " ");
- optionInput.setAttribute("style" , "width:300px;");
- optionInput.setAttribute("ng-disabled" , "temp.policy.readOnly");
- optionInput.removeAttribute("required");
+ if(many == true){
+ document.getElementById(divID).appendChild(listField).multiple = true;
+ plainAttributeKeys.push(labelLevel + attributeName+'*'+true);
+ }else {
+ document.getElementById(divID).appendChild(listField).multiple = false;
+ plainAttributeKeys.push(labelLevel + attributeName+'*'+false);
- document.getElementById(divID).appendChild(optionInput);
+ if (defaultValue){
+ if(defaultValue.includes(':')){
+ defaultValue = defaultValue.split(':')[0];
+ }
+ var location = listemunerateValues.indexOf(defaultValue);
+ document.getElementById(labelLevel +attributeName).options[location+1].selected = true;
+ }
+ }
- var optionButton = document.createElement("BUTTON");
- optionButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var buttonLabel = document.createTextNode("+");
- optionButton.appendChild(buttonLabel);
- optionButton.setAttribute("class", "btn btn-add-remove");
- optionButton.setAttribute("onclick" , 'addDynamicOptions("'+ labelLevel + attributeName + '");');
- optionButton.removeAttribute("required");
+ if (ruleFormationCheck) {
+ var optionInput = document.createElement("INPUT");
+ optionInput.setAttribute("type" , "text");
+ optionInput.setAttribute("id" , ''+ labelLevel + attributeName + '.input');
+ optionInput.setAttribute("name" , "ruleName");
+ optionInput.setAttribute("value" , " ");
+ optionInput.setAttribute("style" , "width:300px;");
+ optionInput.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ optionInput.removeAttribute("required");
+ document.getElementById(divID).appendChild(optionInput);
- document.getElementById(divID).appendChild(optionButton);
- document.getElementById(divID).appendChild(br);
- }
+ var optionButton = document.createElement("BUTTON");
+ optionButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var buttonLabel = document.createTextNode("+");
+ optionButton.appendChild(buttonLabel);
+ optionButton.setAttribute("class", "btn btn-add-remove");
+ optionButton.setAttribute("onclick" , 'addDynamicOptions("'+ labelLevel + attributeName + '");');
+ optionButton.removeAttribute("required");
- if($scope.temp.policy.ruleData != null){
- if (many == true){
- document.getElementById(labelLevel +attributeName).options[0].selected = false;
- for (i=0; i < listemunerateValues.length; i += 1) {
- var testValue = $scope.temp.policy.ruleData[labelLevel +attributeName+'@' + i];
- if (testValue === undefined){
- testValue = $scope.temp.policy.ruleData[labelLevel +attributeName];
- }
- var location = listemunerateValues.indexOf(testValue);
- if (location!=-1){
- document.getElementById(labelLevel +attributeName).options[location].selected = true;
- }
- }
- }else {
- if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
- document.getElementById(labelLevel + attributeName).value = $scope.temp.policy.ruleData[labelLevel + attributeName];
- }
- }
- }
- };
- addDynamicOptions = function(id) {
- var option = document.createElement("option");
- var value = document.getElementById(id+".input").value;
- option.setAttribute('value', value);
- option.appendChild(document.createTextNode(value));
- document.getElementById(id).options.add(option);
- document.getElementById(id+".input").value = "";
- };
+ document.getElementById(divID).appendChild(optionButton);
+ document.getElementById(divID).appendChild(br);
+ }
- function onlyUnique(value, index, self) {
- return self.indexOf(value) === index;
- };
+ if($scope.temp.policy.ruleData != null){
+ if (many == true){
+ document.getElementById(labelLevel +attributeName).options[0].selected = false;
+ for (i=0; i < listemunerateValues.length; i += 1) {
+ var testValue = $scope.temp.policy.ruleData[labelLevel +attributeName+'@' + i];
+ if (testValue === undefined){
+ testValue = $scope.temp.policy.ruleData[labelLevel +attributeName];
+ }
+ var location = listemunerateValues.indexOf(testValue);
+ if (location!=-1){
+ document.getElementById(labelLevel +attributeName).options[location].selected = true;
+ }
+ }
+ }else {
+ if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
+ document.getElementById(labelLevel + attributeName).value = $scope.temp.policy.ruleData[labelLevel + attributeName];
+ }
+ }
+ }
+ };
+ addDynamicOptions = function(id) {
+ var option = document.createElement("option");
+ var value = document.getElementById(id+".input").value;
+ option.setAttribute('value', value);
+ option.appendChild(document.createTextNode(value));
+ document.getElementById(id).options.add(option);
+ document.getElementById(id+".input").value = "";
+ };
- function checkDictionary(value){
- for (i = 0; i < $scope.microServiceAttributeDictionaryDatas.length; i++) {
- if ($scope.microServiceAttributeDictionaryDatas[i].name.localeCompare(value)){
- return true;
- }
- }
+ function onlyUnique(value, index, self) {
+ return self.indexOf(value) === index;
+ }
- }
- $scope.savePolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
- $scope.savebutton = false;
- var splitAt = '*';
- var dot ='.';
- var jsonPolicy = {};
- if(plainAttributeKeys != null){
- for(a = 0; a < plainAttributeKeys.length; a++){
- var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
- console.log("splitPlainAttributeKey: " + splitPlainAttributeKey);
- var searchElement = document.getElementById(splitPlainAttributeKey[0]);
- var key = splitPlainAttributeKey[0];
- if(searchElement == null){
- searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
- key = splitPlainAttributeKey[0]+'@0';
- }else if (searchElement.nodeName == 'BUTTON'){
- searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
- key = splitPlainAttributeKey[0]+'@0';
- }
- if(searchElement != null){
- var keySplit = key.split(dot);
- var elumentLocation = keySplit.length;
- var enumKey = key;
- if (elumentLocation > 1){
- enumKey = keySplit[keySplit.length - 1];
- }
- //check it is undefined or not
- if (enumKeyList != undefined && enumKeyList.indexOf(enumKey) != -1){
- if (splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1].indexOf("true") !== -1){
- var multiSlect = [];
- for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
- multiSlect.push(searchElement.selectedOptions[i].value);
- }
- jsonPolicy[key]= multiSlect;
- }else{
- console.log(" searchElement.value = > " + searchElement.value);
- if(splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1] == "boolean"){
- jsonPolicy[key]= false;
- for(var i=0; i<booleanTrueElements.length; i++){
- if(booleanTrueElements[i] == key){
- jsonPolicy[key]= true;
- }
- }
+ $scope.savePolicy = function(policy){
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
+ $scope.savebutton = false;
+ var splitAt = '*';
+ var dot ='.';
+ var jsonPolicy = {};
+ if(plainAttributeKeys != null){
+ for(a = 0; a < plainAttributeKeys.length; a++){
+ var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
+ var searchElement = document.getElementById(splitPlainAttributeKey[0]);
+ var key = splitPlainAttributeKey[0];
+ if(searchElement == null){
+ searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
+ key = splitPlainAttributeKey[0]+'@0';
+ }else if (searchElement.nodeName == 'BUTTON'){
+ searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
+ key = splitPlainAttributeKey[0]+'@0';
+ }
+ if(searchElement != null){
+ var keySplit = key.split(dot);
+ var elumentLocation = keySplit.length;
+ var enumKey = key;
+ if (elumentLocation > 1){
+ enumKey = keySplit[keySplit.length - 1];
+ }
+ // check it is undefined or not
+ if (enumKeyList != undefined && enumKeyList.indexOf(enumKey) != -1){
+ if (splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1].indexOf("true") !== -1){
+ var multiSlect = [];
+ for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
+ multiSlect.push(searchElement.selectedOptions[i].value);
+ }
+ jsonPolicy[key]= multiSlect;
+ }else{
+ if(splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1] == "boolean"){
+ jsonPolicy[key]= false;
+ for(var i=0; i<booleanTrueElements.length; i++){
+ if(booleanTrueElements[i] == key){
+ jsonPolicy[key]= true;
+ }
+ }
- }else{
- jsonPolicy[key]= searchElement.value;
- }
- }
- } else {
- if(searchElement.value != null){
- jsonPolicy[key]= searchElement.value;
- console.log(" searchElement.value = > " + searchElement.value);
- if(splitPlainAttributeKey[1] == "boolean"){
- jsonPolicy[key]= false;
- for(var i=0; i<booleanTrueElements.length; i++){
- if(booleanTrueElements[i] == key){
- jsonPolicy[key]= true;
- }
- }
- }
- }
- }
- }
- }
- }
+ }else{
+ jsonPolicy[key]= searchElement.value;
+ }
+ }
+ } else {
+ if(searchElement.value != null){
+ if(searchElement.parentElement.children[0].checked == true){
+ jsonPolicy[key]= searchElement.checked;
+ }
+ else{
+ jsonPolicy[key]= window.btoa(searchElement.value);
+ }
+ }
+ }
+ }
+ }
+ }
var uuu = "policycreation/save_policy";
var postData={policyData: policy, policyJSON : jsonPolicy};
$.ajax({
@@ -1597,199 +1526,192 @@ angular.module('abs').controller('dcaeMicroServiceController', ['$scope', '$wind
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
- $scope.data=data.policyData;
- if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- $scope.safetyChecker = data.policyData.split("#")[2];
- if ($scope.safetyChecker!=undefined) {
- Notification.success($scope.safetyChecker);
- }
- $scope.pushStatus=data.policyData.split("&")[1];
- if($scope.pushStatus=="successPush"){
- Notification.success("Policy pushed successfully");
- }
- Notification.success("Policy Saved Successfully.");
- }else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
+ $scope.data=data.policyData;
+ if($scope.data == 'success'){
+ $scope.temp.policy.readOnly = 'true';
+ $scope.safetyChecker = data.policyData.split("#")[2];
+ if ($scope.safetyChecker!=undefined) {
+ Notification.success($scope.safetyChecker);
+ }
+ $scope.pushStatus=data.policyData.split("&")[1];
+ if($scope.pushStatus=="successPush"){
+ Notification.success("Policy pushed successfully");
+ }
+ $scope.temp.policy.readOnly = 'true';
+ $scope.savebutton = true;
+ Notification.success("Policy Saved Successfully.");
+ }else if ($scope.data == 'PolicyExists'){
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
});
- console.log($scope.data);
},
error : function(data){
- Notification.error("Error Occured while saving Policy.");
+ Notification.error("Error Occured while saving Policy.");
}
});
};
var booleanTrueElements = [];
$scope.validatePolicy = function(policy){
- document.getElementById("validate").innerHTML = "";
- var splitAt = '*';
- var dot ='.';
- var jsonPolicy = {};
- if(plainAttributeKeys != null){
- for(a = 0; a < plainAttributeKeys.length; a++){
- var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
- console.log(splitPlainAttributeKey[1]);
- var searchElement = document.getElementById(splitPlainAttributeKey[0]);
- var key = splitPlainAttributeKey[0];
- if(searchElement == null){
- searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
- key = splitPlainAttributeKey[0]+'@0';
- }else if (searchElement.nodeName == 'BUTTON'){
- searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
- key = splitPlainAttributeKey[0]+'@0';
- }
- if(searchElement != null){
- if (enumKeyList.indexOf(key) != -1){
- if (splitPlainAttributeKey[1].indexOf("true") !== -1){
- var multiSlect = [];
- for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
- multiSlect.push(searchElement.selectedOptions[i].value);
- }
- jsonPolicy[key]= multiSlect;
- }else{
- jsonPolicy[key]= searchElement.value;
- }
- if(searchElement.getAttribute("required")){
- if(!searchElement.value){
- return;
- }
- }
- } else {
- if(searchElement.value != null){
- jsonPolicy[key]= searchElement.value;
- if(searchElement.getAttribute("required")){
- if(!searchElement.value){
- return;
- }
- }
- }
- }
- }
- }
-
-
- var checkedValue = $('.onoffswitch-checkbox:checked').val();
-
- var x = document.getElementsByClassName("onoffswitch-checkbox");
-
-
- if(checkedValue){
- console.log("checkedValue:" + checkedValue);
- for(var i=0; i<x.length; x++){
- console.log("checkbox id: " + x[i].id);
- booleanTrueElements.push(x[i].id)
- }
- }
- }
+ document.getElementById("validate").innerHTML = "";
+ var splitAt = '*';
+ var jsonPolicy = {};
+ if(plainAttributeKeys != null){
+ for(a = 0; a < plainAttributeKeys.length; a++){
+ var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
+ var searchElement = document.getElementById(splitPlainAttributeKey[0]);
+ var key = splitPlainAttributeKey[0];
+ if(searchElement == null){
+ searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
+ key = splitPlainAttributeKey[0]+'@0';
+ }else if (searchElement.nodeName == 'BUTTON'){
+ searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
+ key = splitPlainAttributeKey[0]+'@0';
+ }
+ if(searchElement != null){
+ if (enumKeyList.indexOf(key) != -1){
+ if (splitPlainAttributeKey[1].indexOf("true") !== -1){
+ var multiSlect = [];
+ for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
+ multiSlect.push(searchElement.selectedOptions[i].value);
+ }
+ jsonPolicy[key]= multiSlect;
+ }else{
+ jsonPolicy[key]= searchElement.value;
+ }
+ if(searchElement.getAttribute("required")){
+ if(!searchElement.value){
+ return;
+ }
+ }
+ } else {
+ if(searchElement.value != null){
+ if(searchElement.parentElement.children[0].checked == true){
+ jsonPolicy[key]= searchElement.checked;
+ }
+ else{
+ jsonPolicy[key]= searchElement.value;
+ }
+ if(searchElement.getAttribute("required")){
+ if(!searchElement.value){
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+
+
+ var checkedValue = $('.onoffswitch-checkbox:checked').val();
+
+ var x = document.getElementsByClassName("onoffswitch-checkbox");
+
+
+ if(checkedValue){
+ for(var i=0; i<x.length; x++){
+ booleanTrueElements.push(x[i].id)
+ }
+ }
+ }
var uuu = "policyController/validate_policy.htm";
- console.log("$scope.isCheck:" + $scope.isCheck);
if($scope.isCheck == true){
- if(("configName" in policy) == false){
- Notification.error("Validation Failed: configName is required");
- $scope.savebutton = true;
- return;
- }
- if(("location" in policy) == false){
- Notification.error("Validation Failed: location is required");
- $scope.savebutton = true;
- return;
- }
- if(("uuid" in policy) == false){
- Notification.error("Validation Failed: uuid is required");
- $scope.savebutton = true;
- return;
- }
- if(("policyScope" in policy) == false){
- Notification.error("Validation Failed: policyScope is required");
- $scope.savebutton = true;
- return;
- }
+ if(("configName" in policy) == false){
+ Notification.error("Validation Failed: configName is required");
+ $scope.savebutton = true;
+ return;
+ }
+ if(("location" in policy) == false){
+ Notification.error("Validation Failed: location is required");
+ $scope.savebutton = true;
+ return;
+ }
+ if(("uuid" in policy) == false){
+ Notification.error("Validation Failed: uuid is required");
+ $scope.savebutton = true;
+ return;
+ }
+ if(("policyScope" in policy) == false){
+ Notification.error("Validation Failed: policyScope is required");
+ $scope.savebutton = true;
+ return;
+ }
}
var postData={policyData: policy, policyJSON : jsonPolicy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size - 1);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size - 1);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
};
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key)) obj[key] = src[key];
+ // Switch Click
+ $('.Switch').click(function() {
+ // Check If Enabled (Has 'On' Class)
+ if ($(this).hasClass('On')){
+ // Try To Find Checkbox Within Parent Div, And Check It
+ $(this).parent().find('input:checkbox').attr('checked', true);
+ // Change Button Style - Remove On Class, Add Off Class
+ $(this).removeClass('On').addClass('Off');
+ } else { // If Button Is Disabled (Has 'Off' Class)
+ // Try To Find Checkbox Within Parent Div, And Uncheck It
+ $(this).parent().find('input:checkbox').attr('checked', false);
+ // Change Button Style - Remove Off Class, Add On Class
+ $(this).removeClass('Off').addClass('On');
+ }
+ });
+ // Loops Through Each Toggle Switch On Page
+ $('.Switch').each(function() {
+ // Search of a checkbox within the parent
+ if ($(this).parent().find('input:checkbox').length){
+
+ // If checkbox doesnt have the show class then hide it
+ if (!$(this).parent().find('input:checkbox').hasClass("show")){
+ $(this).parent().find('input:checkbox').hide(); }
+
+ // Look at the checkbox's checkked state
+ if ($(this).parent().find('input:checkbox').is(':checked')){
+ // Checkbox is not checked, Remove the On Class and Add the Off Class
+ $(this).removeClass('On').addClass('Off');
+ } else {
+ // Checkbox Is Checked Remove Off Class, and Add the On Class
+ $(this).removeClass('Off').addClass('On');
}
- return obj;
}
-
- // Switch Click
- $('.Switch').click(function() {
- // Check If Enabled (Has 'On' Class)
- if ($(this).hasClass('On')){
- // Try To Find Checkbox Within Parent Div, And Check It
- $(this).parent().find('input:checkbox').attr('checked', true);
- // Change Button Style - Remove On Class, Add Off Class
- $(this).removeClass('On').addClass('Off');
- } else { // If Button Is Disabled (Has 'Off' Class)
- // Try To Find Checkbox Within Parent Div, And Uncheck It
- $(this).parent().find('input:checkbox').attr('checked', false);
- // Change Button Style - Remove Off Class, Add On Class
- $(this).removeClass('Off').addClass('On');
- }
- });
- // Loops Through Each Toggle Switch On Page
- $('.Switch').each(function() {
- // Search of a checkbox within the parent
- if ($(this).parent().find('input:checkbox').length){
-
- // If checkbox doesnt have the show class then hide it
- if (!$(this).parent().find('input:checkbox').hasClass("show")){
- $(this).parent().find('input:checkbox').hide(); }
-
- // Look at the checkbox's checkked state
- if ($(this).parent().find('input:checkbox').is(':checked')){
- // Checkbox is not checked, Remove the On Class and Add the Off Class
- $(this).removeClass('On').addClass('Off');
- } else {
- // Checkbox Is Checked Remove Off Class, and Add the On Class
- $(this).removeClass('Off').addClass('On');
- }
- }
- });
+ });
}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
index 0e53ce9de..4d63dbe3f 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,447 +17,411 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('decisionPolicyController', [ '$scope', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', '$http', function($scope, PolicyAppService, PolicyNavigator, modalService, $modal, Notification, $http) {
- $("#dialog").hide();
-
- $scope.policyNavigator;
- $scope.savebutton = true;
- $scope.refreshCheck = false;
- $scope.disableOnCreate = false;
- $scope.notRawPolicy = true;
-
- if (!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly) {
- $scope.disableOnCreate = true;
- $scope.temp.policy = {
- policyType : "Decision"
- }
- }
- ;
-
- $scope.refresh = function() {
- if ($scope.refreshCheck) {
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
- };
-
- $scope.modal = function(id, hide) {
- return $('#' + id).modal(hide ? 'hide' : 'show');
- };
-
- if ($scope.temp.policy.ruleProvider == undefined) {
- $scope.temp.policy.ruleProvider = "Custom";
- }
-
- if ($scope.temp.policy.blackListEntryType == undefined) {
- $scope.temp.policy.blackListEntryType = "Use Manual Entry";
- }
-
- PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
- console.log($scope.onapNameDictionaryDatas);
- }, function(error) {
- console.log("failed");
- });
-
- PolicyAppService.getData('getDictionary/get_SettingsDictionaryDataByName').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.settingsDictionaryDatas = JSON.parse($scope.data.settingsDictionaryDatas);
- console.log($scope.settingsDictionaryDatas);
- }, function(error) {
- console.log("failed");
- });
-
- PolicyAppService.getData('get_FunctionDefinitionDataByName').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.functionDefinitionDatas = JSON.parse($scope.data.functionDefinitionDatas);
- console.log($scope.functionDefinitionDatas);
- }, function(error) {
- console.log("failed");
- });
-
- PolicyAppService.getData('getDictionary/get_AttributeDatabyAttributeName').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.attributeDictionaryDatas = JSON.parse($scope.data.attributeDictionaryDatas);
- console.log($scope.attributeDictionaryDatas);
- }, function(error) {
- console.log("failed");
- });
-
- PolicyAppService.getData('getDictionary/get_RainyDayDictionaryDataByName').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.rainyDayDictionaryDatas = JSON.parse($scope.data.rainyDayDictionaryDatas);
- console.log($scope.rainyDayDictionaryDatas);
- }, function(error) {
- console.log("failed");
- });
-
- PolicyAppService.getData('getDictionary/get_RainyDayDictionaryData').then(function(data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.rainyDayDictionaryDataEntity = JSON.parse($scope.data.rainyDayDictionaryDatas);
- console.log($scope.rainyDayDictionaryDatasEntity);
- }, function(error) {
- console.log("failed");
- });
-
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key))
- obj[key] = src[key];
- }
- return obj;
- }
-
- $scope.saveDecisionPolicy = function(policy) {
- if (policy.itemContent != undefined) {
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
- $scope.savebutton = false;
- console.log(policy);
- var uuu = "policycreation/save_policy";
- var postData = {
- policyData : policy
- };
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType : 'json',
- contentType : 'application/json',
- data : JSON.stringify(postData),
- success : function(data) {
- $scope.$apply(function() {
- $scope.data = data.policyData;
- if ($scope.data == 'success') {
- $scope.temp.policy.readOnly = 'true';
- Notification.success("Policy Saved Successfully.");
- } else if ($scope.data == 'PolicyExists') {
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
- });
- console.log($scope.data);
-
- },
- error : function(data) {
- Notification.error("Error Occured while saving Policy.");
- }
- });
- };
-
- $scope.validatePolicy = function(policy) {
- console.log(policy);
- document.getElementById("validate").innerHTML = "";
- var uuu = "policyController/validate_policy.htm";
- var postData = {
- policyData : policy
- };
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType : 'json',
- contentType : 'application/json',
- data : JSON.stringify(postData),
- success : function(data) {
- $scope.$apply(function() {
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data = data.data;
- if ($scope.data == '"success"') {
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- } else {
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
- },
- error : function(data) {
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
- };
-
- if (!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly) {
- $scope.temp.policy.attributes = [];
- $scope.temp.policy.settings = [];
- $scope.temp.policy.ruleAlgorithmschoices = [];
- if (!$scope.temp.policy.yamlparams) {
- $scope.temp.policy.yamlparams = {};
- }
- if (!$scope.temp.policy.yamlparams.targets) {
- $scope.temp.policy.yamlparams.targets = [];
- }
- if (!$scope.temp.policy.yamlparams.blackList) {
- $scope.temp.policy.yamlparams.blackList = [];
- }
- if (!$scope.temp.policy.rainyday) {
- $scope.temp.policy.rainyday = {};
- }
- if (!$scope.temp.policy.rainyday.treatmentTableChoices) {
- $scope.temp.policy.rainyday.treatmentTableChoices = [];
- }
-
- } else if ($scope.temp.policy.ruleProvider == "Custom") {
- if ($scope.temp.policy.attributes.length == 0) {
- $scope.temp.policy.attributes = [];
- }
- if ($scope.temp.policy.settings.length == 0) {
- $scope.temp.policy.settings = [];
- }
- if ($scope.temp.policy.ruleAlgorithmschoices == null || $scope.temp.policy.ruleAlgorithmschoices.length == 0) {
- $scope.temp.policy.ruleAlgorithmschoices = [];
- }
- } else if ($scope.temp.policy.ruleProvider == "GUARD_BL_YAML") {
- if ($scope.temp.policy.yamlparams.blackList == null || $scope.temp.policy.yamlparams.blackList.length == 0) {
- $scope.temp.policy.yamlparams.blackList = [];
- }
- if ($scope.temp.policy.blackListEntries == null || $scope.temp.policy.blackListEntries.length == 0) {
- $scope.temp.policy.blackListEntries = [];
- }
- $scope.blackListEntries = [];
- $scope.temp.policy.appendBlackListEntries = [];
- $scope.blackListEntries = arrayUnique($scope.temp.policy.blackListEntries.concat($scope.temp.policy.yamlparams.blackList));
-
+angular.module('abs').controller('decisionPolicyController',
+ [ '$scope', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', '$http',
+ function($scope, PolicyAppService, PolicyNavigator, modalService, $modal, Notification, $http) {
+ $("#dialog").hide();
+
+ $scope.policyNavigator;
+ $scope.savebutton = true;
+ $scope.refreshCheck = false;
+ $scope.disableOnCreate = false;
+ $scope.notRawPolicy = true;
+
+ if (!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly) {
+ $scope.disableOnCreate = true;
+ $scope.temp.policy = {
+ policyType : "Decision"
+ }
+ }
+
+ $scope.refresh = function() {
+ if ($scope.refreshCheck) {
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
+ };
+
+ $scope.modal = function(id, hide) {
+ return $('#' + id).modal(hide ? 'hide' : 'show');
+ };
+
+ if ($scope.temp.policy.ruleProvider == undefined) {
+ $scope.temp.policy.ruleProvider = "Custom";
+ }
+
+ if ($scope.temp.policy.blackListEntryType == undefined) {
+ $scope.temp.policy.blackListEntryType = "Use Manual Entry";
+ }
+
+ PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
+ });
+
+ PolicyAppService.getData('getDictionary/get_SettingsDictionaryDataByName').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.settingsDictionaryDatas = JSON.parse($scope.data.settingsDictionaryDatas);
+ });
+
+ PolicyAppService.getData('get_FunctionDefinitionDataByName').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.functionDefinitionDatas = JSON.parse($scope.data.functionDefinitionDatas);
+ });
+
+ PolicyAppService.getData('getDictionary/get_AttributeDatabyAttributeName').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.attributeDictionaryDatas = JSON.parse($scope.data.attributeDictionaryDatas);
+ });
+
+ PolicyAppService.getData('getDictionary/get_RainyDayDictionaryDataByName').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.rainyDayDictionaryDatas = JSON.parse($scope.data.rainyDayDictionaryDatas);
+ });
+
+ PolicyAppService.getData('getDictionary/get_RainyDayDictionaryData').then(function(data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.rainyDayDictionaryDataEntity = JSON.parse($scope.data.rainyDayDictionaryDatas);
+ });
+
+ $scope.saveDecisionPolicy = function(policy) {
+ if (policy.itemContent != undefined) {
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
+ $scope.savebutton = false;
+ var uuu = "policycreation/save_policy";
+ var postData = {
+ policyData : policy
+ };
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType : 'json',
+ contentType : 'application/json',
+ data : JSON.stringify(postData),
+ success : function(data) {
+ $scope.$apply(function() {
+ $scope.data = data.policyData;
+ if ($scope.data == 'success') {
+ $scope.temp.policy.readOnly = 'true';
+ Notification.success("Policy Saved Successfully.");
+ } else if ($scope.data == 'PolicyExists') {
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
+ });
+
+ },
+ error : function(data) {
+ Notification.error("Error Occured while saving Policy.");
+ }
+ });
+ };
+
+ $scope.validatePolicy = function(policy) {
+ document.getElementById("validate").innerHTML = "";
+ var uuu = "policyController/validate_policy.htm";
+ var postData = {
+ policyData : policy
+ };
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType : 'json',
+ contentType : 'application/json',
+ data : JSON.stringify(postData),
+ success : function(data) {
+ $scope.$apply(function() {
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data = data.data;
+ if ($scope.data == '"success"') {
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ } else {
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+ },
+ error : function(data) {
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
+ };
+
+ if (!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly) {
+ $scope.temp.policy.attributes = [];
+ $scope.temp.policy.settings = [];
+ $scope.temp.policy.ruleAlgorithmschoices = [];
+ if (!$scope.temp.policy.yamlparams) {
+ $scope.temp.policy.yamlparams = {};
+ }
+ if (!$scope.temp.policy.yamlparams.targets) {
+ $scope.temp.policy.yamlparams.targets = [];
+ }
+ if (!$scope.temp.policy.yamlparams.blackList) {
+ $scope.temp.policy.yamlparams.blackList = [];
+ }
+ if (!$scope.temp.policy.rainyday) {
+ $scope.temp.policy.rainyday = {};
+ }
+ if (!$scope.temp.policy.rainyday.treatmentTableChoices) {
+ $scope.temp.policy.rainyday.treatmentTableChoices = [];
+ }
+
+ } else if ($scope.temp.policy.ruleProvider == "Custom") {
+ if ($scope.temp.policy.attributes.length == 0) {
+ $scope.temp.policy.attributes = [];
+ }
+ if ($scope.temp.policy.settings.length == 0) {
+ $scope.temp.policy.settings = [];
+ }
+ if ($scope.temp.policy.ruleAlgorithmschoices == null || $scope.temp.policy.ruleAlgorithmschoices.length == 0) {
+ $scope.temp.policy.ruleAlgorithmschoices = [];
+ }
+ } else if ($scope.temp.policy.ruleProvider == "GUARD_BL_YAML") {
+ if ($scope.temp.policy.yamlparams.blackList == null || $scope.temp.policy.yamlparams.blackList.length == 0) {
+ $scope.temp.policy.yamlparams.blackList = [];
+ }
+ if ($scope.temp.policy.blackListEntries == null || $scope.temp.policy.blackListEntries.length == 0) {
+ $scope.temp.policy.blackListEntries = [];
+ }
+ $scope.blackListEntries = [];
+ $scope.temp.policy.appendBlackListEntries = [];
+ $scope.blackListEntries = arrayUnique($scope.temp.policy.blackListEntries.concat($scope.temp.policy.yamlparams.blackList));
+
}else if($scope.temp.policy.ruleProvider=="GUARD_YAML" || $scope.temp.policy.ruleProvider=="GUARD_MIN_MAX"){
- if($scope.temp.policy.yamlparams.targets.length==0){
- $scope.temp.policy.yamlparams.targets = [];
- }
- } else if ($scope.temp.policy.ruleProvider == "Rainy_Day") {
- if ($scope.temp.policy.rainyday.treatmentTableChoices == null || $scope.temp.policy.rainyday.treatmentTableChoices.length == 0) {
- $scope.temp.policy.rainyday.treatmentTableChoices = [];
- }
- }
- $scope.attributeDatas = [ {
- "attributes" : $scope.temp.policy.attributes
- } ];
- $scope.addNewChoice = function() {
- var newItemNo = $scope.temp.policy.attributes.length + 1;
- $scope.temp.policy.attributes.push({
- 'id' : 'choice' + newItemNo
- });
- };
- $scope.removeChoice = function() {
- var lastItem = $scope.temp.policy.attributes.length - 1;
- $scope.temp.policy.attributes.splice(lastItem);
- };
-
- $scope.settingsDatas = [ {
- "settings" : $scope.temp.policy.settings
- } ];
- $scope.addNewSettingsChoice = function() {
- var newItemNo = $scope.temp.policy.settings.length + 1;
- $scope.temp.policy.settings.push({
- 'id' : 'choice' + newItemNo
- });
- };
- $scope.removeSettingsChoice = function() {
- var lastItem = $scope.temp.policy.settings.length - 1;
- $scope.temp.policy.settings.splice(lastItem);
- };
-
- $scope.addNewTarget = function() {
- $scope.temp.policy.yamlparams.targets.push('');
- };
- $scope.removeTarget = function() {
- var lastItem = $scope.temp.policy.yamlparams.targets.length - 1;
- $scope.temp.policy.yamlparams.targets.splice(lastItem);
- };
-
- $scope.addNewBL = function() {
- $scope.temp.policy.yamlparams.blackList.push('');
- };
+ if($scope.temp.policy.yamlparams.targets.length==0){
+ $scope.temp.policy.yamlparams.targets = [];
+ }
+ } else if ($scope.temp.policy.ruleProvider == "Rainy_Day") {
+ if ($scope.temp.policy.rainyday.treatmentTableChoices == null || $scope.temp.policy.rainyday.treatmentTableChoices.length == 0) {
+ $scope.temp.policy.rainyday.treatmentTableChoices = [];
+ }
+ }
+ $scope.attributeDatas = [ {
+ "attributes" : $scope.temp.policy.attributes
+ } ];
+ $scope.addNewChoice = function() {
+ var newItemNo = $scope.temp.policy.attributes.length + 1;
+ $scope.temp.policy.attributes.push({
+ 'id' : 'choice' + newItemNo
+ });
+ };
+ $scope.removeChoice = function() {
+ var lastItem = $scope.temp.policy.attributes.length - 1;
+ $scope.temp.policy.attributes.splice(lastItem);
+ };
+
+ $scope.settingsDatas = [ {
+ "settings" : $scope.temp.policy.settings
+ } ];
+ $scope.addNewSettingsChoice = function() {
+ var newItemNo = $scope.temp.policy.settings.length + 1;
+ $scope.temp.policy.settings.push({
+ 'id' : 'choice' + newItemNo
+ });
+ };
+ $scope.removeSettingsChoice = function() {
+ var lastItem = $scope.temp.policy.settings.length - 1;
+ $scope.temp.policy.settings.splice(lastItem);
+ };
+
+ $scope.addNewTarget = function() {
+ $scope.temp.policy.yamlparams.targets.push('');
+ };
+ $scope.removeTarget = function() {
+ var lastItem = $scope.temp.policy.yamlparams.targets.length - 1;
+ $scope.temp.policy.yamlparams.targets.splice(lastItem);
+ };
+
+ $scope.addNewBL = function() {
+ $scope.temp.policy.yamlparams.blackList.push('');
+ };
$scope.removeBL = function(id) {
- $scope.temp.policy.yamlparams.blackList = $scope.temp.policy.yamlparams.blackList.filter(function (obj){
- return obj !== id;
- });
- };
-
- $scope.treatmentDatas = [ {
- "treatmentValues" : $scope.temp.policy.rainyday.treatmentTableChoices
- } ];
-
- $scope.addNewTreatment = function() {
- $scope.temp.policy.rainyday.treatmentTableChoices.push({});
- };
-
- $scope.removeTreatment = function() {
- var lastItem = $scope.temp.policy.rainyday.treatmentTableChoices.length - 1;
- $scope.temp.policy.rainyday.treatmentTableChoices.splice(lastItem);
- };
-
- $scope.workstepDictionaryDatas = [];
- $scope.getWorkstepValues = function(bbidValue) {
- for (var i = 0; i < $scope.rainyDayDictionaryDataEntity.length; ++i) {
- var obj = $scope.rainyDayDictionaryDataEntity[i];
- if (obj.bbid == bbidValue) {
- $scope.workstepDictionaryDatas.push(obj.workstep);
- }
- }
- };
-
- $scope.allowedTreatmentsDatas = [];
- $scope.getTreatmentValues = function(bbidValue, workstepValue) {
- for (var i = 0; i < $scope.rainyDayDictionaryDataEntity.length; ++i) {
- var obj = $scope.rainyDayDictionaryDataEntity[i];
- if (obj.bbid == bbidValue && obj.workstep == workstepValue) {
- var splitAlarm = obj.treatments.split(',');
- for (var j = 0; j < splitAlarm.length; ++j) {
- $scope.allowedTreatmentsDatas.push(splitAlarm[j]);
- }
- }
- }
- };
-
- $scope.ItemNo = 0;
- $scope.ruleAlgorithmDatas = [ {
- "ruleAlgorithms" : $scope.temp.policy.ruleAlgorithmschoices
- } ];
-
- $scope.addNewRuleAlgorithm = function() {
- if ($scope.temp.policy.ruleAlgorithmschoices != null) {
- var newItemNo = $scope.temp.policy.ruleAlgorithmschoices.length + 1;
- } else {
- var newItemNo = 1;
- }
- if (newItemNo > 1) {
- var value = newItemNo - 1;
- $scope.attributeDictionaryDatas.push('A' + value);
- }
- $scope.temp.policy.ruleAlgorithmschoices.push({
- 'id' : 'A' + newItemNo
- });
- };
-
- $scope.removeRuleAlgorithm = function() {
- var lastItem = $scope.temp.policy.ruleAlgorithmschoices.length - 1;
- $scope.temp.policy.ruleAlgorithmschoices.splice(lastItem);
- };
-
- $scope.providerListener = function(ruleProvider) {
- if (ruleProvider != "Custom") {
- $scope.temp.policy.ruleAlgorithmschoices = [];
- $scope.temp.policy.settings = [];
- $scope.temp.policy.attributes = [];
- }
- if (ruleProvider === "Raw") {
- $scope.notRawPolicy = false;
- }
- };
-
- $scope.importButton = true;
- var fd;
- $scope.uploadBLFile = function(files) {
- fd = new FormData();
- fd.append("file", files[0]);
- var fileExtension = files[0].name.split(".")[1];
- if (fileExtension == "xls") {
- $scope.importButton = false;
- $scope.$apply();
- } else {
- Notification.error("Upload the BlackList file which extends with .xls format.");
- }
- };
-
- function arrayUnique(array) {
- var a = array.concat();
- for (var i = 0; i < a.length; ++i) {
- for (var j = i + 1; j < a.length; ++j) {
- if (a[i] === a[j])
- a.splice(j--, 1);
- }
- }
- return a;
- }
-
- $scope.submitUpload = function() {
- $http.post("policycreation/importBlackListForDecisionPolicy", fd, {
- withCredentials : false,
- headers : {
- 'Content-Type' : undefined
- },
- transformRequest : angular.identity
- }).success(function(data) {
- $scope.data = JSON.parse(data.data);
- $scope.temp.policy.blackListEntries = $scope.data.blackListEntries;
- if ($scope.temp.policy.blackListEntries[0] !== "error") {
- $scope.blackListEntries = arrayUnique($scope.temp.policy.blackListEntries.concat($scope.temp.policy.yamlparams.blackList));
- $scope.temp.policy.appendBlackListEntries = $scope.data.appendBlackListEntries;
- $scope.blackListEntries = $scope.blackListEntries.filter(function(obj) {
- return !$scope.temp.policy.appendBlackListEntries.includes(obj);
- });
- if ($scope.blackListEntries.length == 0) {
- $scope.validateButton = true;
- Notification.error("Black Lists are empty. Minimum one entry required.");
- } else {
- $scope.temp.policy.blackListEntries = $scope.blackListEntries;
- Notification.success("Blacklist File Uploaded Successfully.");
- $scope.validateButton = false;
- $scope.importButton = true;
- }
- } else {
- Notification.error("Blacklist File Upload Failed." + $scope.temp.policy.blackListEntries[1]);
- }
- }).error(function(data) {
- Notification.error("Blacklist File Upload Failed.");
- });
- };
-
- $scope.initializeBlackList = function() {
- if ($scope.temp.policy.blackListEntryType === "Use File Upload") {
- $scope.validateButton = true;
- } else {
- $scope.validateButton = false;
- }
- $("#importFile").val('');
- };
-
- $scope.exportBlackListEntries = function() {
- var uuu = "policycreation/exportDecisionBlackListEntries";
- var postData = {
- policyData : $scope.temp.policy,
- date : $scope.temp.model.modifiedDate,
- version : $scope.temp.model.version
- };
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType : 'json',
- contentType : 'application/json',
- data : JSON.stringify(postData),
- success : function(data) {
- $scope.$apply(function() {
- $scope.data = data.data;
- var url = '../' + $scope.data;
- window.location = url;
- Notification.success("BlackList Entries Exported Successfully.");
- });
- console.log($scope.data);
- },
- error : function(data) {
- Notification.error("Error Occured while Exporting BlackList Entries.");
- }
- });
- };
-} ]); \ No newline at end of file
+ $scope.temp.policy.yamlparams.blackList = $scope.temp.policy.yamlparams.blackList.filter(function (obj){
+ return obj !== id;
+ });
+ };
+
+ $scope.treatmentDatas = [ {
+ "treatmentValues" : $scope.temp.policy.rainyday.treatmentTableChoices
+ } ];
+
+ $scope.addNewTreatment = function() {
+ $scope.temp.policy.rainyday.treatmentTableChoices.push({});
+ };
+
+ $scope.removeTreatment = function() {
+ var lastItem = $scope.temp.policy.rainyday.treatmentTableChoices.length - 1;
+ $scope.temp.policy.rainyday.treatmentTableChoices.splice(lastItem);
+ };
+
+ $scope.workstepDictionaryDatas = [];
+ $scope.getWorkstepValues = function(bbidValue) {
+ for (var i = 0; i < $scope.rainyDayDictionaryDataEntity.length; ++i) {
+ var obj = $scope.rainyDayDictionaryDataEntity[i];
+ if (obj.bbid == bbidValue) {
+ $scope.workstepDictionaryDatas.push(obj.workstep);
+ }
+ }
+ };
+
+ $scope.allowedTreatmentsDatas = [];
+ $scope.getTreatmentValues = function(bbidValue, workstepValue) {
+ for (var i = 0; i < $scope.rainyDayDictionaryDataEntity.length; ++i) {
+ var obj = $scope.rainyDayDictionaryDataEntity[i];
+ if (obj.bbid == bbidValue && obj.workstep == workstepValue) {
+ var splitAlarm = obj.treatments.split(',');
+ for (var j = 0; j < splitAlarm.length; ++j) {
+ $scope.allowedTreatmentsDatas.push(splitAlarm[j]);
+ }
+ }
+ }
+ };
+
+ $scope.ItemNo = 0;
+ $scope.ruleAlgorithmDatas = [ {
+ "ruleAlgorithms" : $scope.temp.policy.ruleAlgorithmschoices
+ } ];
+
+ $scope.addNewRuleAlgorithm = function() {
+ if ($scope.temp.policy.ruleAlgorithmschoices != null) {
+ var newItemNo = $scope.temp.policy.ruleAlgorithmschoices.length + 1;
+ } else {
+ var newItemNo = 1;
+ }
+ if (newItemNo > 1) {
+ var value = newItemNo - 1;
+ $scope.attributeDictionaryDatas.push('A' + value);
+ }
+ $scope.temp.policy.ruleAlgorithmschoices.push({
+ 'id' : 'A' + newItemNo
+ });
+ };
+
+ $scope.removeRuleAlgorithm = function() {
+ var lastItem = $scope.temp.policy.ruleAlgorithmschoices.length - 1;
+ $scope.temp.policy.ruleAlgorithmschoices.splice(lastItem);
+ };
+
+ $scope.providerListener = function(ruleProvider) {
+ if (ruleProvider != "Custom") {
+ $scope.temp.policy.ruleAlgorithmschoices = [];
+ $scope.temp.policy.settings = [];
+ $scope.temp.policy.attributes = [];
+ }
+ if (ruleProvider === "Raw") {
+ $scope.notRawPolicy = false;
+ }
+ };
+
+ $scope.importButton = true;
+ var fd;
+ $scope.uploadBLFile = function(files) {
+ fd = new FormData();
+ fd.append("file", files[0]);
+ var fileExtension = files[0].name.split(".")[1];
+ if (fileExtension == "xls") {
+ $scope.importButton = false;
+ $scope.$apply();
+ } else {
+ Notification.error("Upload the BlackList file which extends with .xls format.");
+ }
+ };
+
+ function arrayUnique(array) {
+ var a = array.concat();
+ for (var i = 0; i < a.length; ++i) {
+ for (var j = i + 1; j < a.length; ++j) {
+ if (a[i] === a[j])
+ a.splice(j--, 1);
+ }
+ }
+ return a;
+ }
+
+ $scope.submitUpload = function() {
+ $http.post("policycreation/importBlackListForDecisionPolicy", fd, {
+ withCredentials : false,
+ headers : {
+ 'Content-Type' : undefined
+ },
+ transformRequest : angular.identity
+ }).success(function(data) {
+ $scope.data = JSON.parse(data.data);
+ $scope.temp.policy.blackListEntries = $scope.data.blackListEntries;
+ if ($scope.temp.policy.blackListEntries[0] !== "error") {
+ $scope.blackListEntries = arrayUnique($scope.temp.policy.blackListEntries.concat($scope.temp.policy.yamlparams.blackList));
+ $scope.temp.policy.appendBlackListEntries = $scope.data.appendBlackListEntries;
+ $scope.blackListEntries = $scope.blackListEntries.filter(function(obj) {
+ return !$scope.temp.policy.appendBlackListEntries.includes(obj);
+ });
+ if ($scope.blackListEntries.length == 0) {
+ $scope.validateButton = true;
+ Notification.error("Black Lists are empty. Minimum one entry required.");
+ } else {
+ $scope.temp.policy.blackListEntries = $scope.blackListEntries;
+ Notification.success("Blacklist File Uploaded Successfully.");
+ $scope.validateButton = false;
+ $scope.importButton = true;
+ }
+ } else {
+ Notification.error("Blacklist File Upload Failed." + $scope.temp.policy.blackListEntries[1]);
+ }
+ }).error(function(data) {
+ Notification.error("Blacklist File Upload Failed.");
+ });
+ };
+
+ $scope.initializeBlackList = function() {
+ if ($scope.temp.policy.blackListEntryType === "Use File Upload") {
+ $scope.validateButton = true;
+ } else {
+ $scope.validateButton = false;
+ }
+ $("#importFile").val('');
+ };
+
+ $scope.exportBlackListEntries = function() {
+ var uuu = "policycreation/exportDecisionBlackListEntries";
+ var postData = {
+ policyData : $scope.temp.policy,
+ date : $scope.temp.model.modifiedDate,
+ version : $scope.temp.model.version
+ };
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType : 'json',
+ contentType : 'application/json',
+ data : JSON.stringify(postData),
+ success : function(data) {
+ $scope.$apply(function() {
+ $scope.data = data.data;
+ var url = '../' + $scope.data;
+ window.location = url;
+ Notification.success("BlackList Entries Exported Successfully.");
+ });
+ },
+ error : function(data) {
+ Notification.error("Error Occured while Exporting BlackList Entries.");
+ }
+ });
+ };
+} ]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/FirewallPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/FirewallPolicyController.js
index 1051ecd9a..b62f91d0d 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/FirewallPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/FirewallPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,9 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('fwPolicyController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
+angular.module('abs').controller('fwPolicyController',
+ ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function ($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
$("#dialog").hide();
$scope.policyNavigator;
@@ -25,18 +27,18 @@ angular.module('abs').controller('fwPolicyController', ['$scope', '$window', 'Po
$scope.refreshCheck = false;
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "Firewall Config"
- }
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "Firewall Config"
+ }
};
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -44,83 +46,51 @@ angular.module('abs').controller('fwPolicyController', ['$scope', '$window', 'Po
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
-
+
PolicyAppService.getData('getDictionary/get_SecurityZoneDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.securityZoneDictionaryDatas = JSON.parse($scope.data.securityZoneDictionaryDatas);
- console.log($scope.securityZoneDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.securityZoneDictionaryDatas = JSON.parse($scope.data.securityZoneDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_TermListDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.termListDictionaryDatas = JSON.parse($scope.data.termListDictionaryDatas);
- console.log($scope.termListDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.termListDictionaryDatas = JSON.parse($scope.data.termListDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_FWDictionaryListDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.fwDictListDictionaryDatas = JSON.parse($scope.data.fwDictListDictionaryDatas);
- console.log($scope.fwDictListDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.fwDictListDictionaryDatas = JSON.parse($scope.data.fwDictListDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_FWParentListDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.fwParentListDictionaryDatas = JSON.parse($scope.data.fwParentListDictionaryDatas);
- console.log($scope.fwParentListDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.fwParentListDictionaryDatas = JSON.parse($scope.data.fwParentListDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_TagPickerNameByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.fwTagPickerDictionaryDatas = JSON.parse($scope.data.fwTagPickerDictionaryDatas);
- console.log($scope.fwTagPickerDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.fwTagPickerDictionaryDatas = JSON.parse($scope.data.fwTagPickerDictionaryDatas);
});
PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
});
- function extend(obj, src) {
- for (var key in src) {
- if (src.hasOwnProperty(key)) obj[key] = src[key];
- }
- return obj;
- }
-
$scope.viewFWRule = function(policy){
- console.log(policy);
var uuu = "policyController/ViewFWPolicyRule.htm";
var postData={policyData: policy};
$.ajax({
@@ -131,110 +101,106 @@ angular.module('abs').controller('fwPolicyController', ['$scope', '$window', 'Po
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
- window.alert(data.policyData);
+ window.alert(data.policyData);
});
},
error : function(data){
- Notification.error("Error Occured while Showing Rule.");
+ Notification.error("Error Occured while Showing Rule.");
}
});
};
$scope.saveFWPolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
- $scope.savebutton = false;
- console.log(policy);
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
+ $scope.savebutton = false;
var uuu = "policycreation/save_policy";
- var postData={policyData: policy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.data=data.policyData;
- if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- $scope.pushStatus=data.policyData.split("&")[1];
- if($scope.pushStatus=="successPush"){
- Notification.success("Policy pushed successfully");
- }
- Notification.success("Policy Saved Successfully.");
- }else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Error Occured while saving Policy.");
- }
- });
+ var postData={policyData: policy};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.data=data.policyData;
+ if($scope.data == 'success'){
+ $scope.temp.policy.readOnly = 'true';
+ $scope.pushStatus=data.policyData.split("&")[1];
+ if($scope.pushStatus=="successPush"){
+ Notification.success("Policy pushed successfully");
+ }
+ Notification.success("Policy Saved Successfully.");
+ }else if ($scope.data == 'PolicyExists'){
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
+ });
+ },
+ error : function(data){
+ Notification.error("Error Occured while saving Policy.");
+ }
+ });
};
$scope.validatePolicy = function(policy){
- console.log(policy);
- document.getElementById("validate").innerHTML = "";
+ document.getElementById("validate").innerHTML = "";
var uuu = "policyController/validate_policy.htm";
- var postData={policyData: policy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
-
- },
- error : function(data){
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
+ var postData={policyData: policy};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
};
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy.attributes = [];
- $scope.temp.policy.fwattributes = [];
+ $scope.temp.policy.attributes = [];
+ $scope.temp.policy.fwattributes = [];
}else{
if($scope.temp.policy.attributes.length == 0){
- $scope.temp.policy.attributes = [];
+ $scope.temp.policy.attributes = [];
}
if($scope.temp.policy.fwPolicyType == 'Parent Policy'){
- if($scope.temp.policy.fwattributes.length == 0){
- $scope.temp.policy.fwattributes = [];
- }
+ if($scope.temp.policy.fwattributes.length == 0){
+ $scope.temp.policy.fwattributes = [];
+ }
}
}
@@ -258,4 +224,4 @@ angular.module('abs').controller('fwPolicyController', ['$scope', '$window', 'Po
$scope.temp.policy.fwattributes.splice(lastItem);
};
-}]); \ No newline at end of file
+}]);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js
index cdeaefdea..58594bc43 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/OptimizationPolicyController.js
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,9 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-angular.module('abs').controller('optimizationController', ['$scope', '$window', '$compile', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function ($scope, $window, $compile, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
+angular.module('abs').controller('optimizationController',
+ ['$scope', '$window', '$compile', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
+ function ($scope, $window, $compile, PolicyAppService, PolicyNavigator, modalService, $modal, Notification) {
$("#dialog").hide();
$scope.policyNavigator;
@@ -26,18 +28,18 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window',
$scope.refreshCheck = false;
if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy = {
- policyType : "Config",
- configPolicyType : "Optimization"
- }
- };
+ $scope.temp.policy = {
+ policyType : "Config",
+ configPolicyType : "Optimization"
+ }
+ }
$scope.refresh = function(){
- if($scope.refreshCheck){
- $scope.policyNavigator.refresh();
- }
- $scope.modal('createNewPolicy', true);
- $scope.temp.policy = "";
+ if($scope.refreshCheck){
+ $scope.policyNavigator.refresh();
+ }
+ $scope.modal('createNewPolicy', true);
+ $scope.temp.policy = "";
};
$scope.modal = function(id, hide) {
@@ -45,247 +47,226 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window',
};
$('#ttlDate').datepicker({
- dateFormat: 'dd/mm/yy',
- changeMonth: true,
- changeYear: true,
- onSelect: function(date) {
- angular.element($('#ttlDate')).triggerHandler('input');
- }
+ dateFormat: 'dd/mm/yy',
+ changeMonth: true,
+ changeYear: true,
+ onSelect: function(date) {
+ angular.element($('#ttlDate')).triggerHandler('input');
+ }
});
- if ($scope.temp.policy.editPolicy != undefined|| $scope.temp.policy.readOnly != undefined){
- if ($scope.temp.policy.configName == undefined){
- $scope.isCheck = false;
- }else{
- $scope.isCheck = true;
- }
- }else {
- $scope.isCheck = false;
- }
-
- PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
- console.log($scope.onapNameDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ if ($scope.temp.policy.editPolicy != undefined|| $scope.temp.policy.readOnly != undefined){
+ if ($scope.temp.policy.configName == undefined){
+ $scope.isCheck = false;
+ }else{
+ $scope.isCheck = true;
+ }
+ }else {
+ $scope.isCheck = false;
+ }
+
+ PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
+ });
- PolicyAppService.getData('get_DCAEPriorityValues').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.priorityDatas = JSON.parse($scope.data.priorityDatas);
- console.log($scope.priorityDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('get_DCAEPriorityValues').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.priorityDatas = JSON.parse($scope.data.priorityDatas);
+ });
- PolicyAppService.getData('getDictionary/get_OptimizationModelsDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- var inputModelList = JSON.parse($scope.data.optimizationModelsDictionaryDatas);
- var unique = {};
- var uniqueList = [];
- for(var i = 0; i < inputModelList.length; i++){
- if(typeof unique[inputModelList[i]] == "undefined"){
- unique[inputModelList[i]] = "";
- uniqueList.push(inputModelList[i]);
- }
- }
- $scope.optimizationModelsDictionaryDatas = uniqueList;
- console.log($scope.optimizationModelsDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_OptimizationModelsDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ var inputModelList = JSON.parse($scope.data.optimizationModelsDictionaryDatas);
+ var unique = {};
+ var uniqueList = [];
+ for(var i = 0; i < inputModelList.length; i++){
+ if(typeof unique[inputModelList[i]] == "undefined"){
+ unique[inputModelList[i]] = "";
+ uniqueList.push(inputModelList[i]);
+ }
+ }
+ $scope.optimizationModelsDictionaryDatas = uniqueList;
+ });
- PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
- var j = data;
- $scope.data = JSON.parse(j.data);
- console.log($scope.data);
- $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
- console.log($scope.riskTypeDictionaryDatas);
- }, function (error) {
- console.log("failed");
- });
+ PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
+ });
- $scope.choices = [];
- $scope.attributeDatas = [{"attributes" : $scope.choices}];
- $scope.isInitEditTemplate = true; //just initially create the edit template, didn't click add button yet.
- $scope.addNewChoice = function(value) {
- console.log("input value : " + value);
- if(value != undefined){
- if (value.startsWith('div.')){
- value = value.replace('div.','');
- }
- var parentElement = document.getElementById("div."+value);
- var div = document.getElementById(value+"@0");
- if(div != null){
- var clone = div.cloneNode(true);
- var addElement = parentElement.childElementCount;
- clone.id = ''+value+'@'+addElement;
- clone.value = '';
- if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){ //if it's view or edit
- if($scope.temp.policy.ruleData[clone.id] || ($scope.temp.policy.editPolicy && !$scope.isInitEditTemplate)){ // Only append child if its value found in ruleData or edit mode
- if($scope.temp.policy.ruleData[clone.id]){
- clone.value = $scope.temp.policy.ruleData[clone.id];
- }
- if(!clone.className.includes("child_single")){
- clone.className += ' child_single'; //single element clone
- }
- document.getElementById("div."+value).appendChild(clone);
- plainAttributeKeys.push(''+value+'@'+addElement);
- }
- }else{ //not view or edit
- if(!clone.className.includes("child_single")){
- clone.className += ' child_single'; //single element clone
- }
- document.getElementById("div."+value).appendChild(clone);
- plainAttributeKeys.push(''+value+'@'+addElement);
- }
- }else{
- div = document.getElementById("div."+value+"@0");
-
- if(div){
- div.className += ' children_group'; //div with a group of children.
- }
- var childElement = parentElement.firstElementChild;
- var countParent = parentElement.childElementCount;
- var childElementString = childElement.innerHTML;
- var find = value+"@0";
- var re = new RegExp(find, 'g');
- childElementString = childElementString.replace(re,value+'@' + countParent);
- var clone = childElement.cloneNode(true);
- for (var ii = 0; ii < parentElement.childNodes.length; ii++){
- var childId = parentElement.childNodes[ii].id;
- if(ii = parentElement.childNodes.length){
- var childnewId = childId.slice(0, -1);
- var count = childId.slice(-1);
- }
- }
- var countvalue = parseInt(count) + 1;
- clone.id = childnewId+countvalue;
- clone.value = '';
- clone.innerHTML=childElementString;
- document.getElementById("div."+value).appendChild(clone);
- var selects = clone.getElementsByTagName("select");
- var inputs = clone.getElementsByTagName("input");
- var removeValues = [];
- for(var i=0; i<inputs.length; i++){
- if ($scope.temp.policy.ruleData!=undefined){
- var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
- if (checkValue!=undefined && checkValue != "undefined"){
- if($scope.temp.policy.ruleData != null){
- var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
- document.getElementById(inputs[i].id).value = $scope.temp.policy.ruleData[inputs[i].id];
- plainAttributeKeys.push(inputs[i].id);
- }
- } else {
- plainAttributeKeys.push(inputs[i].id);
- }
- }else {
- plainAttributeKeys.push(inputs[i].id);
- }
- }
-
- for(var i=0; i<selects.length; i++){
- if ($scope.temp.policy.ruleData!=undefined){
- var checkValue = $scope.temp.policy.ruleData[selects[i].id];
- if (checkValue!=undefined && checkValue!="undefined"){
- if($scope.temp.policy.ruleData != null){
- var checkValue = $scope.temp.policy.ruleData[selects[i].id];
- document.getElementById(selects[i].id).value = $scope.temp.policy.ruleData[selects[i].id];
- plainAttributeKeys.push(selects[i].id);
- }
- } else {
- plainAttributeKeys.push(selects[i].id);
- }
- }else {
- plainAttributeKeys.push(selects[i].id);
- }
- }
-
- for (var k=0; k<removeValues.length; k++){
- var elem = document.getElementById(removeValues[k]);
- elem.parentNode.removeChild(elem);
- }
- var ele = angular.element(document.getElementById("div."+value));
- $compile(ele.contents())($scope);
- $scope.$apply();
- }
- }
- };
-
- function findVal(object, key) {
- var value;
- Object.keys(object).some(function(k) {
- if (k === key) {
- value = object[k];
- return true;
- }
- if (object[k] && typeof object[k] === 'object') {
- value = findVal(object[k], key);
- return value !== undefined;
- }
- });
- return value;
- }
-
- $scope.removeChoice = function(value) {
- console.log(value);
- if(value != undefined){
- var c = document.getElementById("div."+value).childElementCount;
-
- if(c == 1){
- Notification.error("The original one is not removable.");
- return;
- }
- document.getElementById("div."+value).removeChild(document.getElementById("div."+value).lastChild);
- }
- };
-
- $scope.pullVersion = function(serviceName) {
- console.log(serviceName);
- if(serviceName != undefined){
- var uuu = "policyController/getModelServiceVersionData.htm";
- var postData={policyData: serviceName};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.optimizationModelsDictionaryVersionDatas = data[0].optimizationModelVersionData;
- });
- },
- error : function(data){
- alert("Error While Retrieving the Template Layout Pattern.");
- }
- });
- }
- };
+ $scope.choices = [];
+ $scope.attributeDatas = [{"attributes" : $scope.choices}];
+ $scope.isInitEditTemplate = true; //just initially create the edit template, didn't click add button yet.
+ $scope.addNewChoice = function(value) {
+ if(value != undefined){
+ if (value.startsWith('div.')){
+ value = value.replace('div.','');
+ }
+ var parentElement = document.getElementById("div."+value);
+ var div = document.getElementById(value+"@0");
+ if(div != null){
+ var clone = div.cloneNode(true);
+ var addElement = parentElement.childElementCount;
+ clone.id = ''+value+'@'+addElement;
+ clone.value = '';
+ if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){ //if it's view or edit
+ if($scope.temp.policy.ruleData[clone.id] || ($scope.temp.policy.editPolicy && !$scope.isInitEditTemplate)){ // Only append child if its value found in ruleData or edit mode
+ if($scope.temp.policy.ruleData[clone.id]){
+ clone.value = $scope.temp.policy.ruleData[clone.id];
+ }
+ if(!clone.className.includes("child_single")){
+ clone.className += ' child_single'; //single element clone
+ }
+ document.getElementById("div."+value).appendChild(clone);
+ plainAttributeKeys.push(''+value+'@'+addElement);
+ }
+ }else{ //not view or edit
+ if(!clone.className.includes("child_single")){
+ clone.className += ' child_single'; //single element clone
+ }
+ document.getElementById("div."+value).appendChild(clone);
+ plainAttributeKeys.push(''+value+'@'+addElement);
+ }
+ }else{
+ div = document.getElementById("div."+value+"@0");
+
+ if(div){
+ div.className += ' children_group'; //div with a group of children.
+ }
+ var childElement = parentElement.firstElementChild;
+ var countParent = parentElement.childElementCount;
+ var childElementString = childElement.innerHTML;
+ var find = value+"@0";
+ var re = new RegExp(find, 'g');
+ childElementString = childElementString.replace(re,value+'@' + countParent);
+ var clone = childElement.cloneNode(true);
+ for (var ii = 0; ii < parentElement.childNodes.length; ii++){
+ var childId = parentElement.childNodes[ii].id;
+ if(ii = parentElement.childNodes.length){
+ var childnewId = childId.slice(0, -1);
+ var count = childId.slice(-1);
+ }
+ }
+ var countvalue = parseInt(count) + 1;
+ clone.id = childnewId+countvalue;
+ clone.value = '';
+ clone.innerHTML=childElementString;
+ document.getElementById("div."+value).appendChild(clone);
+ var selects = clone.getElementsByTagName("select");
+ var inputs = clone.getElementsByTagName("input");
+ var removeValues = [];
+ for(var i=0; i<inputs.length; i++){
+ if ($scope.temp.policy.ruleData!=undefined){
+ var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
+ if (checkValue!=undefined && checkValue != "undefined"){
+ if($scope.temp.policy.ruleData != null){
+ var checkValue = $scope.temp.policy.ruleData[inputs[i].id];
+ document.getElementById(inputs[i].id).value = $scope.temp.policy.ruleData[inputs[i].id];
+ plainAttributeKeys.push(inputs[i].id);
+ }
+ } else {
+ plainAttributeKeys.push(inputs[i].id);
+ }
+ }else {
+ plainAttributeKeys.push(inputs[i].id);
+ }
+ }
+
+ for(var i=0; i<selects.length; i++){
+ if ($scope.temp.policy.ruleData!=undefined){
+ var checkValue = $scope.temp.policy.ruleData[selects[i].id];
+ if (checkValue!=undefined && checkValue!="undefined"){
+ if($scope.temp.policy.ruleData != null){
+ var checkValue = $scope.temp.policy.ruleData[selects[i].id];
+ document.getElementById(selects[i].id).value = $scope.temp.policy.ruleData[selects[i].id];
+ plainAttributeKeys.push(selects[i].id);
+ }
+ } else {
+ plainAttributeKeys.push(selects[i].id);
+ }
+ }else {
+ plainAttributeKeys.push(selects[i].id);
+ }
+ }
+
+ for (var k=0; k<removeValues.length; k++){
+ var elem = document.getElementById(removeValues[k]);
+ elem.parentNode.removeChild(elem);
+ }
+ var ele = angular.element(document.getElementById("div."+value));
+ $compile(ele.contents())($scope);
+ $scope.$apply();
+ }
+ }
+ };
+
+ function findVal(object, key) {
+ var value;
+ Object.keys(object).some(function(k) {
+ if (k === key) {
+ value = object[k];
+ return true;
+ }
+ if (object[k] && typeof object[k] === 'object') {
+ value = findVal(object[k], key);
+ return value !== undefined;
+ }
+ });
+ return value;
+ }
+
+ $scope.removeChoice = function(value) {
+ if(value != undefined){
+ var c = document.getElementById("div."+value).childElementCount;
+
+ if(c == 1){
+ Notification.error("The original one is not removable.");
+ return;
+ }
+ document.getElementById("div."+value).removeChild(document.getElementById("div."+value).lastChild);
+ }
+ };
+
+ $scope.pullVersion = function(serviceName) {
+ if(serviceName != undefined){
+ var uuu = "policyController/getModelServiceVersionData.htm";
+ var postData={policyData: serviceName};
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.optimizationModelsDictionaryVersionDatas = data[0].optimizationModelVersionData;
+ });
+ },
+ error : function(data){
+ Notification.error("Error While Retrieving the Template Layout Pattern.");
+ }
+ });
+ }
+ };
- var splitDash = '-';
- var splitEqual = '=';
- var splitComma = ',';
- var splitcolon = ':';
- var splitsemicolon = ";";
- var splitEnum = "],";
- var plainAttributeKeys = [];
- var matching = [];
- var enumKeyList = [];
- var dictionaryList = [];
- var dictionaryNameList = [];
+ var splitEqual = '=';
+ var splitComma = ',';
+ var splitcolon = ':';
+ var splitEnum = "],";
+ var plainAttributeKeys = [];
+ var matching = [];
+ var enumKeyList = [];
+ var dictionaryList = [];
+ var dictionaryNameList = [];
$scope.addDataToFields = function(serviceName, version){
if(serviceName != null && version !=null){
- var service=serviceName+"-v"+version;
- var myNode = document.getElementById("DynamicTemplate");
- myNode.innerHTML = '';
+ var service=serviceName+"-v"+version;
+ var myNode = document.getElementById("DynamicTemplate");
+ myNode.innerHTML = '';
var uuu = "policyController/getOptimizationTemplateData.htm";
var postData={policyData: service};
var dataOrderInfo = "";
@@ -298,967 +279,931 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window',
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
- var plainAttributeKeys = [];
- $scope.optimizationModelData = data[0].optimizationModelData;
- $scope.optimizationJsonDate = data[0].jsonValue;
+ $scope.optimizationModelData = data[0].optimizationModelData;
+ $scope.optimizationJsonDate = data[0].jsonValue;
$scope.dataOrderInfo = null;
- $scope.dataOrderInfo = data[0].dataOrderInfo;
- console.log("data[0].dataOrderInfo: " + data[0].dataOrderInfo);
- console.log("$scope.dataOrderInfo: " + $scope.dataOrderInfo);
- if(data[0].allManyTrueKeys){
- console.log("$scope.allManyTrueKeys: " + $scope.allManyTrueKeys);
- }
- console.log("$scope.optimizationJsonDate: " + $scope.optimizationJsonDate);
- var attributes = $scope.optimizationModelData.attributes;
- var refAttributes = $scope.optimizationModelData.ref_attributes;
- var subAttributes = $scope.optimizationModelData.sub_attributes;
- console.log("attributes: " +attributes);
- console.log("subAttributes: " + subAttributes);
- console.log("refAttributes: " + refAttributes);
-
- var headDefautlsData = data[0].headDefautlsData;
- if(headDefautlsData != null){
- $scope.temp.policy.onapName = headDefautlsData.onapName;
- $scope.temp.policy.guard = headDefautlsData.guard;
- $scope.temp.policy.riskType = headDefautlsData.riskType;
- $scope.temp.policy.riskLevel = headDefautlsData.riskLevel;
- $scope.temp.policy.priority = headDefautlsData.priority;
-
- }else if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
- $scope.temp.policy.onapName = "";
- $scope.temp.policy.guard = "";
- $scope.temp.policy.riskType = "";
- $scope.temp.policy.riskLevel = "";
- $scope.temp.policy.priority = "";
- }
-
- var enumAttributes = $scope.optimizationModelData.enumValues;
- var annotation = $scope.optimizationModelData.annotation;
- var dictionary = $scope.microServiceAttributeDictionaryDatas;
+ var headDefautlsData = data[0].headDefautlsData;
+ if(headDefautlsData != null){
+ $scope.temp.policy.onapName = headDefautlsData.onapName;
+ $scope.temp.policy.guard = headDefautlsData.guard;
+ $scope.temp.policy.riskType = headDefautlsData.riskType;
+ $scope.temp.policy.riskLevel = headDefautlsData.riskLevel;
+ $scope.temp.policy.priority = headDefautlsData.priority;
+
+ }else if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
+ $scope.temp.policy.onapName = "";
+ $scope.temp.policy.guard = "";
+ $scope.temp.policy.riskType = "";
+ $scope.temp.policy.riskLevel = "";
+ $scope.temp.policy.priority = "";
+ }
+
+ var annotation = $scope.optimizationModelData.annotation;
+ var dictionary = $scope.microServiceAttributeDictionaryDatas;
- if (annotation == null || annotation.length<1){
- $scope.isCheck = true;
- }else {
- $scope.isCheck = false;
- var annoationList = annotation.split(splitComma);
- for (k = 0; k < annoationList.length; k++){
- var splitAnnotation = annoationList[k].split(splitEqual);
- if (splitAnnotation[1].includes("matching-true")){
- matching.push(splitAnnotation[0].trim());
- }
- }
+ if (annotation == null || annotation.length<1){
+ $scope.isCheck = true;
+ }else {
+ $scope.isCheck = false;
+ var annoationList = annotation.split(splitComma);
+ for (k = 0; k < annoationList.length; k++){
+ var splitAnnotation = annoationList[k].split(splitEqual);
+ if (splitAnnotation[1].includes("matching-true")){
+ matching.push(splitAnnotation[0].trim());
+ }
+ }
- }
+ }
- if (dictionary!= null && dictionary.length>1){
- for (m=0; m < dictionary.length; m += 1){
- var keyCompare = dictionary[m].name;
- var valueCompare = dictionary[m].value;
- var valueModel = dictionary[m].modelName;
- var conpairService = serviceName;
- if (valueModel.includes('-v')){
- conpairService = service;
- }
- if(valueModel.localeCompare(conpairService) == 0){
- console.log(valueCompare);
- dictionaryList.push(dictionary[m]);
- if (!dictionaryNameList.includes(dictionary[m].name)){
- dictionaryNameList.push(dictionary[m].name)
- }
- }
- }
- }
+ if (dictionary!= null && dictionary.length>1){
+ for (m=0; m < dictionary.length; m += 1){
+ var valueCompare = dictionary[m].value;
+ var valueModel = dictionary[m].modelName;
+ var conpairService = serviceName;
+ if (valueModel.includes('-v')){
+ conpairService = service;
+ }
+ if(valueModel.localeCompare(conpairService) == 0){
+ dictionaryList.push(dictionary[m]);
+ if (!dictionaryNameList.includes(dictionary[m].name)){
+ dictionaryNameList.push(dictionary[m].name)
+ }
+ }
+ }
+ }
- $scope.temp.policy.ruleGridData = [];
-
- if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){
- dataOrderInfo = $scope.dataOrderInfo;
- }
-
- $scope.jsonLayout($scope.optimizationJsonDate);
-
+ $scope.temp.policy.ruleGridData = [];
+
+ if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){
+ dataOrderInfo = $scope.dataOrderInfo;
+ }
+
+ $scope.jsonLayout($scope.optimizationJsonDate);
+
});
if($scope.temp.policy.editPolicy || $scope.temp.policy.readOnly){ // If it's veiw or edit
-
- if($scope.temp.policy.editPolicy){
- $scope.isInitEditTemplate = true;
- }
-
- var checkData = [];
- var data = [];
- // If ruleData contains extra elements created by clicked add button
- if($scope.temp.policy.ruleData != null){
- var propNames = Object.getOwnPropertyNames($scope.temp.policy.ruleData);
- propNames.forEach(function(name) {
- data.push(name);
- });
-
- var extraElements = data;
-
- if(plainAttributeKeys != null){
- for(b = 0; b < plainAttributeKeys.length; b++){ // Remove already populated elements from data array
- var newValue = plainAttributeKeys[b].split("*");
- for(a = 0; a < data.length; a++){
- if(data[a] === newValue[0] || data[a] === (newValue[0]+"@0")){
- extraElements.splice(a, 1);
- }
- }
-
- }
-
- //--- Populate these extra elements created by clicked add button
- for(a = 0; a < extraElements.length; a++){
- if(extraElements[a].includes("@")){
- var index = extraElements[a].lastIndexOf("@");
- if(index > 0){
- // Get the number after @
- var n = getNumOfDigits(extraElements[a], index+1);
-
- var key = extraElements[a].substring(0, index+n+1); //include @x in key also by n+2 since x can be 1,12, etc
- console.log("key: " + key);
- checkData.push(key);
- }
- }
- }
- var unique = checkData.filter(onlyUnique);
- //if no layout order info, keep the process as before
- if(!dataOrderInfo){
- for(i =0; i < unique.length; i++){
- //remove @x and let addNewChoice add @1 or @2...
- //var newKey = unique[i].substring(0, unique[i].length-2);
- var index = unique[i].lastIndexOf("@");
- var newKey = unique[i].substring(0, index);
- console.log("newKey: " + newKey);
- $scope.addNewChoice(newKey);
- }
- }else{
+
+ if($scope.temp.policy.editPolicy){
+ $scope.isInitEditTemplate = true;
+ }
+
+ var checkData = [];
+ var data = [];
+ // If ruleData contains extra elements created by clicked add button
+ if($scope.temp.policy.ruleData != null){
+ var propNames = Object.getOwnPropertyNames($scope.temp.policy.ruleData);
+ propNames.forEach(function(name) {
+ data.push(name);
+ });
+
+ var extraElements = data;
+
+ if(plainAttributeKeys != null){
+ for(b = 0; b < plainAttributeKeys.length; b++){ // Remove already populated elements from data array
+ var newValue = plainAttributeKeys[b].split("*");
+ for(a = 0; a < data.length; a++){
+ if(data[a] === newValue[0] || data[a] === (newValue[0]+"@0")){
+ extraElements.splice(a, 1);
+ }
+ }
+
+ }
+
+ //--- Populate these extra elements created by clicked add button
+ for(a = 0; a < extraElements.length; a++){
+ if(extraElements[a].includes("@")){
+ var index = extraElements[a].lastIndexOf("@");
+ if(index > 0){
+ // Get the number after @
+ var n = getNumOfDigits(extraElements[a], index+1);
+
+ var key = extraElements[a].substring(0, index+n+1); //include @x in key also by n+2 since x can be 1,12, etc
+ checkData.push(key);
+ }
+ }
+ }
+ var unique = checkData.filter(onlyUnique);
+ //if no layout order info, keep the process as before
+ if(!dataOrderInfo){
+ for(i =0; i < unique.length; i++){
+ //remove @x and let addNewChoice add @1 or @2...
+ //var newKey = unique[i].substring(0, unique[i].length-2);
+ var index = unique[i].lastIndexOf("@");
+ var newKey = unique[i].substring(0, index);
+ $scope.addNewChoice(newKey);
+ }
+ }else{
- for (i = 0; i < $scope.labelManyKeys.length; i++) {
- console.log("dataOrderInfo["+i+"]"+ dataOrderInfo[i]);
- var label = $scope.labelManyKeys[i];
- // first add parent/label level
- for (k = 0; k < unique.length; k++){
- var newindex = unique[k].lastIndexOf("@");
- var newKey = unique[k].substring(0, index);
- if(label == newKey){
+ for (i = 0; i < $scope.labelManyKeys.length; i++) {
+ var label = $scope.labelManyKeys[i];
+ // first add parent/label level
+ for (k = 0; k < unique.length; k++){
+ var newKey = unique[k].substring(0, index);
+ if(label == newKey){
//Check this label has bee created or not
- if(!document.getElementById(unique[k])){
- $scope.addNewChoice(newKey);
- }
- unique[k] = "*processed*";
- break;
- }
- }
- }
-
- //---reset to default
- dataOrderInfo = [];
- $scope.labelManyKeys = [];
-
- //---process none labels
- for (j = 0; j < unique.length; j++){
- if(unique[j] != "*processed*"){
- // if not created yet
- if(!document.getElementById(unique[j])){
- var index = unique[j].lastIndexOf("@");
- var newKey = unique[j].substring(0, index);
- $scope.addNewChoice(newKey);
- }
- }
- }
- }
- }
- }
-
- if($scope.temp.policy.editPolicy){
- //clean all the events of addNewChoice
- $scope.$on('$destroy', addNewChoice);
- }
-
+ if(!document.getElementById(unique[k])){
+ $scope.addNewChoice(newKey);
+ }
+ unique[k] = "*processed*";
+ break;
+ }
+ }
+ }
+
+ //---reset to default
+ dataOrderInfo = [];
+ $scope.labelManyKeys = [];
+
+ //---process none labels
+ for (j = 0; j < unique.length; j++){
+ if(unique[j] != "*processed*"){
+ // if not created yet
+ if(!document.getElementById(unique[j])){
+ var index = unique[j].lastIndexOf("@");
+ var newKey = unique[j].substring(0, index);
+ $scope.addNewChoice(newKey);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if($scope.temp.policy.editPolicy){
+ //clean all the events of addNewChoice
+ $scope.$on('$destroy', addNewChoice);
+ }
+
}
var ele = angular.element(document.getElementById("DynamicTemplate"));
- $compile(ele.contents())($scope);
+ $compile(ele.contents())($scope);
$scope.$apply();
},
error : function(data){
- alert("Error While Retrieving the Template Layout Pattern.");
+ Notification.error("Error While Retrieving the Template Layout Pattern.");
}
});
}
};
function getNumOfDigits(str_value, index){
- // Get the number after @
- var str = str_value.substring(index, str_value.length);
- var c = '';
- var n = 0;
- for (var x = 0; x < str.length; x++){
- c = str.charAt(x);
- if(!isNaN(c)){
+ // Get the number after @
+ var str = str_value.substring(index, str_value.length);
+ var c = '';
+ var n = 0;
+ for (var x = 0; x < str.length; x++){
+ c = str.charAt(x);
+ if(!isNaN(c)){
n++;
- }else{
+ }else{
break;
}
- }
- return n;
+ }
+ return n;
}
function getDictionary(attribute){
- var dicName = attribute;
- if(attribute){
- if(attribute.includes(":")){
- dicName = attribute.split(":")[0];
- }
- }
- var dictionaryRegExp = new RegExp(dicName);
- listemunerateValues = [];
- if (dictionaryRegExp.test(dictionaryNameList)) {
- for (p=0; p < dictionaryList.length; p += 1) {
- if (dicName == dictionaryList[p].name) {
- listemunerateValues.push(dictionaryList[p].value);
- }
- }
- }
- return listemunerateValues;
+ var dicName = attribute;
+ if(attribute){
+ if(attribute.includes(":")){
+ dicName = attribute.split(":")[0];
+ }
+ }
+ var dictionaryRegExp = new RegExp(dicName);
+ listemunerateValues = [];
+ if (dictionaryRegExp.test(dictionaryNameList)) {
+ for (p=0; p < dictionaryList.length; p += 1) {
+ if (dicName == dictionaryList[p].name) {
+ listemunerateValues.push(dictionaryList[p].value);
+ }
+ }
+ }
+ return listemunerateValues;
}
function getList(attribute) {
- var enumName = attribute;
- console.log("In getList: attribute => " + attribute);
- if(attribute){
- if(attribute.includes(":")){
- enumName = attribute.split(":")[0];
- }
- }
+ var enumName = attribute;
+ if(attribute){
+ if(attribute.includes(":")){
+ enumName = attribute.split(":")[0];
+ }
+ }
var baseEnum = $scope.optimizationModelData.enumValues;
var enumList = [];
if(baseEnum != null){
- enumList = baseEnum.split(splitEnum);
+ enumList = baseEnum.split(splitEnum);
}
- var enumAttributes;
- var patternTest = new RegExp(enumName);
- for (k=0; k < enumList.length; k += 1){
- if(patternTest.test(enumList[k]) == true){
- enumAttributes = enumList[k].trim();
- }
- }
+ var enumAttributes;
+ var patternTest = new RegExp(enumName);
+ for (k=0; k < enumList.length; k += 1){
+ if(patternTest.test(enumList[k]) == true){
+ enumAttributes = enumList[k].trim();
+ }
+ }
- if(enumAttributes){
- enumAttributes = enumAttributes.replace("[", "");
- enumAttributes = enumAttributes.replace("]", "");
- enumAttributes = enumAttributes.replace(/ /g, '');
- var dropListAfterCommaSplit = enumAttributes.split(splitEqual);
- listemunerateValues = dropListAfterCommaSplit[1].split(splitComma);
- return listemunerateValues;
- }
+ if(enumAttributes){
+ enumAttributes = enumAttributes.replace("[", "");
+ enumAttributes = enumAttributes.replace("]", "");
+ enumAttributes = enumAttributes.replace(/ /g, '');
+ var dropListAfterCommaSplit = enumAttributes.split(splitEqual);
+ listemunerateValues = dropListAfterCommaSplit[1].split(splitComma);
+ return listemunerateValues;
+ }
return [];
}
-
+
function getBooleanList(){
- var booleanList = [];
- booleanList.push(true);
- booleanList.push(false);
- return booleanList;
+ var booleanList = [];
+ booleanList.push(true);
+ booleanList.push(false);
+ return booleanList;
}
function isArray(arrayTest) {
return Object.prototype.toString.call(arrayTest) === '[object Array]';
}
-
- var lableList = [];
-
+
+ var lableList = [];
+
$scope.layOutElementList = [];
$scope.layOutOnlyLableList = [];
var elementOrderNum = 0;
-
- function deconstructJSON(layOutData, level , name) {
+
+ function deconstructJSON(layOutData, level , name) {
- var array = false;
- var label = level;
- var stringValue = "java.lang.String";
- var string = "string";
- var intValue = "int";
- var integerValue = "integer";
- var double = "double";
- var boolean = "boolean";
- var baseLevel = level;
- var list = "list";
- var String = "String";
-
- var attributekey = "";
-
- if (name.length > 1){
- label = label + name + '.';
- }
-
- for (key in layOutData) {
- array = isArray(layOutData[key]);
- console.log("key: " + key , "value: " + layOutData[key]);
-
- if (!!layOutData[key] && typeof(layOutData[key])=="object") {
-
- if (array==false && key!=="0"){
-
- if($scope.dataOrderInfo){
- var labelObject = {"label" : key, "level" : label, "array" : array};
- //save it to the list
- $scope.layOutOnlyLableList.push(labelObject);
-
- }else {
- //call label layout
- $scope.labelLayout(label, key, array );
- }
-
- }
-
- if (array == true && key!=0){
- lableList.push(key);
- }
-
- if (lableList.length > 0){
- array = true;
- }
- if ( key==="0"){
- var newKey = lableList.pop();
-
- if($scope.dataOrderInfo){
-
- var labelObject = {"label" : newKey, "level" : baseLevel, "array" : array};
- //save it to the list
- $scope.layOutOnlyLableList.push(labelObject);
-
- }else {
- //call label layout
- $scope.labelLayout(baseLevel, newKey, array );
- }
-
- if (array){
- label = baseLevel + newKey + '@0.';
- } else {
- label = baseLevel + newKey + '.';
- }
- }
- deconstructJSON(layOutData[key] , label, key);
- } else {
- var attirbuteLabel = label;
- var defaultValue='';
- var isRequired = false;
- if (layOutData[key].includes('defaultValue-')){
- defaultValue = layOutData[key].split('defaultValue-')[1];
- }
+ var array = false;
+ var label = level;
+ var stringValue = "java.lang.String";
+ var string = "string";
+ var intValue = "int";
+ var integerValue = "integer";
+ var double = "double";
+ var boolean = "boolean";
+ var baseLevel = level;
+ var list = "list";
+ var String = "String";
+
+ var attributekey = "";
+
+ if (name.length > 1){
+ label = label + name + '.';
+ }
+
+ for (key in layOutData) {
+ array = isArray(layOutData[key]);
+
+ if (!!layOutData[key] && typeof(layOutData[key])=="object") {
+
+ if (array==false && key!=="0"){
+
+ if($scope.dataOrderInfo){
+ var labelObject = {"label" : key, "level" : label, "array" : array};
+ //save it to the list
+ $scope.layOutOnlyLableList.push(labelObject);
+
+ }else {
+ //call label layout
+ $scope.labelLayout(label, key, array );
+ }
+
+ }
+
+ if (array == true && key!=0){
+ lableList.push(key);
+ }
+
+ if (lableList.length > 0){
+ array = true;
+ }
+ if ( key==="0"){
+ var newKey = lableList.pop();
+
+ if($scope.dataOrderInfo){
+
+ var labelObject = {"label" : newKey, "level" : baseLevel, "array" : array};
+ //save it to the list
+ $scope.layOutOnlyLableList.push(labelObject);
+
+ }else {
+ //call label layout
+ $scope.labelLayout(baseLevel, newKey, array );
+ }
+
+ if (array){
+ label = baseLevel + newKey + '@0.';
+ } else {
+ label = baseLevel + newKey + '.';
+ }
+ }
+ deconstructJSON(layOutData[key] , label, key);
+ } else {
+ var attirbuteLabel = label;
+ var defaultValue='';
+ var isRequired = false;
+ if (layOutData[key].includes('defaultValue-')){
+ defaultValue = layOutData[key].split('defaultValue-')[1];
+ }
- if (key==="0"){
- array = true;
- attributekey = lableList.pop();
- attirbuteLabel = baseLevel;
- } else {
- attributekey = key.split();
- }
-
- if (layOutData[key].includes('required-true')){
- isRequired = true;
- }
-
- var subAttributes = $scope.optimizationModelData.sub_attributes;
-
- if(subAttributes){
- var jsonObject = JSON.parse(subAttributes);
- var allkeys = Object.keys(jsonObject);
- if(allkeys){
- for (var k = 0; k < allkeys.length; k++) {
- var keyValue = allkeys[k];
- console.log(" keyValue:jsonObject["+keyValue+ "]: " + jsonObject[keyValue]);
- if(jsonObject[keyValue]){
- var tempObject = jsonObject[keyValue];
- if(tempObject && tempObject[key]){
- if (tempObject[key].includes('required-true')){
- isRequired = true;
- }
- }
- }
- }
- }
- }
-
- var elementObject = {};
- switch (layOutData[key].split(splitcolon)[0]){
-
- case stringValue:
- case string:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"text"};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
- }
- break;
- case intValue:
- case integerValue:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"number"};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "number");
- }
- break;
- case double:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"double"};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "double");
- }
- break;
- case boolean:
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": layOutData[key], "list": getBooleanList, "isRequired": isRequired, "type":"dropBox"};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], getBooleanList());
- }
- break;
- default:
- if (layOutData[key].includes('dictionary-')){
- var list = getDictionary(layOutData[key].split('dictionary-')[1]);
- }else{
- //--- get dropdown values from enumValues
- var list = getList(layOutData[key]);
- }
- if (list.length===0){ //not dropdown element
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"text"};
- $scope.layOutElementList.push(elementObject);
-
- }else{
- $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
- }
- }else{
- if($scope.dataOrderInfo){
- elementOrderNum++;
- elementObject = {"id": elementOrderNum, "attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": layOutData[key],"isRequired": isRequired, "list":list, "type":"dropBox"};
- $scope.layOutElementList.push(elementObject);
- }else{
- $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], list, isRequired);
- }
- }
- break;
- }
- }
- }
- }
+ if (key==="0"){
+ array = true;
+ attributekey = lableList.pop();
+ attirbuteLabel = baseLevel;
+ } else {
+ attributekey = key.split();
+ }
+
+ if (layOutData[key].includes('required-true')){
+ isRequired = true;
+ }
+
+ var subAttributes = $scope.optimizationModelData.sub_attributes;
+
+ if(subAttributes){
+ var jsonObject = JSON.parse(subAttributes);
+ var allkeys = Object.keys(jsonObject);
+ if(allkeys){
+ for (var k = 0; k < allkeys.length; k++) {
+ var keyValue = allkeys[k];
+ if(jsonObject[keyValue]){
+ var tempObject = jsonObject[keyValue];
+ if(tempObject && tempObject[key]){
+ if (tempObject[key].includes('required-true')){
+ isRequired = true;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ var elementObject = {};
+ switch (layOutData[key].split(splitcolon)[0]){
+
+ case stringValue:
+ case string:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue, "isRequired": isRequired, "type":"text"};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
+ }
+ break;
+ case intValue:
+ case integerValue:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"number"};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "number");
+ }
+ break;
+ case double:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"double"};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "double");
+ }
+ break;
+ case boolean:
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": layOutData[key], "list": getBooleanList, "isRequired": isRequired, "type":"dropBox"};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], getBooleanList());
+ }
+ break;
+ default:
+ if (layOutData[key].includes('dictionary-')){
+ var list = getDictionary(layOutData[key].split('dictionary-')[1]);
+ }else{
+ //--- get dropdown values from enumValues
+ var list = getList(layOutData[key]);
+ }
+ if (list.length===0){ //not dropdown element
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum,"attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": defaultValue,"isRequired": isRequired, "type":"text"};
+ $scope.layOutElementList.push(elementObject);
+
+ }else{
+ $scope.attributeBox(attributekey, array, attirbuteLabel, defaultValue, isRequired, "text");
+ }
+ }else{
+ if($scope.dataOrderInfo){
+ elementOrderNum++;
+ elementObject = {"id": elementOrderNum, "attributekey" : attributekey, "array": array, "attirbuteLabel" : attirbuteLabel, "defaultValue": layOutData[key],"isRequired": isRequired, "list":list, "type":"dropBox"};
+ $scope.layOutElementList.push(elementObject);
+ }else{
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, array, layOutData[key], list, isRequired);
+ }
+ }
+ break;
+ }
+ }
+ }
+ }
$scope.validContionalRequired = function(parentId) {
- console.log("ng-blur event: parentId : " + parentId);
var c = document.getElementById(parentId).children;
var i;
var hasValue = false;
for (i = 0; i < c.length; i++) {
- if(c[i].getAttribute("data-conditional")){
- console.log(c[i].getAttribute("data-conditional"));
- console.log(c[i].value);
- if(c[i].value != null && c[i].value.trim() != ""){
- hasValue = true;
- }
- }
+ if(c[i].getAttribute("data-conditional")){
+ if(c[i].value != null && c[i].value.trim() != ""){
+ hasValue = true;
+ }
+ }
}
- for (i = 0; i < c.length; i++) {
- if(c[i].getAttribute("data-conditional")){
- if(hasValue){
- c[i].setAttribute("required", true);
- }else{
- c[i].removeAttribute("required");
- }
- }
- }
+ for (i = 0; i < c.length; i++) {
+ if(c[i].getAttribute("data-conditional")){
+ if(hasValue){
+ c[i].setAttribute("required", true);
+ }else{
+ c[i].removeAttribute("required");
+ }
+ }
+ }
}
-
+
$scope.jsonLayout = function(layOutData){
-
+
deconstructJSON(layOutData , "", "");
-
- var orderValue = $scope.dataOrderInfo;
- var layOutElementList = $scope.layOutElementList;
- var labelList = $scope.layOutOnlyLableList;
-
- //reset to default
- elementOrderNum = 0;
- $scope.layOutElementList = [];
- $scope.layOutOnlyLableList = [];
-
- // Only layout in order if order info provided
- if(orderValue){
-
- if(orderValue.includes("[")){
- orderValue = orderValue.replace("[", "") ;
- orderValue = orderValue.replace("]", "") ;
- }
-
- orderValue = orderValue.split(',') ;
-
- for (i = 0; i < orderValue.length; i++) {
- console.log("orderValue["+i+"]"+ orderValue[i]);
- var key = orderValue[i].trim();
-
- //--- Create labels first {"label" : newKey, "level" : baseLevel, "array" : array};
- if(labelList){
- for (k = 0; k < labelList.length; k++){
-
- var label = labelList[k].label.toString().trim();
- var level = labelList[k].level.toString().trim();
- var array = labelList[k].array;
-
- if(key == label){
- $scope.labelLayout(level, label, array);
- //in case to have duplicate label names
- labelList[k].label = "*processed*";
- break;
- }
- }
- }
- //--- then layout each element based on its order defined in YAML file
- for (j = 0; j < layOutElementList.length; j++) {
-
- var attributekey = layOutElementList[j].attributekey.toString().trim();
-
- if(key == attributekey){
-
- var attirbuteLabel = layOutElementList[j].attirbuteLabel.toString().trim();
- var defaultValue = layOutElementList[j].defaultValue.toString().trim();
- var isRequired = layOutElementList[j].isRequired;
-
- console.log("layOutElementList[" +j+ "]: id:" + layOutElementList[j].id + ", attributekey:"+ layOutElementList[j].attributekey + ", attirbuteLabel:" + layOutElementList[j].attirbuteLabel);
-
- if (layOutElementList[j].type == "dropBox"){
- $scope.dropBoxLayout(attirbuteLabel, attributekey, layOutElementList[j].array, defaultValue, layOutElementList[j].list, isRequired);
-
- }else{
- $scope.attributeBox(attributekey, layOutElementList[j].array, attirbuteLabel, defaultValue, isRequired, layOutElementList[j].type);
-
- }
-
- //in case to have duplicate attribute names
- layOutElementList[j].attributekey = "*processed*";
- break;
- }
-
- }
-
- }
- }
+
+ var orderValue = $scope.dataOrderInfo;
+ var layOutElementList = $scope.layOutElementList;
+ var labelList = $scope.layOutOnlyLableList;
+
+ //reset to default
+ elementOrderNum = 0;
+ $scope.layOutElementList = [];
+ $scope.layOutOnlyLableList = [];
+
+ // Only layout in order if order info provided
+ if(orderValue){
+
+ if(orderValue.includes("[")){
+ orderValue = orderValue.replace("[", "") ;
+ orderValue = orderValue.replace("]", "") ;
+ }
+
+ orderValue = orderValue.split(',') ;
+
+ for (i = 0; i < orderValue.length; i++) {
+ var key = orderValue[i].trim();
+
+ //--- Create labels first {"label" : newKey, "level" : baseLevel, "array" : array};
+ if(labelList){
+ for (k = 0; k < labelList.length; k++){
+
+ var label = labelList[k].label.toString().trim();
+ var level = labelList[k].level.toString().trim();
+ var array = labelList[k].array;
+
+ if(key == label){
+ $scope.labelLayout(level, label, array);
+ //in case to have duplicate label names
+ labelList[k].label = "*processed*";
+ break;
+ }
+ }
+ }
+ //--- then layout each element based on its order defined in YAML file
+ for (j = 0; j < layOutElementList.length; j++) {
+
+ var attributekey = layOutElementList[j].attributekey.toString().trim();
+
+ if(key == attributekey){
+
+ var attirbuteLabel = layOutElementList[j].attirbuteLabel.toString().trim();
+ var defaultValue = layOutElementList[j].defaultValue.toString().trim();
+ var isRequired = layOutElementList[j].isRequired;
+
+
+ if (layOutElementList[j].type == "dropBox"){
+ $scope.dropBoxLayout(attirbuteLabel, attributekey, layOutElementList[j].array, defaultValue, layOutElementList[j].list, isRequired);
+
+ }else{
+ $scope.attributeBox(attributekey, layOutElementList[j].array, attirbuteLabel, defaultValue, isRequired, layOutElementList[j].type);
+
+ }
+
+ //in case to have duplicate attribute names
+ layOutElementList[j].attributekey = "*processed*";
+ break;
+ }
+
+ }
+
+ }
+ }
}
$scope.attributeBox = function(attibuteKey, attributeManyKey, labelValue, defaultValue, isRequired, dataType ){
- $scope.temp.policy.ruleGridData.push(attibuteKey);
- var br = document.createElement("BR");
-
- var label = document.createElement("Label");
- var labeltext = null;
- var requiredLabName = "";
- if (matching.includes(attibuteKey)){
- labeltext = document.createTextNode(attibuteKey + "*!");
- isRequired = true; //set required as true for matching element
- }else {
- if(isRequired){
- requiredLabName = attibuteKey + " * ";
- labeltext = document.createTextNode(requiredLabName);
- }else{
- labeltext = document.createTextNode(attibuteKey);
- }
- }
+ $scope.temp.policy.ruleGridData.push(attibuteKey);
+ var br = document.createElement("BR");
+
+ var label = document.createElement("Label");
+ var labeltext = null;
+ var requiredLabName = "";
+ if (matching.includes(attibuteKey)){
+ labeltext = document.createTextNode(attibuteKey + "*!");
+ isRequired = true; //set required as true for matching element
+ }else {
+ if(isRequired){
+ requiredLabName = attibuteKey + " * ";
+ labeltext = document.createTextNode(requiredLabName);
+ }else{
+ labeltext = document.createTextNode(attibuteKey);
+ }
+ }
-
- var divID = labelValue;
-
- if (labelValue.length < 1){
- divID = "DynamicTemplate";
- }else if (labelValue.endsWith('.')){
- var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
- }
-
- label.appendChild(labeltext);
-
- var textField = document.createElement("INPUT");
-
- textField.setAttribute("class" , "form-control");
- if(dataType){
- if(dataType == "double"){
- textField.setAttribute("type" , "number");
- textField.setAttribute("step" , "any");
- }else{
- textField.setAttribute("type" , dataType);
- }
- }
- textField.setAttribute("style" , "width:300px;");
- textField.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var checkKey;
- var id = "";
- if(attributeManyKey){
- checkKey = labelValue + attibuteKey+'@0';
- textField.setAttribute("id" , ''+labelValue + attibuteKey+'@0'+'');
- var divTag = document.createElement("div");
- divTag.setAttribute("id", "div."+ labelValue +attibuteKey);
- var addButton = document.createElement("BUTTON");
- var buttonaddLabel = document.createTextNode("+");
- addButton.appendChild(buttonaddLabel);
- addButton.setAttribute("id", labelValue + attibuteKey);
- addButton.setAttribute("class", "btn btn-add-remove");
- addButton.setAttribute("ng-click" , 'addNewChoice("'+labelValue + attibuteKey+'");');
- addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var removeButton = document.createElement("BUTTON");
- var buttonremoveLabel = document.createTextNode("-");
- removeButton.appendChild(buttonremoveLabel);
- removeButton.setAttribute("class", "btn btn-add-remove");
- removeButton.setAttribute("ng-click" , 'removeChoice("'+labelValue + attibuteKey+'");');
- removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- document.getElementById(divID).appendChild(addButton);
- document.getElementById(divID).appendChild(removeButton);
- document.getElementById(divID).appendChild(label);
- id = "div."+labelValue+attibuteKey;
- divTag.setAttribute("id", id);
- document.getElementById(divID).appendChild(divTag);
- textField.className += ' first_child';
- if(isRequired){
- textField.setAttribute("required", "true");
- }
- divTag.appendChild(textField);
- document.getElementById(divID).appendChild(divTag);
-
- }else{
- checkKey = labelValue + attibuteKey;
- textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
- if(document.getElementById(divID).hasAttribute('required') || !document.getElementById(divID).hasAttribute('data-conditional')){
- if(requiredLabName.includes("*") || isRequired){
- textField.setAttribute("required", "true");
- }
- }else if (document.getElementById(divID).hasAttribute('data-conditional')){
- if(requiredLabName.includes("*")){
- var requiredNode = document.createElement('span');
- requiredNode.setAttribute("class", "mstooltip");
- requiredNode.textContent = "?";
- label.appendChild(requiredNode);
-
- var requiredNodeToolTip = document.createElement('span');
- requiredNodeToolTip.setAttribute("class", "tooltiptext");
- requiredNodeToolTip.textContent = "Conditional Required";
- requiredNode.appendChild(requiredNodeToolTip);
-
- textField.setAttribute("data-conditional", divID);
- textField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
- }
- }
-
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(textField);
- document.getElementById(divID).appendChild(br);
-
- }
+
+ var divID = labelValue;
+
+ if (labelValue.length < 1){
+ divID = "DynamicTemplate";
+ }else if (labelValue.endsWith('.')){
+ var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
+ }
+
+ label.appendChild(labeltext);
+
+ var textField = document.createElement("INPUT");
+
+ textField.setAttribute("class" , "form-control");
+ if(dataType){
+ if(dataType == "double"){
+ textField.setAttribute("type" , "number");
+ textField.setAttribute("step" , "any");
+ }else{
+ textField.setAttribute("type" , dataType);
+ }
+ }
+ textField.setAttribute("style" , "width:300px;");
+ textField.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var checkKey;
+ var id = "";
+ if(attributeManyKey){
+ checkKey = labelValue + attibuteKey+'@0';
+ textField.setAttribute("id" , ''+labelValue + attibuteKey+'@0'+'');
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", "div."+ labelValue +attibuteKey);
+ var addButton = document.createElement("BUTTON");
+ var buttonaddLabel = document.createTextNode("+");
+ addButton.appendChild(buttonaddLabel);
+ addButton.setAttribute("id", labelValue + attibuteKey);
+ addButton.setAttribute("class", "btn btn-add-remove");
+ addButton.setAttribute("ng-click" , 'addNewChoice("'+labelValue + attibuteKey+'");');
+ addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var removeButton = document.createElement("BUTTON");
+ var buttonremoveLabel = document.createTextNode("-");
+ removeButton.appendChild(buttonremoveLabel);
+ removeButton.setAttribute("class", "btn btn-add-remove");
+ removeButton.setAttribute("ng-click" , 'removeChoice("'+labelValue + attibuteKey+'");');
+ removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ document.getElementById(divID).appendChild(addButton);
+ document.getElementById(divID).appendChild(removeButton);
+ document.getElementById(divID).appendChild(label);
+ id = "div."+labelValue+attibuteKey;
+ divTag.setAttribute("id", id);
+ document.getElementById(divID).appendChild(divTag);
+ textField.className += ' first_child';
+ if(isRequired){
+ textField.setAttribute("required", "true");
+ }
+ divTag.appendChild(textField);
+ document.getElementById(divID).appendChild(divTag);
+
+ }else{
+ checkKey = labelValue + attibuteKey;
+ textField.setAttribute("id" , ''+labelValue +attibuteKey+'');
+ if(document.getElementById(divID).hasAttribute('required') || !document.getElementById(divID).hasAttribute('data-conditional')){
+ if(requiredLabName.includes("*") || isRequired){
+ textField.setAttribute("required", "true");
+ }
+ }else if (document.getElementById(divID).hasAttribute('data-conditional')){
+ if(requiredLabName.includes("*")){
+ var requiredNode = document.createElement('span');
+ requiredNode.setAttribute("class", "mstooltip");
+ requiredNode.textContent = "?";
+ label.appendChild(requiredNode);
+
+ var requiredNodeToolTip = document.createElement('span');
+ requiredNodeToolTip.setAttribute("class", "tooltiptext");
+ requiredNodeToolTip.textContent = "Conditional Required";
+ requiredNode.appendChild(requiredNodeToolTip);
+
+ textField.setAttribute("data-conditional", divID);
+ textField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
+ }
+ }
+
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(textField);
+ document.getElementById(divID).appendChild(br);
+
+ }
- if(divID.includes("@0") && divID.includes("div.")){
- var firstChild_Id = divID.split("@0")[0];
- var firstChild_element = document.getElementById(firstChild_Id);
- if(firstChild_element){
- firstChild_element.className += ' children_group'; //here is a div with a group of children.
- }
- }
- console.log('firstChild_Id: ' + firstChild_Id);
- console.log('divID: ' + divID);
-
- if (defaultValue.length > 0){
- if(defaultValue.includes(":")){
- defaultValue = defaultValue.split(":")[0];
- if(defaultValue === "NA") {
- defaultValue = "";
- }
- }
- if(defaultValue != "undefined" && defaultValue != undefined && defaultValue != "null"){
- document.getElementById(checkKey).value = defaultValue;
- }
- }
-
- if($scope.temp.policy.ruleData != null){
- if (attributeManyKey){
- var newCheckKey = checkKey.replace(attibuteKey + '@0',attibuteKey);
- if($scope.temp.policy.ruleData[newCheckKey +'@0'] != undefined && $scope.temp.policy.ruleData[newCheckKey +'@0'] != "undefined"){
- document.getElementById(newCheckKey +'@0').value = $scope.temp.policy.ruleData[newCheckKey +'@0'];
- }
- }else{
- if($scope.temp.policy.ruleData[checkKey] != undefined && $scope.temp.policy.ruleData[checkKey] != "undefined"){
- document.getElementById(checkKey).value = $scope.temp.policy.ruleData[checkKey];
- }
- }
- }
- plainAttributeKeys.push(labelValue + attibuteKey+'*'+attributeManyKey);
+ if(divID.includes("@0") && divID.includes("div.")){
+ var firstChild_Id = divID.split("@0")[0];
+ var firstChild_element = document.getElementById(firstChild_Id);
+ if(firstChild_element){
+ firstChild_element.className += ' children_group'; //here is a div with a group of children.
+ }
+ }
+
+ if (defaultValue.length > 0){
+ if(defaultValue.includes(":")){
+ defaultValue = defaultValue.split(":")[0];
+ if(defaultValue === "NA") {
+ defaultValue = "";
+ }
+ }
+ if(defaultValue != "undefined" && defaultValue != undefined && defaultValue != "null"){
+ document.getElementById(checkKey).value = defaultValue;
+ }
+ }
+
+ if($scope.temp.policy.ruleData != null){
+ if (attributeManyKey){
+ var newCheckKey = checkKey.replace(attibuteKey + '@0',attibuteKey);
+ if($scope.temp.policy.ruleData[newCheckKey +'@0'] != undefined && $scope.temp.policy.ruleData[newCheckKey +'@0'] != "undefined"){
+ document.getElementById(newCheckKey +'@0').value = $scope.temp.policy.ruleData[newCheckKey +'@0'];
+ }
+ }else{
+ if($scope.temp.policy.ruleData[checkKey] != undefined && $scope.temp.policy.ruleData[checkKey] != "undefined"){
+ document.getElementById(checkKey).value = $scope.temp.policy.ruleData[checkKey];
+ }
+ }
+ }
+ plainAttributeKeys.push(labelValue + attibuteKey+'*'+attributeManyKey);
};
$scope.labelManyKeys = [];
$scope.labelLayout = function(labelValue, lableName, labelManyKey ){
- var label = document.createElement("Label")
- var divID = labelValue;
- if (labelValue.endsWith('.')){
- var workingLabel = labelValue.substring(0, labelValue.length-1);
- }else {
- var workingLabel = labelValue;
- }
-
- if (labelValue.length < 1){
- divID = "DynamicTemplate";
- } else if (labelValue.endsWith('.')){
- var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
- }
-
- var subAttributes = $scope.optimizationModelData.subattributes;
- var jsonObject = JSON.parse(subAttributes);
- var lablInfo = findVal(jsonObject, lableName);
- console.log("findValue : " + lableName +": "+ lablInfo);
- var star = "";
- var required = null;
- if(lablInfo){
- if(lablInfo.includes("required-true")){
- star = " *";
- required = true;
- }else if (lablInfo.includes("required-false")){
- required = false
- }
- }
-
- var labeltext = document.createTextNode(lableName + star);
-
- label.appendChild(labeltext);
+ var label = document.createElement("Label")
+ var divID = labelValue;
+ if (labelValue.endsWith('.')){
+ var workingLabel = labelValue.substring(0, labelValue.length-1);
+ }else {
+ var workingLabel = labelValue;
+ }
+
+ if (labelValue.length < 1){
+ divID = "DynamicTemplate";
+ } else if (labelValue.endsWith('.')){
+ var divID = 'div.'+ labelValue.substring(0, labelValue.length-1);
+ }
+
+ var subAttributes = $scope.optimizationModelData.subattributes;
+ var jsonObject = JSON.parse(subAttributes);
+ var lablInfo = findVal(jsonObject, lableName);
+ var star = "";
+ var required = null;
+ if(lablInfo){
+ if(lablInfo.includes("required-true")){
+ star = " *";
+ required = true;
+ }else if (lablInfo.includes("required-false")){
+ required = false
+ }
+ }
+
+ var labeltext = document.createTextNode(lableName + star);
+
+ label.appendChild(labeltext);
- if(labelManyKey){
- var addButton = document.createElement("BUTTON");
- var buttonLabel = document.createTextNode("+");
- addButton.appendChild(buttonLabel);
- addButton.setAttribute("class", "btn btn-add-remove");
- addButton.setAttribute("ng-click" , 'addNewChoice("'+labelValue + lableName+'");');
- addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- var removeButton = document.createElement("BUTTON");
- var buttonremoveLabel = document.createTextNode("-");
- removeButton.appendChild(buttonremoveLabel);
- removeButton.setAttribute("class", "btn btn-add-remove");
- removeButton.setAttribute("ng-click" , 'removeChoice("'+labelValue +lableName+'");');
- removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
- document.getElementById(divID).appendChild(addButton);
- document.getElementById(divID).appendChild(removeButton);
- document.getElementById(divID).appendChild(label);
- var id = "div."+labelValue+lableName;
- var divTag = document.createElement("div");
- divTag.setAttribute("id", id);
- document.getElementById(divID).appendChild(divTag);
-
- var divTag = document.createElement("div");
- divTag.setAttribute("id", id +'@0');
-
- divTag.className += ' children_group'; //here is div with a group of children.
-
- if(required){
- divTag.setAttribute("required", required);
- }else if(required == false){
- divTag.setAttribute("data-conditional", "yes");
- }
-
- document.getElementById(id).appendChild(divTag);
-
- $scope.labelManyKeys.push(lableName);
-
- }else{
- var divTag = document.createElement("div");
- divTag.setAttribute("id", "div."+labelValue+lableName);
- divTag.className += ' children_group'; //here is div with a group of children.
- if(required){
- divTag.setAttribute("required", required);
- }else if(required == false){
- divTag.setAttribute("data-conditional", "yes");
- }
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(divTag);
- }
+ if(labelManyKey){
+ var addButton = document.createElement("BUTTON");
+ var buttonLabel = document.createTextNode("+");
+ addButton.appendChild(buttonLabel);
+ addButton.setAttribute("class", "btn btn-add-remove");
+ addButton.setAttribute("ng-click" , 'addNewChoice("'+labelValue + lableName+'");');
+ addButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ var removeButton = document.createElement("BUTTON");
+ var buttonremoveLabel = document.createTextNode("-");
+ removeButton.appendChild(buttonremoveLabel);
+ removeButton.setAttribute("class", "btn btn-add-remove");
+ removeButton.setAttribute("ng-click" , 'removeChoice("'+labelValue +lableName+'");');
+ removeButton.setAttribute("ng-disabled" , "temp.policy.readOnly");
+ document.getElementById(divID).appendChild(addButton);
+ document.getElementById(divID).appendChild(removeButton);
+ document.getElementById(divID).appendChild(label);
+ var id = "div."+labelValue+lableName;
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", id);
+ document.getElementById(divID).appendChild(divTag);
+
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", id +'@0');
+
+ divTag.className += ' children_group'; //here is div with a group of children.
+
+ if(required){
+ divTag.setAttribute("required", required);
+ }else if(required == false){
+ divTag.setAttribute("data-conditional", "yes");
+ }
+
+ document.getElementById(id).appendChild(divTag);
+
+ $scope.labelManyKeys.push(lableName);
+
+ }else{
+ var divTag = document.createElement("div");
+ divTag.setAttribute("id", "div."+labelValue+lableName);
+ divTag.className += ' children_group'; //here is div with a group of children.
+ if(required){
+ divTag.setAttribute("required", required);
+ }else if(required == false){
+ divTag.setAttribute("data-conditional", "yes");
+ }
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(divTag);
+ }
};
$scope.dropBoxLayout = function(labelLevel, attributeName, many , refValue, listemunerateValues, isRequired){
- var br = document.createElement("BR");
-
- if (labelLevel.length < 1){
- var divID = "DynamicTemplate";
- } else if (labelLevel.endsWith('.')){
- var divID = 'div.'+ labelLevel.substring(0, labelLevel.length-1);
- }
-
-
- var label = document.createElement("Label")
-
- var refAttributes = $scope.optimizationModelData.ref_attributes;
- if(isRequired != true && refAttributes){ //check refAttributes also
- var refAttributesList = refAttributes.split(splitComma);
- for (k = 0; k < refAttributesList.length; k++){
- var refAttribute = refAttributesList[k].split(splitEqual);
- if (attributeName == refAttribute[0].trim() && refAttribute[1].includes("required-true")){
- isRequired = true;
- }
- }
- }
-
- if (matching.includes(attributeName)){
- var labeltext = document.createTextNode(attributeName + "*!");
- label.appendChild(labeltext);
- isRequired = true; //set required as true for matching element
- }else {
- var labeltext = document.createTextNode(attributeName);
- if(isRequired){
- var requiredLabName = attributeName+ " * ";
- labeltext = document.createTextNode(requiredLabName);
- }else{
- labeltext = document.createTextNode(attributeName);
- }
-
- label.appendChild(labeltext);
- }
- label.appendChild(labeltext);
- // if this field is required, but its parent is not required
- if(isRequired && document.getElementById(divID).hasAttribute('data-conditional')){
- var requiredNode = document.createElement('span');
- requiredNode.setAttribute("class", "mstooltip");
- requiredNode.textContent = "?";
- label.appendChild(requiredNode);
-
- var requiredNodeToolTip = document.createElement('span');
- requiredNodeToolTip.setAttribute("class", "tooltiptext");
- requiredNodeToolTip.textContent = "Conditional Required";
- requiredNode.appendChild(requiredNodeToolTip);
+ var br = document.createElement("BR");
+
+ if (labelLevel.length < 1){
+ var divID = "DynamicTemplate";
+ } else if (labelLevel.endsWith('.')){
+ var divID = 'div.'+ labelLevel.substring(0, labelLevel.length-1);
+ }
+
+
+ var label = document.createElement("Label")
+
+ var refAttributes = $scope.optimizationModelData.ref_attributes;
+ if(isRequired != true && refAttributes){ //check refAttributes also
+ var refAttributesList = refAttributes.split(splitComma);
+ for (k = 0; k < refAttributesList.length; k++){
+ var refAttribute = refAttributesList[k].split(splitEqual);
+ if (attributeName == refAttribute[0].trim() && refAttribute[1].includes("required-true")){
+ isRequired = true;
+ }
+ }
+ }
+
+ if (matching.includes(attributeName)){
+ var labeltext = document.createTextNode(attributeName + "*!");
+ label.appendChild(labeltext);
+ isRequired = true; //set required as true for matching element
+ }else {
+ var labeltext = document.createTextNode(attributeName);
+ if(isRequired){
+ var requiredLabName = attributeName+ " * ";
+ labeltext = document.createTextNode(requiredLabName);
+ }else{
+ labeltext = document.createTextNode(attributeName);
+ }
+
+ label.appendChild(labeltext);
+ }
+ label.appendChild(labeltext);
+ // if this field is required, but its parent is not required
+ if(isRequired && document.getElementById(divID).hasAttribute('data-conditional')){
+ var requiredNode = document.createElement('span');
+ requiredNode.setAttribute("class", "mstooltip");
+ requiredNode.textContent = "?";
+ label.appendChild(requiredNode);
+
+ var requiredNodeToolTip = document.createElement('span');
+ requiredNodeToolTip.setAttribute("class", "tooltiptext");
+ requiredNodeToolTip.textContent = "Conditional Required";
+ requiredNode.appendChild(requiredNodeToolTip);
- }
-
- var listField = document.createElement("SELECT");
- listField.setAttribute("class" , "form-control");
- listField.setAttribute("style" , "width:300px;");
- listField.setAttribute("ng-disabled" , "temp.policy.readOnly");
-
- if(isRequired){
- if(document.getElementById(divID).hasAttribute('data-conditional')){
- listField.setAttribute("data-conditional", divID);
- listField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
- }else{
- listField.setAttribute("required", true);
- }
- }
- if( many != true || isRequired != true){ // add an empty option for not required or not multiple select element
- var optionFirst = document.createElement('option');
- optionFirst.setAttribute('value', "");
- listField.appendChild(optionFirst);
- }
-
- for (var i=0; i < listemunerateValues.length; i += 1) {
- if(typeof listemunerateValues[i] == "string" && listemunerateValues[i].includes("equal-sign")){
- listemunerateValues[i] = listemunerateValues[i].replace('equal-sign','=');
- }
- var option = document.createElement('option');
- option.setAttribute('value', listemunerateValues[i]);
- option.appendChild(document.createTextNode(listemunerateValues[i]));
- option.setAttribute('value', listemunerateValues[i]);
- listField.appendChild(option);
- }
- listField.setAttribute("id" , ''+ labelLevel + attributeName + '');
-
- enumKeyList.push(attributeName);
-
- document.getElementById(divID).appendChild(label);
- document.getElementById(divID).appendChild(br);
-
- if(many == true){
- document.getElementById(divID).appendChild(listField).multiple = true;
- plainAttributeKeys.push(labelLevel + attributeName+'*'+true);
- }else {
- document.getElementById(divID).appendChild(listField).multiple = false;
- plainAttributeKeys.push(labelLevel + attributeName+'*'+false);
- }
-
- if($scope.temp.policy.ruleData != null){
- if (many == true){
- document.getElementById(labelLevel +attributeName).options[0].selected = false;
- for (i=0; i < listemunerateValues.length; i += 1) {
- var testValue = $scope.temp.policy.ruleData[labelLevel +attributeName+'@' + i];
- if (testValue === undefined){
- testValue = $scope.temp.policy.ruleData[labelLevel +attributeName];
- }
- var location = listemunerateValues.indexOf(testValue);
- if (location!=-1){
- document.getElementById(labelLevel +attributeName).options[location].selected = true;
- }
- }
- }else {
- if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
- document.getElementById(labelLevel + attributeName).value = $scope.temp.policy.ruleData[labelLevel + attributeName];
- }
- }
- }
- };
+ }
+
+ var listField = document.createElement("SELECT");
+ listField.setAttribute("class" , "form-control");
+ listField.setAttribute("style" , "width:300px;");
+ listField.setAttribute("ng-disabled" , "temp.policy.readOnly");
+
+ if(isRequired){
+ if(document.getElementById(divID).hasAttribute('data-conditional')){
+ listField.setAttribute("data-conditional", divID);
+ listField.setAttribute("ng-blur", "validContionalRequired('"+divID+"')");
+ }else{
+ listField.setAttribute("required", true);
+ }
+ }
+ if( many != true || isRequired != true){ // add an empty option for not required or not multiple select element
+ var optionFirst = document.createElement('option');
+ optionFirst.setAttribute('value', "");
+ listField.appendChild(optionFirst);
+ }
+
+ for (var i=0; i < listemunerateValues.length; i += 1) {
+ if(typeof listemunerateValues[i] == "string" && listemunerateValues[i].includes("equal-sign")){
+ listemunerateValues[i] = listemunerateValues[i].replace('equal-sign','=');
+ }
+ var option = document.createElement('option');
+ option.setAttribute('value', listemunerateValues[i]);
+ option.appendChild(document.createTextNode(listemunerateValues[i]));
+ option.setAttribute('value', listemunerateValues[i]);
+ listField.appendChild(option);
+ }
+ listField.setAttribute("id" , ''+ labelLevel + attributeName + '');
+
+ enumKeyList.push(attributeName);
+
+ document.getElementById(divID).appendChild(label);
+ document.getElementById(divID).appendChild(br);
+
+ if(many == true){
+ document.getElementById(divID).appendChild(listField).multiple = true;
+ plainAttributeKeys.push(labelLevel + attributeName+'*'+true);
+ }else {
+ document.getElementById(divID).appendChild(listField).multiple = false;
+ plainAttributeKeys.push(labelLevel + attributeName+'*'+false);
+ }
+
+ if($scope.temp.policy.ruleData != null){
+ if (many == true){
+ document.getElementById(labelLevel +attributeName).options[0].selected = false;
+ for (i=0; i < listemunerateValues.length; i += 1) {
+ var testValue = $scope.temp.policy.ruleData[labelLevel +attributeName+'@' + i];
+ if (testValue === undefined){
+ testValue = $scope.temp.policy.ruleData[labelLevel +attributeName];
+ }
+ var location = listemunerateValues.indexOf(testValue);
+ if (location!=-1){
+ document.getElementById(labelLevel +attributeName).options[location].selected = true;
+ }
+ }
+ }else {
+ if($scope.temp.policy.ruleData[labelLevel + attributeName] != undefined && $scope.temp.policy.ruleData[labelLevel + attributeName] != "undefined"){
+ document.getElementById(labelLevel + attributeName).value = $scope.temp.policy.ruleData[labelLevel + attributeName];
+ }
+ }
+ }
+ };
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
};
$scope.savePolicy = function(policy){
- if(policy.itemContent != undefined){
- $scope.refreshCheck = true;
- $scope.policyNavigator = policy.itemContent;
- policy.itemContent = "";
- }
- $scope.savebutton = false;
- var splitAt = '*';
- var dot ='.';
- var jsonPolicy = {};
- if(plainAttributeKeys != null){
- for(a = 0; a < plainAttributeKeys.length; a++){
- var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
- console.log("splitPlainAttributeKey: " + splitPlainAttributeKey);
- var searchElement = document.getElementById(splitPlainAttributeKey[0]);
- var key = splitPlainAttributeKey[0];
-
+ if(policy.itemContent != undefined){
+ $scope.refreshCheck = true;
+ $scope.policyNavigator = policy.itemContent;
+ policy.itemContent = "";
+ }
+ $scope.savebutton = false;
+ var splitAt = '*';
+ var dot ='.';
+ var jsonPolicy = {};
+ if(plainAttributeKeys != null){
+ for(a = 0; a < plainAttributeKeys.length; a++){
+ var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
+ var searchElement = document.getElementById(splitPlainAttributeKey[0]);
+ var key = splitPlainAttributeKey[0];
+
if(searchElement == null || searchElement.nodeName == 'BUTTON'){
searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
key = splitPlainAttributeKey[0]+'@0';
}
- if(searchElement != null){
- var keySplit = key.split(dot);
- var elumentLocation = keySplit.length;
- var enumKey = key;
- if (elumentLocation > 1){
- enumKey = keySplit[keySplit.length - 1];
- }
- //check it is undefined or not
- if (enumKeyList != undefined && enumKeyList.indexOf(enumKey) != -1){
- if (splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1].indexOf("true") !== -1){
- var multiSlect = [];
- for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
- multiSlect.push(searchElement.selectedOptions[i].value);
- }
- jsonPolicy[key]= multiSlect;
- }else{
- console.log(" searchElement.value = > " + searchElement.value);
- jsonPolicy[key]= searchElement.value;
- }
- } else {
- if(searchElement.value != null){
- console.log(" searchElement.value = > " + searchElement.value);
- jsonPolicy[key]= searchElement.value;
- }
- }
- }
- }
- }
+ if(searchElement != null){
+ var keySplit = key.split(dot);
+ var elumentLocation = keySplit.length;
+ var enumKey = key;
+ if (elumentLocation > 1){
+ enumKey = keySplit[keySplit.length - 1];
+ }
+ //check it is undefined or not
+ if (enumKeyList != undefined && enumKeyList.indexOf(enumKey) != -1){
+ if (splitPlainAttributeKey[1]!= undefined && splitPlainAttributeKey[1].indexOf("true") !== -1){
+ var multiSlect = [];
+ for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
+ multiSlect.push(searchElement.selectedOptions[i].value);
+ }
+ jsonPolicy[key]= multiSlect;
+ }else{
+ jsonPolicy[key]= searchElement.value;
+ }
+ } else {
+ if(searchElement.value != null){
+ jsonPolicy[key]= searchElement.value;
+ }
+ }
+ }
+ }
+ }
var uuu = "policycreation/save_policy";
var postData={policyData: policy, policyJSON : jsonPolicy};
$.ajax({
@@ -1269,113 +1214,110 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window',
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
- $scope.data=data.policyData;
- if($scope.data == 'success'){
- $scope.temp.policy.readOnly = 'true';
- $scope.safetyChecker = data.policyData.split("#")[2];
- if ($scope.safetyChecker!=undefined) {
- Notification.success($scope.safetyChecker);
- }
- $scope.pushStatus=data.policyData.split("&")[1];
- if($scope.pushStatus=="successPush"){
- Notification.success("Policy pushed successfully");
- }
- Notification.success("Policy Saved Successfully.");
- }else if ($scope.data == 'PolicyExists'){
- $scope.savebutton = true;
- Notification.error("Policy Already Exists with Same Name in Scope.");
- }
+ $scope.data=data.policyData;
+ if($scope.data == 'success'){
+ $scope.temp.policy.readOnly = 'true';
+ $scope.safetyChecker = data.policyData.split("#")[2];
+ if ($scope.safetyChecker!=undefined) {
+ Notification.success($scope.safetyChecker);
+ }
+ $scope.pushStatus=data.policyData.split("&")[1];
+ if($scope.pushStatus=="successPush"){
+ Notification.success("Policy pushed successfully");
+ }
+ Notification.success("Policy Saved Successfully.");
+ }else if ($scope.data == 'PolicyExists'){
+ $scope.savebutton = true;
+ Notification.error("Policy Already Exists with Same Name in Scope.");
+ }
});
- console.log($scope.data);
},
error : function(data){
- Notification.error("Error Occured while saving Policy.");
+ Notification.error("Error Occured while saving Policy.");
}
});
};
$scope.validatePolicy = function(policy){
- document.getElementById("validate").innerHTML = "";
- var splitAt = '*';
- var dot ='.';
- var jsonPolicy = {};
- if(plainAttributeKeys != null){
- for(a = 0; a < plainAttributeKeys.length; a++){
- var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
- console.log(splitPlainAttributeKey[1]);
- var searchElement = document.getElementById(splitPlainAttributeKey[0]);
- var key = splitPlainAttributeKey[0];
- if(searchElement == null || searchElement.nodeName == 'BUTTON'){
- searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
- key = splitPlainAttributeKey[0]+'@0';
- }
- if(searchElement != null){
- if (enumKeyList.indexOf(key) != -1){
- if (splitPlainAttributeKey[1].indexOf("true") !== -1){
- var multiSlect = [];
- for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
- multiSlect.push(searchElement.selectedOptions[i].value);
- }
- jsonPolicy[key]= multiSlect;
- }else{
- jsonPolicy[key]= searchElement.value;
- }
- if(searchElement.getAttribute("required")){
- if(!searchElement.value){
- return;
- }
- }
- } else {
- if(searchElement.value != null){
- jsonPolicy[key]= searchElement.value;
- if(searchElement.getAttribute("required")){
- if(!searchElement.value){
- return;
- }
- }
- }
- }
- }
- }
- }
+ document.getElementById("validate").innerHTML = "";
+ var splitAt = '*';
+ var dot ='.';
+ var jsonPolicy = {};
+ if(plainAttributeKeys != null){
+ for(a = 0; a < plainAttributeKeys.length; a++){
+ var splitPlainAttributeKey = plainAttributeKeys[a].split(splitAt);
+ var searchElement = document.getElementById(splitPlainAttributeKey[0]);
+ var key = splitPlainAttributeKey[0];
+ if(searchElement == null || searchElement.nodeName == 'BUTTON'){
+ searchElement = document.getElementById(splitPlainAttributeKey[0]+'@0');
+ key = splitPlainAttributeKey[0]+'@0';
+ }
+ if(searchElement != null){
+ if (enumKeyList.indexOf(key) != -1){
+ if (splitPlainAttributeKey[1].indexOf("true") !== -1){
+ var multiSlect = [];
+ for ( var i = 0; i < searchElement.selectedOptions.length; i++) {
+ multiSlect.push(searchElement.selectedOptions[i].value);
+ }
+ jsonPolicy[key]= multiSlect;
+ }else{
+ jsonPolicy[key]= searchElement.value;
+ }
+ if(searchElement.getAttribute("required")){
+ if(!searchElement.value){
+ return;
+ }
+ }
+ } else {
+ if(searchElement.value != null){
+ jsonPolicy[key]= searchElement.value;
+ if(searchElement.getAttribute("required")){
+ if(!searchElement.value){
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
var uuu = "policyController/validate_policy.htm";
var postData={policyData: policy, policyJSON : jsonPolicy};
- $.ajax({
- type : 'POST',
- url : uuu,
- dataType: 'json',
- contentType: 'application/json',
- data: JSON.stringify(postData),
- success : function(data){
- $scope.$apply(function(){
- $scope.validateData = data.data.replace(/\"/g, "");
- $scope.data=data.data.substring(1,8);
- var size = data.data.length;
- if($scope.data == 'success'){
- Notification.success("Validation Success.");
- $scope.savebutton = false;
- if (size > 18){
- var displayWarning = data.data.substring(19,size - 1);
- document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "skyblue";
- }
- }else{
- Notification.error("Validation Failed.");
- document.getElementById("validate").innerHTML = $scope.validateData;
- document.getElementById("validate").style.color = "white";
- document.getElementById("validate").style.backgroundColor = "red";
- $scope.savebutton = true;
- }
-
- });
- console.log($scope.data);
- },
- error : function(data){
- Notification.error("Validation Failed.");
- $scope.savebutton = true;
- }
- });
+ $.ajax({
+ type : 'POST',
+ url : uuu,
+ dataType: 'json',
+ contentType: 'application/json',
+ data: JSON.stringify(postData),
+ success : function(data){
+ $scope.$apply(function(){
+ $scope.validateData = data.data.replace(/\"/g, "");
+ $scope.data=data.data.substring(1,8);
+ var size = data.data.length;
+ if($scope.data == 'success'){
+ Notification.success("Validation Success.");
+ $scope.savebutton = false;
+ if (size > 18){
+ var displayWarning = data.data.substring(19,size - 1);
+ document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "skyblue";
+ }
+ }else{
+ Notification.error("Validation Failed.");
+ document.getElementById("validate").innerHTML = $scope.validateData;
+ document.getElementById("validate").style.color = "white";
+ document.getElementById("validate").style.backgroundColor = "red";
+ $scope.savebutton = true;
+ }
+
+ });
+ },
+ error : function(data){
+ Notification.error("Validation Failed.");
+ $scope.savebutton = true;
+ }
+ });
};
function extend(obj, src) {
@@ -1386,4 +1328,4 @@ angular.module('abs').controller('optimizationController', ['$scope', '$window',
}
}]);/**
*
- */ \ No newline at end of file
+ */