Fixed Sonar issues for Console Logs
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / policy-models / Editor / PolicyTemplateController / DecisionPolicyController.js
index 9596d0f..4d63dbe 100644 (file)
  * 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");
-       });
-
-       $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.");
-                       }
-               });
-       };
+        $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.");
+        }
+    });
+    };
 } ]);