diff options
author | rb7147 <rb7147@att.com> | 2018-09-04 14:16:04 -0400 |
---|---|---|
committer | rb7147 <rb7147@att.com> | 2018-09-05 13:24:05 -0400 |
commit | 7fd58e9a2427a215daa6b543e901534e83d3c246 (patch) | |
tree | 196e418bee0cb53ae3af913fe9fbc93e4e9dd719 /POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models | |
parent | 2cb76b3efe8ca385da3bc5f5afc5b26a52c6fd43 (diff) |
XACML Platform Enhancements
To Support Raw Policy Creation from GUI and API.
GetDecision on combining algorithim with Policy Set.
Issue-ID: POLICY-902
Change-Id: Ie3189f8ded2e03366bc7d65d15b95b88c89b0acd
Signed-off-by: rb7147 <rb7147@att.com>
Diffstat (limited to 'POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models')
2 files changed, 352 insertions, 309 deletions
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 f560f4d58..ba9e44868 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 @@ -17,414 +17,444 @@ * 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; - - 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"; +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" + } } - - if($scope.temp.policy.blackListEntryType==undefined){ - $scope.temp.policy.blackListEntryType="Use Manual Entry"; + ; + + $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) { + + 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) { + }, function(error) { console.log("failed"); }); - PolicyAppService.getData('getDictionary/get_SettingsDictionaryDataByName').then(function (data) { + 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) { + }, function(error) { console.log("failed"); }); - PolicyAppService.getData('get_FunctionDefinitionDataByName').then(function (data) { + 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) { + }, function(error) { console.log("failed"); }); - PolicyAppService.getData('getDictionary/get_AttributeDatabyAttributeName').then(function (data) { + 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) { + }, function(error) { console.log("failed"); }); - PolicyAppService.getData('getDictionary/get_RainyDayDictionaryDataByName').then(function (data) { + 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); + $scope.rainyDayDictionaryDatas = JSON.parse($scope.data.rainyDayDictionaryDatas); console.log($scope.rainyDayDictionaryDatas); - }, function (error) { + }, 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}; + + 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'){ + 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'){ + 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){ + 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)); - }else if($scope.temp.policy.ruleProvider=="GUARD_YAML"){ - 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){ + }; + + $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)); + } else if ($scope.temp.policy.ruleProvider == "GUARD_YAML") { + 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.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){ + $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); - } - } + var obj = $scope.rainyDayDictionaryDataEntity[i]; + if (obj.bbid == bbidValue) { + $scope.workstepDictionaryDatas.push(obj.workstep); + } + } }; - + $scope.allowedTreatmentsDatas = []; - $scope.getTreatmentValues = function(bbidValue, workstepValue){ + $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]); - } - } - } + 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.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 = []; - } - }; - - $scope.importButton = true; - var fd; + + $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"){ + if (fileExtension == "xls") { $scope.importButton = false; $scope.$apply(); - }else{ + } 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; + 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.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"){ + 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){ + $scope.blackListEntries = $scope.blackListEntries.filter(function(obj) { return !$scope.temp.policy.appendBlackListEntries.includes(obj); }); - if($scope.blackListEntries.length == 0){ + if ($scope.blackListEntries.length == 0) { $scope.validateButton = true; Notification.error("Black Lists are empty. Minimum one entry required."); - }else{ + } 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]); + } else { + Notification.error("Blacklist File Upload Failed." + $scope.temp.policy.blackListEntries[1]); } - }).error(function(data){ - Notification.error("Blacklist File Upload Failed."); + }).error(function(data) { + Notification.error("Blacklist File Upload Failed."); }); }; - - $scope.initializeBlackList = function(){ - if($scope.temp.policy.blackListEntryType === "Use File Upload"){ - $scope.validateButton = true; + + $scope.initializeBlackList = function() { + if ($scope.temp.policy.blackListEntryType === "Use File Upload") { + $scope.validateButton = true; } else { - $scope.validateButton = false; + $scope.validateButton = false; } $("#importFile").val(''); }; - - $scope.exportBlackListEntries = function(){ + + $scope.exportBlackListEntries = function() { var uuu = "policycreation/exportDecisionBlackListEntries"; - var postData={policyData: $scope.temp.policy, date : $scope.temp.model.modifiedDate, version : $scope.temp.model.version}; + 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; + 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){ + error : function(data) { Notification.error("Error Occured while Exporting BlackList Entries."); } }); - }; -}]);
\ No newline at end of file + }; +} ]);
\ No newline at end of file diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html index 151af152d..f27d5c619 100644 --- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html +++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html @@ -28,14 +28,14 @@ ng-model="temp.policy.policyName" required pattern="\S+" title="Enter Policy Name without any spaces and special characters and will accept _." /> </div> - <div class="form-group col-sm-6"> + <div ng-show="notRawPolicy" class="form-group col-sm-6"> <label>Description:</label> <input type="text" class="form-control" ng-disabled="temp.policy.readOnly" ng-model="temp.policy.policyDescription" title="Description field will accept any type of data." /> </div> </div> - <div class="form-group row"> + <div ng-show="notRawPolicy" class="form-group row"> <div class="form-group col-sm-6"> <label>Onap Name:<sup><b>*</b></sup></label> <select class="form-control" ng-disabled="temp.policy.readOnly" @@ -55,10 +55,23 @@ <option>Rainy_Day</option> <option>GUARD_YAML</option> <option>GUARD_BL_YAML</option> + <option>Raw</option> </select> </div> </div> </div> + <div ng-if="temp.policy.ruleProvider == 'Raw'"> + <div class="well"> + <div class="form-group row"> + <div class="form-group col-sm-12"> + <label>Raw Policy:<sup><b>*</b></sup></label> + <textarea class="form-control" ng-disabled="temp.policy.readOnly" + ng-model="temp.policy.rawXacmlPolicy" style="height: 400px;" + required title="Enter the Raw XACML Policy."></textarea> + </div> + </div> + </div> + </div> <div ng-if="temp.policy.ruleProvider == 'Rainy_Day'"> <div class="well"> <div class="form-group row"> |