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_EcompNameDataByName').then(function (data) {
434 $scope.data = JSON.parse(j.data);
435 console.log($scope.data);
436 $scope.ecompNameDictionaryDatas = JSON.parse($scope.data.ecompNameDictionaryDatas);
437 console.log($scope.ecompNameDictionaryDatas);
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);