2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 
   6  * ================================================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=========================================================
 
  20 angular.module("abs").controller('clFaultController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification){
 
  23         $scope.policyNavigator;
 
  24         $scope.savebutton = true;
 
  25         $scope.refreshCheck = false;
 
  27     $scope.refresh = function(){
 
  28         if($scope.refreshCheck){
 
  29                 $scope.policyNavigator.refresh();
 
  31         $scope.modal('createNewPolicy', true);
 
  32         $scope.temp.policy = "";
 
  35     $scope.modal = function(id, hide) {
 
  36         return $('#' + id).modal(hide ? 'hide' : 'show');
 
  39         if($scope.temp.policy.triggerTrapSignatures == undefined){
 
  40                 $scope.temp.policy.triggerTrapSignatures = [];
 
  41                 $scope.temp.policy.triggerfaultSignatures = [];
 
  43         var trapCollection = [];
 
  44         var faultCollection = [];
 
  45         if($scope.varbindDictionaryDatas == undefined){
 
  46                 $scope.varbindDictionaryDatas = [];
 
  49         $scope.init = function(data){
 
  50                 if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
 
  51                         $scope.jsonData = data; 
 
  52                         if($scope.jsonData.triggerSignaturesUsedForUI != null){
 
  53                                 if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
 
  54                                         $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
 
  55                                         var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!"); 
 
  56                                         if(splitTraps.length > 1){
 
  57                                                 $scope.triggerdisabled = false;
 
  58                                                 var indexId = "Trap1";
 
  59                                                 trapCollection.push(indexId);
 
  60                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
  61                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
 
  62                                                 var splitTrap1 = splitTraps[0];
 
  63                                                 var splitEachTrap = splitTrap1.split("#!");
 
  64                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
  65                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
  67                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
  68                                                                 var notBox = splitEachRow[0];
 
  69                                                                 var trigger1 = splitEachRow[1];
 
  70                                                                 var operatorBox = splitEachRow[2];
 
  71                                                                 var trigger2 = splitEachRow[3];
 
  74                                                                 var trigger1 = splitEachRow[0];
 
  75                                                                 var operatorBox = splitEachRow[1];
 
  76                                                                 var trigger2 = splitEachRow[2]; 
 
  78                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
  79                                                         $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
  82                                         if(splitTraps.length > 2){
 
  83                                                 var indexId = "Trap2";
 
  84                                                 trapCollection.push(indexId);
 
  85                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
  86                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
 
  87                                                 var splitTrap1 = splitTraps[1]; 
 
  88                                                 var splitEachTrap = splitTrap1.split("#!");
 
  89                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
  90                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
  92                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
 
  93                                                                 var notBox = splitEachRow[0];
 
  94                                                                 var trigger1 = splitEachRow[1];
 
  95                                                                 var operatorBox = splitEachRow[2];
 
  96                                                                 var trigger2 = splitEachRow[3];
 
  99                                                                 var trigger1 = splitEachRow[0];
 
 100                                                                 var operatorBox = splitEachRow[1];
 
 101                                                                 var trigger2 = splitEachRow[2]; 
 
 103                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 104                                                         $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
 107                                         if(splitTraps.length > 3){
 
 108                                                 var indexId = "Trap3";
 
 109                                                 trapCollection.push(indexId);
 
 110                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 111                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
 
 112                                                 var splitTrap1 = splitTraps[2]; 
 
 113                                                 var splitEachTrap = splitTrap1.split("#!");
 
 114                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 115                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 117                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 118                                                                 var notBox = splitEachRow[0];
 
 119                                                                 var trigger1 = splitEachRow[1];
 
 120                                                                 var operatorBox = splitEachRow[2];
 
 121                                                                 var trigger2 = splitEachRow[3];
 
 124                                                                 var trigger1 = splitEachRow[0];
 
 125                                                                 var operatorBox = splitEachRow[1];
 
 126                                                                 var trigger2 = splitEachRow[2]; 
 
 128                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 129                                                         $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
 132                                         if(splitTraps.length > 4){
 
 133                                                 var indexId = "Trap4";
 
 134                                                 trapCollection.push(indexId);
 
 135                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 136                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
 
 137                                                 var splitTrap1 = splitTraps[3]; 
 
 138                                                 var splitEachTrap = splitTrap1.split("#!");
 
 139                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 140                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 142                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 143                                                                 var notBox = splitEachRow[0];
 
 144                                                                 var trigger1 = splitEachRow[1];
 
 145                                                                 var operatorBox = splitEachRow[2];
 
 146                                                                 var trigger2 = splitEachRow[3];
 
 149                                                                 var trigger1 = splitEachRow[0];
 
 150                                                                 var operatorBox = splitEachRow[1];
 
 151                                                                 var trigger2 = splitEachRow[2]; 
 
 153                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 154                                                         $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
 157                                         if(splitTraps.length > 5){
 
 158                                                 var indexId = "Trap5";
 
 159                                                 trapCollection.push(indexId);
 
 160                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 161                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
 
 162                                                 var splitTrap1 = splitTraps[4]; 
 
 163                                                 var splitEachTrap = splitTrap1.split("#!");
 
 164                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 165                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 167                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 168                                                                 var notBox = splitEachRow[0];
 
 169                                                                 var trigger1 = splitEachRow[1];
 
 170                                                                 var operatorBox = splitEachRow[2];
 
 171                                                                 var trigger2 = splitEachRow[3];
 
 174                                                                 var trigger1 = splitEachRow[0];
 
 175                                                                 var operatorBox = splitEachRow[1];
 
 176                                                                 var trigger2 = splitEachRow[2]; 
 
 178                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 179                                                         $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
 182                                         if(splitTraps.length > 6){
 
 183                                                 var indexId = "Trap6";
 
 184                                                 trapCollection.push(indexId);
 
 185                                                 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 186                                                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
 
 187                                                 var splitTrap1 = splitTraps[5]; 
 
 188                                                 var splitEachTrap = splitTrap1.split("#!");
 
 189                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 190                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 192                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 193                                                                 var notBox = splitEachRow[0];
 
 194                                                                 var trigger1 = splitEachRow[1];
 
 195                                                                 var operatorBox = splitEachRow[2];
 
 196                                                                 var trigger2 = splitEachRow[3];
 
 199                                                                 var trigger1 = splitEachRow[0];
 
 200                                                                 var operatorBox = splitEachRow[1];
 
 201                                                                 var trigger2 = splitEachRow[2]; 
 
 203                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 204                                                         $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
 
 207                                         if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
 
 208                                                 var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!"); 
 
 209                                                 for(i=0; i < splitConnectTraps.length; i++){
 
 210                                                         if(splitConnectTraps[i] != ""){
 
 211                                                                 var newConnectTrapItemNo = i+1;
 
 212                                                                 var connects = splitConnectTraps[i].split("@!");
 
 213                                                                 if(connects[0] == 'NOT' || connects[0] ==''){
 
 214                                                                         var notBox = connects[0];
 
 215                                                                         var connectTrap1 = connects[1];
 
 216                                                                         var trapCount1 = connects[2];
 
 217                                                                         var operatorBox = connects[3];
 
 218                                                                         var connectTrap2 = connects[4];
 
 219                                                                         var trapCount2 = connects[5];
 
 222                                                                         var connectTrap1 = connects[0];
 
 223                                                                         var trapCount1 = connects[1];
 
 224                                                                         var operatorBox = connects[2];
 
 225                                                                         var connectTrap2 = connects[3];
 
 226                                                                         var trapCount2 = connects[4]; 
 
 228                                                                 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1, 
 
 229                                                                         'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2}); 
 
 235                         if($scope.jsonData.verificationSignaturesUsedForUI != null){
 
 236                                 if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
 
 237                                         $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [],  Fault3 : [],  Fault4 : [],  Fault5 : [],  Fault6 : [],};
 
 238                                         var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!"); 
 
 239                                         if(splitTraps.length > 1){
 
 240                                                 $scope.verificationdisabled = false;
 
 241                                                 var indexId = "Fault1";
 
 242                                                 faultCollection.push(indexId);
 
 243                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 244                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
 
 245                                                 var splitTrap1 = splitTraps[0];
 
 246                                                 var splitEachTrap = splitTrap1.split("#!");
 
 247                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 248                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 250                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 251                                                                 var notBox = splitEachRow[0];
 
 252                                                                 var trigger1 = splitEachRow[1];
 
 253                                                                 var operatorBox = splitEachRow[2];
 
 254                                                                 var trigger2 = splitEachRow[3];
 
 257                                                                 var trigger1 = splitEachRow[0];
 
 258                                                                 var operatorBox = splitEachRow[1];
 
 259                                                                 var trigger2 = splitEachRow[2]; 
 
 261                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 262                                                         $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 265                                         if(splitTraps.length > 2){
 
 266                                                 var indexId = "Fault2";
 
 267                                                 faultCollection.push(indexId);
 
 268                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 269                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
 
 270                                                 var splitTrap1 = splitTraps[1]; 
 
 271                                                 var splitEachTrap = splitTrap1.split("#!");
 
 272                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 273                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 275                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
 
 276                                                                 var notBox = splitEachRow[0];
 
 277                                                                 var trigger1 = splitEachRow[1];
 
 278                                                                 var operatorBox = splitEachRow[2];
 
 279                                                                 var trigger2 = splitEachRow[3];
 
 282                                                                 var trigger1 = splitEachRow[0];
 
 283                                                                 var operatorBox = splitEachRow[1];
 
 284                                                                 var trigger2 = splitEachRow[2]; 
 
 286                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 287                                                         $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 290                                         if(splitTraps.length > 3){
 
 291                                                 var indexId = "Fault3";
 
 292                                                 faultCollection.push(indexId);
 
 293                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 294                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
 
 295                                                 var splitTrap1 = splitTraps[2]; 
 
 296                                                 var splitEachTrap = splitTrap1.split("#!");
 
 297                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 298                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 300                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 301                                                                 var notBox = splitEachRow[0];
 
 302                                                                 var trigger1 = splitEachRow[1];
 
 303                                                                 var operatorBox = splitEachRow[2];
 
 304                                                                 var trigger2 = splitEachRow[3];
 
 307                                                                 var trigger1 = splitEachRow[0];
 
 308                                                                 var operatorBox = splitEachRow[1];
 
 309                                                                 var trigger2 = splitEachRow[2]; 
 
 311                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 312                                                         $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 315                                         if(splitTraps.length > 4){
 
 316                                                 var indexId = "Fault4";
 
 317                                                 faultCollection.push(indexId);
 
 318                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 319                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
 
 320                                                 var splitTrap1 = splitTraps[3]; 
 
 321                                                 var splitEachTrap = splitTrap1.split("#!");
 
 322                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 323                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 325                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 326                                                                 var notBox = splitEachRow[0];
 
 327                                                                 var trigger1 = splitEachRow[1];
 
 328                                                                 var operatorBox = splitEachRow[2];
 
 329                                                                 var trigger2 = splitEachRow[3];
 
 332                                                                 var trigger1 = splitEachRow[0];
 
 333                                                                 var operatorBox = splitEachRow[1];
 
 334                                                                 var trigger2 = splitEachRow[2]; 
 
 336                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 337                                                         $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 340                                         if(splitTraps.length > 5){
 
 341                                                 var indexId = "Fault5";
 
 342                                                 faultCollection.push(indexId);
 
 343                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 344                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
 
 345                                                 var splitTrap1 = splitTraps[4]; 
 
 346                                                 var splitEachTrap = splitTrap1.split("#!");
 
 347                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 348                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 350                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 351                                                                 var notBox = splitEachRow[0];
 
 352                                                                 var trigger1 = splitEachRow[1];
 
 353                                                                 var operatorBox = splitEachRow[2];
 
 354                                                                 var trigger2 = splitEachRow[3];
 
 357                                                                 var trigger1 = splitEachRow[0];
 
 358                                                                 var operatorBox = splitEachRow[1];
 
 359                                                                 var trigger2 = splitEachRow[2]; 
 
 361                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 362                                                         $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 365                                         if(splitTraps.length > 6){
 
 366                                                 var indexId = "Fault6";
 
 367                                                 faultCollection.push(indexId);
 
 368                                                 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
 
 369                                                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
 
 370                                                 var splitTrap1 = splitTraps[5]; 
 
 371                                                 var splitEachTrap = splitTrap1.split("#!");
 
 372                                                 for(i = 0 ; i < splitEachTrap.length; i++){
 
 373                                                         var splitEachRow = splitEachTrap[i].split("@!");
 
 375                                                         if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
 
 376                                                                 var notBox = splitEachRow[0];
 
 377                                                                 var trigger1 = splitEachRow[1];
 
 378                                                                 var operatorBox = splitEachRow[2];
 
 379                                                                 var trigger2 = splitEachRow[3];
 
 382                                                                 var trigger1 = splitEachRow[0];
 
 383                                                                 var operatorBox = splitEachRow[1];
 
 384                                                                 var trigger2 = splitEachRow[2]; 
 
 386                                                         $scope.varbindDictionaryDatas.push('A'+count);
 
 387                                                         $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
 
 391                                         if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
 
 392                                                 var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!"); 
 
 393                                                 for(i=0; i < splitConnectTraps.length; i++){
 
 394                                                         if(splitConnectTraps[i] != ""){
 
 395                                                                 var newConnectTrapItemNo = i+1;
 
 396                                                                 var connects = splitConnectTraps[i].split("@!");
 
 397                                                                 if(connects[0] == 'NOT' || connects[0] ==''){
 
 398                                                                         var notBox = connects[0];
 
 399                                                                         var connectTrap1 = connects[1];
 
 400                                                                         var trapCount1 = connects[2];
 
 401                                                                         var operatorBox = connects[3];
 
 402                                                                         var connectTrap2 = connects[4];
 
 403                                                                         var trapCount2 = connects[5];
 
 406                                                                         var connectTrap1 = connects[0];
 
 407                                                                         var trapCount1 = connects[1];
 
 408                                                                         var operatorBox = connects[2];
 
 409                                                                         var connectTrap2 = connects[3];
 
 410                                                                         var trapCount2 = connects[4]; 
 
 412                                                                 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1, 
 
 413                                                                         'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2}); 
 
 423         if($scope.temp.policy.readOnly){
 
 424                 $scope.triggerdisabled = true;
 
 425                 $scope.verificationdisabled = true;
 
 427                 $scope.triggerdisabled = false;
 
 428                 $scope.verificationdisabled = false;
 
 432         PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
 
 434                 $scope.data = JSON.parse(j.data);
 
 435                 console.log($scope.data);
 
 436                 $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
 
 437                 console.log($scope.onapNameDictionaryDatas);
 
 438         }, function (error) {
 
 439                 console.log("failed");
 
 442         PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
 
 444                 $scope.data = JSON.parse(j.data);
 
 445                 console.log($scope.data);
 
 446                 $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
 
 447                 console.log($scope.pepOptionsDictionaryDatas);
 
 448         }, function (error) {
 
 449                 console.log("failed");
 
 452         PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
 
 454                 $scope.data = JSON.parse(j.data);
 
 455                 console.log($scope.data);
 
 456                 $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
 
 457                 console.log($scope.pepOptionsDictionaryDataEntity);
 
 458         }, function (error) {
 
 459                 console.log("failed");
 
 462         PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
 
 464                 $scope.data = JSON.parse(j.data);
 
 465                 console.log($scope.data);
 
 466                 $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
 
 467                 console.log($scope.varbindDictionaryDatas);
 
 468         }, function (error) {
 
 469                 console.log("failed");
 
 472         PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
 
 474                 $scope.data = JSON.parse(j.data);
 
 475                 console.log($scope.data);
 
 476                 $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
 
 477                 console.log($scope.vnfTypeDictionaryDatas);
 
 478         }, function (error) {
 
 479                 console.log("failed");
 
 482         PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
 
 484                 $scope.data = JSON.parse(j.data);
 
 485                 console.log($scope.data);
 
 486                 $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
 
 487                 console.log($scope.vsclActionDictionaryDatas);
 
 488         }, function (error) {
 
 489                 console.log("failed");
 
 492         PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
 
 494                 $scope.data = JSON.parse(j.data);
 
 495                 console.log($scope.data);
 
 496                 $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
 
 497                 console.log($scope.riskTypeDictionaryDatas);
 
 498         }, function (error) {
 
 499                 console.log("failed");
 
 502         $scope.pepActionDictionaryDatas = [];
 
 504         $scope.getPepActionValues = function(pepOptionValue){
 
 505                 for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
 
 506             var obj = $scope.pepOptionsDictionaryDataEntity[i];
 
 507             if (obj.pepName == pepOptionValue){
 
 508                 var splitAlarm = obj.actions.split(':#@');
 
 509                 for (var j = 0; j < splitAlarm.length; ++j) {
 
 510                         $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
 
 516         $scope.saveFaultPolicy = function(policy){
 
 517                 if(policy.itemContent != undefined){
 
 518                 $scope.refreshCheck = true; 
 
 519                 $scope.policyNavigator = policy.itemContent;
 
 520                 policy.itemContent = "";
 
 522                 $scope.savebutton = false;
 
 525                 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
 
 526                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
 
 528                 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
 
 529                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
 
 531                 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
 
 532                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
 
 533                                         trap2 : $scope.temp.policy.triggerTrapSignatures.Trap3}
 
 535                 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
 
 536                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
 
 537                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
 
 539                 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
 
 540                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
 
 541                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
 
 542                                         trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
 
 544                 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
 
 545                         var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
 
 546                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
 
 547                                         trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
 
 550                 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
 
 551                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
 
 553                 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
 
 554                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
 
 556                 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
 
 557                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
 
 558                                         trap2 : $scope.temp.policy.triggerfaultSignatures.Fault3}
 
 560                 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
 
 561                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
 
 562                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
 
 564                 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
 
 565                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
 
 566                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
 
 567                                         trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
 
 569                 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
 
 570                         var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
 
 571                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
 
 572                                         trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
 
 574                 var uuu = "policycreation/save_policy";
 
 575                 var postData={policyData: policy,
 
 577                                 faultData : faultData
 
 583                         contentType: 'application/json',
 
 584                         data: JSON.stringify(postData),
 
 585                         success : function(data){
 
 586                                 $scope.$apply(function(){
 
 587                                         $scope.data=data.policyData;
 
 588                                         if($scope.data == 'success'){
 
 589                                                 $scope.temp.policy.readOnly = 'true';
 
 590                                                 $scope.pushStatus=data.policyData.split("&")[1];
 
 591                                                 if($scope.pushStatus=="successPush"){
 
 592                                                         Notification.success("Policy pushed successfully");
 
 594                                                 $scope.triggerdisabled = true;
 
 595                                                 $scope.verificationdisabled = true;
 
 596                                                 Notification.success("Policy Saved Successfully.");     
 
 597                                         }else if ($scope.data == 'PolicyExists'){
 
 598                                                 $scope.savebutton = true;
 
 599                                                 Notification.error("Policy Already Exists with Same Name in Scope.");
 
 602                                 console.log($scope.data);
 
 604                         error : function(data){
 
 605                                 Notification.error("Error Occured while saving Policy.");
 
 610         $scope.validatePolicy = function(policy){
 
 612                 document.getElementById("validate").innerHTML = "";
 
 613                 var uuu = "policyController/validate_policy.htm";
 
 614                 var postData={policyData: policy};
 
 619                         contentType: 'application/json',
 
 620                         data: JSON.stringify(postData),
 
 621                         success : function(data){
 
 622                                 $scope.$apply(function(){
 
 623                                         $scope.validateData = data.data.replace(/\"/g, "");
 
 624                                         $scope.data=data.data.substring(1,8);
 
 625                                                 var size = data.data.length;
 
 626                                                 if($scope.data == 'success'){
 
 627                                                         Notification.success("Validation Success.");
 
 628                                                         $scope.savebutton = false;
 
 630                                                                 var displayWarning = data.data.substring(19,size);
 
 631                                                                 document.getElementById("validate").innerHTML = "Safe Policy Warning Message  :  "+displayWarning;
 
 632                                                                 document.getElementById("validate").style.color = "white";
 
 633                                                                 document.getElementById("validate").style.backgroundColor = "skyblue";
 
 636                                                 Notification.error("Validation Failed.");
 
 637                                                 document.getElementById("validate").innerHTML = $scope.validateData;
 
 638                                                 document.getElementById("validate").style.color = "white";
 
 639                                                 document.getElementById("validate").style.backgroundColor = "red";
 
 640                                                 $scope.savebutton = true;
 
 644                                 console.log($scope.data);
 
 646                         error : function(data){
 
 647                                 Notification.error("Validation Failed.");
 
 648                                 $scope.savebutton = true;
 
 652         if($scope.connectTriggerTrapsList == undefined){
 
 653                 $scope.connectTriggerTrapsList = [];
 
 655         if($scope.temp.policy.traptriggerSignatures == undefined){
 
 656                 $scope.temp.policy.traptriggerSignatures = [];
 
 660         $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
 
 661         $scope.addTriggerButton = function() {
 
 662                 $scope.triggerdisabled = false;
 
 663                 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
 
 664                 $scope.ItemNo = newItemNo;
 
 665                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
 
 666                 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
 
 668         $scope.removeTriggerButton = function() {
 
 669                 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
 
 670                 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
 
 671                 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
 
 675         $scope.trapItemNo = 0;
 
 676         $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
 
 677         $scope.addTrapTriggerButton = function(indexId) {
 
 678                 if(trapCollection.indexOf(indexId) !== -1){
 
 681                         $scope.temp.policy.triggerTrapSignatures[indexId] = [];
 
 682                         trapCollection.push(indexId);
 
 684                 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
 
 685                 $scope.trapItemNo = newTrapItemNo;
 
 686                 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
 
 687                 if(newTrapItemNo > 1){
 
 688                         var count = newTrapItemNo-1;
 
 689                         $scope.varbindDictionaryDatas.push('A'+count);
 
 692         $scope.removeTrapTriggerButton = function(indexId) {
 
 693                 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
 
 694                 var checkLastTrapItem = lastTrapItem;
 
 695                 if(checkLastTrapItem == 0){
 
 696                         trapCollection.splice(indexId);
 
 698                 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
 
 701         if($scope.temp.policy.connecttriggerSignatures == undefined){
 
 702                 $scope.temp.policy.connecttriggerSignatures = [];
 
 705         $scope.connecttrapItemNo = 0;
 
 706         $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
 
 707         $scope.addTriggerConnectButton = function() {
 
 708                 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
 
 709                 $scope.connecttrapItemNo = newConnectTrapItemNo;
 
 710                 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
 
 711                 if(newConnectTrapItemNo >1){
 
 712                         var count = newConnectTrapItemNo-1;
 
 713                         $scope.connectTriggerTrapsList.push('C'+count);
 
 716         $scope.removeTriggerConnectButton = function() {
 
 717                 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
 
 718                 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
 
 719                 if(lastConnectTrapItem  < 1){
 
 720                         var count = lastConnectTrapItem-1;
 
 721                         $scope.connectTriggerTrapsList.splice('C'+count);
 
 724         if($scope.connectTriggerFaultsList == undefined){
 
 725                 $scope.connectTriggerFaultsList = [];
 
 727         if($scope.temp.policy.faulttriggerSignatures == undefined){
 
 728                 $scope.temp.policy.faulttriggerSignatures = [];
 
 731         $scope.FaultItemNo = 0;
 
 732         $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
 
 733         $scope.addVerFaultButton = function() {
 
 734                 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
 
 735                 $scope.FaultItemNo = newFaultItemNo;
 
 736                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
 
 737                 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
 
 739         $scope.removeVerFaultButton = function() {
 
 740                 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
 
 741                 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
 
 742                 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
 
 744         if($scope.temp.policy.triggerfaultSignatures == undefined){
 
 745                 $scope.temp.policy.triggerfaultSignatures = [];
 
 748         $scope.faultItemNo1 = 0;
 
 749         $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
 
 750         $scope.addVerTriggerButton = function(indexId) {
 
 751                 $scope.verificationdisabled = false;
 
 752                 if(faultCollection.indexOf(indexId) !== -1){
 
 755                         $scope.temp.policy.triggerfaultSignatures[indexId] = [];
 
 756                         faultCollection.push(indexId);
 
 758                 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
 
 759                 $scope.faultItemNo1 = newFaultItemNo1; 
 
 760                 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
 
 761                 if(newFaultItemNo1 > 1){
 
 762                         var count = newFaultItemNo1-1;
 
 763                         $scope.varbindDictionaryDatas.push('A'+count);
 
 766         $scope.removeVerTriggerButton = function(indexId) {
 
 767                 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
 
 768                 var checkLastFaultItem = lastFaultItem1;
 
 769                 if(checkLastFaultItem == 0){
 
 770                         faultCollection.splice(indexId);
 
 772                 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
 
 775         if($scope.temp.policy.connectVerificationSignatures == undefined){
 
 776                 $scope.temp.policy.connectVerificationSignatures = [];
 
 779         $scope.connectFaultItemNo = 0;
 
 780         $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
 
 781         $scope.addFaultConnectButton = function() {
 
 782                 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
 
 783                 $scope.connectFaultItemNo = newConnectFaultItemNo;
 
 784                 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
 
 785                 if(newConnectFaultItemNo >1){
 
 786                         var count = newConnectFaultItemNo-1;
 
 787                         $scope.connectTriggerFaultsList.push('C'+count);
 
 790         $scope.removeFaultConnectButton = function() {
 
 791                 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
 
 792                 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
 
 793                 if(lastConnectFaultItem  < 1){
 
 794                         var count = lastConnectFaultItem-1;
 
 795                         $scope.connectTriggerFaultsList.splice('C'+count);