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 $('#ttlDate').datepicker({
40 dateFormat: 'dd/mm/yy',
43 onSelect: function(date) {
44 angular.element($('#ttlDate')).triggerHandler('input');
48 if($scope.temp.policy.triggerTrapSignatures == undefined){
49 $scope.temp.policy.triggerTrapSignatures = [];
50 $scope.temp.policy.triggerfaultSignatures = [];
52 var trapCollection = [];
53 var faultCollection = [];
54 if($scope.varbindDictionaryDatas == undefined){
55 $scope.varbindDictionaryDatas = [];
58 $scope.init = function(data){
59 if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
60 $scope.jsonData = data;
61 if($scope.jsonData.triggerSignaturesUsedForUI != null){
62 if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
63 $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
64 var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
65 if(splitTraps.length > 1){
66 $scope.triggerdisabled = false;
67 var indexId = "Trap1";
68 trapCollection.push(indexId);
69 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
70 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
71 var splitTrap1 = splitTraps[0];
72 var splitEachTrap = splitTrap1.split("#!");
73 for(i = 0 ; i < splitEachTrap.length; i++){
74 var splitEachRow = splitEachTrap[i].split("@!");
76 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
77 var notBox = splitEachRow[0];
78 var trigger1 = splitEachRow[1];
79 var operatorBox = splitEachRow[2];
80 var trigger2 = splitEachRow[3];
83 var trigger1 = splitEachRow[0];
84 var operatorBox = splitEachRow[1];
85 var trigger2 = splitEachRow[2];
87 $scope.varbindDictionaryDatas.push('A'+count);
88 $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
91 if(splitTraps.length > 2){
92 var indexId = "Trap2";
93 trapCollection.push(indexId);
94 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
95 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
96 var splitTrap1 = splitTraps[1];
97 var splitEachTrap = splitTrap1.split("#!");
98 for(i = 0 ; i < splitEachTrap.length; i++){
99 var splitEachRow = splitEachTrap[i].split("@!");
101 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
102 var notBox = splitEachRow[0];
103 var trigger1 = splitEachRow[1];
104 var operatorBox = splitEachRow[2];
105 var trigger2 = splitEachRow[3];
108 var trigger1 = splitEachRow[0];
109 var operatorBox = splitEachRow[1];
110 var trigger2 = splitEachRow[2];
112 $scope.varbindDictionaryDatas.push('A'+count);
113 $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
116 if(splitTraps.length > 3){
117 var indexId = "Trap3";
118 trapCollection.push(indexId);
119 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
120 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
121 var splitTrap1 = splitTraps[2];
122 var splitEachTrap = splitTrap1.split("#!");
123 for(i = 0 ; i < splitEachTrap.length; i++){
124 var splitEachRow = splitEachTrap[i].split("@!");
126 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
127 var notBox = splitEachRow[0];
128 var trigger1 = splitEachRow[1];
129 var operatorBox = splitEachRow[2];
130 var trigger2 = splitEachRow[3];
133 var trigger1 = splitEachRow[0];
134 var operatorBox = splitEachRow[1];
135 var trigger2 = splitEachRow[2];
137 $scope.varbindDictionaryDatas.push('A'+count);
138 $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
141 if(splitTraps.length > 4){
142 var indexId = "Trap4";
143 trapCollection.push(indexId);
144 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
145 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
146 var splitTrap1 = splitTraps[3];
147 var splitEachTrap = splitTrap1.split("#!");
148 for(i = 0 ; i < splitEachTrap.length; i++){
149 var splitEachRow = splitEachTrap[i].split("@!");
151 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
152 var notBox = splitEachRow[0];
153 var trigger1 = splitEachRow[1];
154 var operatorBox = splitEachRow[2];
155 var trigger2 = splitEachRow[3];
158 var trigger1 = splitEachRow[0];
159 var operatorBox = splitEachRow[1];
160 var trigger2 = splitEachRow[2];
162 $scope.varbindDictionaryDatas.push('A'+count);
163 $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
166 if(splitTraps.length > 5){
167 var indexId = "Trap5";
168 trapCollection.push(indexId);
169 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
170 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
171 var splitTrap1 = splitTraps[4];
172 var splitEachTrap = splitTrap1.split("#!");
173 for(i = 0 ; i < splitEachTrap.length; i++){
174 var splitEachRow = splitEachTrap[i].split("@!");
176 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
177 var notBox = splitEachRow[0];
178 var trigger1 = splitEachRow[1];
179 var operatorBox = splitEachRow[2];
180 var trigger2 = splitEachRow[3];
183 var trigger1 = splitEachRow[0];
184 var operatorBox = splitEachRow[1];
185 var trigger2 = splitEachRow[2];
187 $scope.varbindDictionaryDatas.push('A'+count);
188 $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
191 if(splitTraps.length > 6){
192 var indexId = "Trap6";
193 trapCollection.push(indexId);
194 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
195 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
196 var splitTrap1 = splitTraps[5];
197 var splitEachTrap = splitTrap1.split("#!");
198 for(i = 0 ; i < splitEachTrap.length; i++){
199 var splitEachRow = splitEachTrap[i].split("@!");
201 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
202 var notBox = splitEachRow[0];
203 var trigger1 = splitEachRow[1];
204 var operatorBox = splitEachRow[2];
205 var trigger2 = splitEachRow[3];
208 var trigger1 = splitEachRow[0];
209 var operatorBox = splitEachRow[1];
210 var trigger2 = splitEachRow[2];
212 $scope.varbindDictionaryDatas.push('A'+count);
213 $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
216 if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
217 var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
218 for(i=0; i < splitConnectTraps.length; i++){
219 if(splitConnectTraps[i] != ""){
220 var newConnectTrapItemNo = i+1;
221 var connects = splitConnectTraps[i].split("@!");
222 if(connects[0] == 'NOT' || connects[0] ==''){
223 var notBox = connects[0];
224 var connectTrap1 = connects[1];
225 var trapCount1 = connects[2];
226 var operatorBox = connects[3];
227 var connectTrap2 = connects[4];
228 var trapCount2 = connects[5];
231 var connectTrap1 = connects[0];
232 var trapCount1 = connects[1];
233 var operatorBox = connects[2];
234 var connectTrap2 = connects[3];
235 var trapCount2 = connects[4];
237 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
238 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
244 if($scope.jsonData.verificationSignaturesUsedForUI != null){
245 if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
246 $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : []};
247 var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
248 if(splitTraps.length > 1){
249 $scope.verificationdisabled = false;
250 var indexId = "Fault1";
251 faultCollection.push(indexId);
252 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
253 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
254 var splitTrap1 = splitTraps[0];
255 var splitEachTrap = splitTrap1.split("#!");
256 for(i = 0 ; i < splitEachTrap.length; i++){
257 var splitEachRow = splitEachTrap[i].split("@!");
259 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
260 var notBox = splitEachRow[0];
261 var trigger1 = splitEachRow[1];
262 var operatorBox = splitEachRow[2];
263 var trigger2 = splitEachRow[3];
266 var trigger1 = splitEachRow[0];
267 var operatorBox = splitEachRow[1];
268 var trigger2 = splitEachRow[2];
270 $scope.varbindDictionaryDatas.push('A'+count);
271 $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
274 if(splitTraps.length > 2){
275 var indexId = "Fault2";
276 faultCollection.push(indexId);
277 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
278 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
279 var splitTrap1 = splitTraps[1];
280 var splitEachTrap = splitTrap1.split("#!");
281 for(i = 0 ; i < splitEachTrap.length; i++){
282 var splitEachRow = splitEachTrap[i].split("@!");
284 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
285 var notBox = splitEachRow[0];
286 var trigger1 = splitEachRow[1];
287 var operatorBox = splitEachRow[2];
288 var trigger2 = splitEachRow[3];
291 var trigger1 = splitEachRow[0];
292 var operatorBox = splitEachRow[1];
293 var trigger2 = splitEachRow[2];
295 $scope.varbindDictionaryDatas.push('A'+count);
296 $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
299 if(splitTraps.length > 3){
300 var indexId = "Fault3";
301 faultCollection.push(indexId);
302 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
303 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
304 var splitTrap1 = splitTraps[2];
305 var splitEachTrap = splitTrap1.split("#!");
306 for(i = 0 ; i < splitEachTrap.length; i++){
307 var splitEachRow = splitEachTrap[i].split("@!");
309 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
310 var notBox = splitEachRow[0];
311 var trigger1 = splitEachRow[1];
312 var operatorBox = splitEachRow[2];
313 var trigger2 = splitEachRow[3];
316 var trigger1 = splitEachRow[0];
317 var operatorBox = splitEachRow[1];
318 var trigger2 = splitEachRow[2];
320 $scope.varbindDictionaryDatas.push('A'+count);
321 $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
324 if(splitTraps.length > 4){
325 var indexId = "Fault4";
326 faultCollection.push(indexId);
327 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
328 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
329 var splitTrap1 = splitTraps[3];
330 var splitEachTrap = splitTrap1.split("#!");
331 for(i = 0 ; i < splitEachTrap.length; i++){
332 var splitEachRow = splitEachTrap[i].split("@!");
334 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
335 var notBox = splitEachRow[0];
336 var trigger1 = splitEachRow[1];
337 var operatorBox = splitEachRow[2];
338 var trigger2 = splitEachRow[3];
341 var trigger1 = splitEachRow[0];
342 var operatorBox = splitEachRow[1];
343 var trigger2 = splitEachRow[2];
345 $scope.varbindDictionaryDatas.push('A'+count);
346 $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
349 if(splitTraps.length > 5){
350 var indexId = "Fault5";
351 faultCollection.push(indexId);
352 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
353 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
354 var splitTrap1 = splitTraps[4];
355 var splitEachTrap = splitTrap1.split("#!");
356 for(i = 0 ; i < splitEachTrap.length; i++){
357 var splitEachRow = splitEachTrap[i].split("@!");
359 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
360 var notBox = splitEachRow[0];
361 var trigger1 = splitEachRow[1];
362 var operatorBox = splitEachRow[2];
363 var trigger2 = splitEachRow[3];
366 var trigger1 = splitEachRow[0];
367 var operatorBox = splitEachRow[1];
368 var trigger2 = splitEachRow[2];
370 $scope.varbindDictionaryDatas.push('A'+count);
371 $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
374 if(splitTraps.length > 6){
375 var indexId = "Fault6";
376 faultCollection.push(indexId);
377 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
378 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
379 var splitTrap1 = splitTraps[5];
380 var splitEachTrap = splitTrap1.split("#!");
381 for(i = 0 ; i < splitEachTrap.length; i++){
382 var splitEachRow = splitEachTrap[i].split("@!");
384 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
385 var notBox = splitEachRow[0];
386 var trigger1 = splitEachRow[1];
387 var operatorBox = splitEachRow[2];
388 var trigger2 = splitEachRow[3];
391 var trigger1 = splitEachRow[0];
392 var operatorBox = splitEachRow[1];
393 var trigger2 = splitEachRow[2];
395 $scope.varbindDictionaryDatas.push('A'+count);
396 $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
400 if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
401 var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
402 for(i=0; i < splitConnectTraps.length; i++){
403 if(splitConnectTraps[i] != ""){
404 var newConnectTrapItemNo = i+1;
405 var connects = splitConnectTraps[i].split("@!");
406 if(connects[0] == 'NOT' || connects[0] ==''){
407 var notBox = connects[0];
408 var connectTrap1 = connects[1];
409 var trapCount1 = connects[2];
410 var operatorBox = connects[3];
411 var connectTrap2 = connects[4];
412 var trapCount2 = connects[5];
415 var connectTrap1 = connects[0];
416 var trapCount1 = connects[1];
417 var operatorBox = connects[2];
418 var connectTrap2 = connects[3];
419 var trapCount2 = connects[4];
421 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
422 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
432 if($scope.temp.policy.readOnly){
433 $scope.triggerdisabled = true;
434 $scope.verificationdisabled = true;
436 $scope.triggerdisabled = false;
437 $scope.verificationdisabled = false;
441 PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
443 $scope.data = JSON.parse(j.data);
444 console.log($scope.data);
445 $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
446 console.log($scope.onapNameDictionaryDatas);
447 }, function (error) {
448 console.log("failed");
451 PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
453 $scope.data = JSON.parse(j.data);
454 console.log($scope.data);
455 $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
456 console.log($scope.pepOptionsDictionaryDatas);
457 }, function (error) {
458 console.log("failed");
461 PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
463 $scope.data = JSON.parse(j.data);
464 console.log($scope.data);
465 $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
466 console.log($scope.pepOptionsDictionaryDataEntity);
467 }, function (error) {
468 console.log("failed");
471 PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
473 $scope.data = JSON.parse(j.data);
474 console.log($scope.data);
475 $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
476 console.log($scope.varbindDictionaryDatas);
477 }, function (error) {
478 console.log("failed");
481 PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
483 $scope.data = JSON.parse(j.data);
484 console.log($scope.data);
485 $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
486 console.log($scope.vnfTypeDictionaryDatas);
487 }, function (error) {
488 console.log("failed");
491 PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
493 $scope.data = JSON.parse(j.data);
494 console.log($scope.data);
495 $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
496 console.log($scope.vsclActionDictionaryDatas);
497 }, function (error) {
498 console.log("failed");
501 PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
503 $scope.data = JSON.parse(j.data);
504 console.log($scope.data);
505 $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
506 console.log($scope.riskTypeDictionaryDatas);
507 }, function (error) {
508 console.log("failed");
511 $scope.pepActionDictionaryDatas = [];
513 $scope.getPepActionValues = function(pepOptionValue){
514 for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
515 var obj = $scope.pepOptionsDictionaryDataEntity[i];
516 if (obj.pepName == pepOptionValue){
517 var splitAlarm = obj.actions.split(':#@');
518 for (var j = 0; j < splitAlarm.length; ++j) {
519 $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
525 $scope.saveFaultPolicy = function(policy){
526 if(policy.itemContent != undefined){
527 $scope.refreshCheck = true;
528 $scope.policyNavigator = policy.itemContent;
529 policy.itemContent = "";
531 $scope.savebutton = false;
534 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
535 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
537 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
538 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
540 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
541 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
542 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
544 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != 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}
548 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
549 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
550 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
551 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
553 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
554 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
555 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
556 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
559 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
560 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
562 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
563 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
565 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
566 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
567 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
569 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != 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}
573 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
574 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
575 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
576 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
578 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
579 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
580 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
581 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
583 var uuu = "policycreation/save_policy";
584 var postData={policyData: policy,
586 faultData : faultData
592 contentType: 'application/json',
593 data: JSON.stringify(postData),
594 success : function(data){
595 $scope.$apply(function(){
596 $scope.data=data.policyData;
597 if($scope.data == 'success'){
598 $scope.temp.policy.readOnly = 'true';
599 $scope.pushStatus=data.policyData.split("&")[1];
600 if($scope.pushStatus=="successPush"){
601 Notification.success("Policy pushed successfully");
603 $scope.triggerdisabled = true;
604 $scope.verificationdisabled = true;
605 Notification.success("Policy Saved Successfully.");
606 }else if ($scope.data == 'PolicyExists'){
607 $scope.savebutton = true;
608 Notification.error("Policy Already Exists with Same Name in Scope.");
611 console.log($scope.data);
613 error : function(data){
614 Notification.error("Error Occured while saving Policy.");
619 $scope.validatePolicy = function(policy){
621 document.getElementById("validate").innerHTML = "";
622 var uuu = "policyController/validate_policy.htm";
623 var postData={policyData: policy};
628 contentType: 'application/json',
629 data: JSON.stringify(postData),
630 success : function(data){
631 $scope.$apply(function(){
632 $scope.validateData = data.data.replace(/\"/g, "");
633 $scope.data=data.data.substring(1,8);
634 var size = data.data.length;
635 if($scope.data == 'success'){
636 Notification.success("Validation Success.");
637 $scope.savebutton = false;
639 var displayWarning = data.data.substring(19,size);
640 document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
641 document.getElementById("validate").style.color = "white";
642 document.getElementById("validate").style.backgroundColor = "skyblue";
645 Notification.error("Validation Failed.");
646 document.getElementById("validate").innerHTML = $scope.validateData;
647 document.getElementById("validate").style.color = "white";
648 document.getElementById("validate").style.backgroundColor = "red";
649 $scope.savebutton = true;
653 console.log($scope.data);
655 error : function(data){
656 Notification.error("Validation Failed.");
657 $scope.savebutton = true;
661 if($scope.connectTriggerTrapsList == undefined){
662 $scope.connectTriggerTrapsList = [];
664 if($scope.temp.policy.traptriggerSignatures == undefined){
665 $scope.temp.policy.traptriggerSignatures = [];
669 $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
670 $scope.addTriggerButton = function() {
671 $scope.triggerdisabled = false;
672 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
673 $scope.ItemNo = newItemNo;
674 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
675 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
677 $scope.removeTriggerButton = function() {
678 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
679 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
680 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
684 $scope.trapItemNo = 0;
685 $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
686 $scope.addTrapTriggerButton = function(indexId) {
687 if(trapCollection.indexOf(indexId) !== -1){
690 $scope.temp.policy.triggerTrapSignatures[indexId] = [];
691 trapCollection.push(indexId);
693 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
694 $scope.trapItemNo = newTrapItemNo;
695 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
696 if(newTrapItemNo > 1){
697 var count = newTrapItemNo-1;
698 $scope.varbindDictionaryDatas.push('A'+count);
701 $scope.removeTrapTriggerButton = function(indexId) {
702 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
703 var checkLastTrapItem = lastTrapItem;
704 if(checkLastTrapItem == 0){
705 trapCollection.splice(indexId);
707 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
710 if($scope.temp.policy.connecttriggerSignatures == undefined){
711 $scope.temp.policy.connecttriggerSignatures = [];
714 $scope.connecttrapItemNo = 0;
715 $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
716 $scope.addTriggerConnectButton = function() {
717 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
718 $scope.connecttrapItemNo = newConnectTrapItemNo;
719 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
720 if(newConnectTrapItemNo >1){
721 var count = newConnectTrapItemNo-1;
722 $scope.connectTriggerTrapsList.push('C'+count);
725 $scope.removeTriggerConnectButton = function() {
726 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
727 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
728 if(lastConnectTrapItem < 1){
729 var count = lastConnectTrapItem-1;
730 $scope.connectTriggerTrapsList.splice('C'+count);
733 if($scope.connectTriggerFaultsList == undefined){
734 $scope.connectTriggerFaultsList = [];
736 if($scope.temp.policy.faulttriggerSignatures == undefined){
737 $scope.temp.policy.faulttriggerSignatures = [];
740 $scope.FaultItemNo = 0;
741 $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
742 $scope.addVerFaultButton = function() {
743 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
744 $scope.FaultItemNo = newFaultItemNo;
745 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
746 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
748 $scope.removeVerFaultButton = function() {
749 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
750 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
751 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
753 if($scope.temp.policy.triggerfaultSignatures == undefined){
754 $scope.temp.policy.triggerfaultSignatures = [];
757 $scope.faultItemNo1 = 0;
758 $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
759 $scope.addVerTriggerButton = function(indexId) {
760 $scope.verificationdisabled = false;
761 if(faultCollection.indexOf(indexId) !== -1){
764 $scope.temp.policy.triggerfaultSignatures[indexId] = [];
765 faultCollection.push(indexId);
767 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
768 $scope.faultItemNo1 = newFaultItemNo1;
769 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
770 if(newFaultItemNo1 > 1){
771 var count = newFaultItemNo1-1;
772 $scope.varbindDictionaryDatas.push('A'+count);
775 $scope.removeVerTriggerButton = function(indexId) {
776 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
777 var checkLastFaultItem = lastFaultItem1;
778 if(checkLastFaultItem == 0){
779 faultCollection.splice(indexId);
781 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
784 if($scope.temp.policy.connectVerificationSignatures == undefined){
785 $scope.temp.policy.connectVerificationSignatures = [];
788 $scope.connectFaultItemNo = 0;
789 $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
790 $scope.addFaultConnectButton = function() {
791 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
792 $scope.connectFaultItemNo = newConnectFaultItemNo;
793 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
794 if(newConnectFaultItemNo >1){
795 var count = newConnectFaultItemNo-1;
796 $scope.connectTriggerFaultsList.push('C'+count);
799 $scope.removeFaultConnectButton = function() {
800 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
801 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
802 if(lastConnectFaultItem < 1){
803 var count = lastConnectFaultItem-1;
804 $scope.connectTriggerFaultsList.splice('C'+count);