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 if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
28 $scope.temp.policy = {
29 policyType : "Config",
30 configPolicyType : "ClosedLoop_Fault"
34 $scope.refresh = function(){
35 if($scope.refreshCheck){
36 $scope.policyNavigator.refresh();
38 $scope.modal('createNewPolicy', true);
39 $scope.temp.policy = "";
42 $scope.modal = function(id, hide) {
43 return $('#' + id).modal(hide ? 'hide' : 'show');
46 $('#ttlDate').datepicker({
47 dateFormat: 'dd/mm/yy',
50 onSelect: function(date) {
51 angular.element($('#ttlDate')).triggerHandler('input');
55 if($scope.temp.policy.triggerTrapSignatures == undefined){
56 $scope.temp.policy.triggerTrapSignatures = [];
57 $scope.temp.policy.triggerfaultSignatures = [];
59 var trapCollection = [];
60 var faultCollection = [];
61 if($scope.varbindDictionaryDatas == undefined){
62 $scope.varbindDictionaryDatas = [];
65 $scope.init = function(data){
66 if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
67 $scope.jsonData = data;
68 if($scope.jsonData.triggerSignaturesUsedForUI != null){
69 if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
70 $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
71 var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
72 if(splitTraps.length > 1){
73 $scope.triggerdisabled = false;
74 var indexId = "Trap1";
75 trapCollection.push(indexId);
76 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
77 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
78 var splitTrap1 = splitTraps[0];
79 var splitEachTrap = splitTrap1.split("#!");
80 for(i = 0 ; i < splitEachTrap.length; i++){
81 var splitEachRow = splitEachTrap[i].split("@!");
83 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
84 var notBox = splitEachRow[0];
85 var trigger1 = splitEachRow[1];
86 var operatorBox = splitEachRow[2];
87 var trigger2 = splitEachRow[3];
90 var trigger1 = splitEachRow[0];
91 var operatorBox = splitEachRow[1];
92 var trigger2 = splitEachRow[2];
94 $scope.varbindDictionaryDatas.push('A'+count);
95 $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
98 if(splitTraps.length > 2){
99 var indexId = "Trap2";
100 trapCollection.push(indexId);
101 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
102 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
103 var splitTrap1 = splitTraps[1];
104 var splitEachTrap = splitTrap1.split("#!");
105 for(i = 0 ; i < splitEachTrap.length; i++){
106 var splitEachRow = splitEachTrap[i].split("@!");
108 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
109 var notBox = splitEachRow[0];
110 var trigger1 = splitEachRow[1];
111 var operatorBox = splitEachRow[2];
112 var trigger2 = splitEachRow[3];
115 var trigger1 = splitEachRow[0];
116 var operatorBox = splitEachRow[1];
117 var trigger2 = splitEachRow[2];
119 $scope.varbindDictionaryDatas.push('A'+count);
120 $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
123 if(splitTraps.length > 3){
124 var indexId = "Trap3";
125 trapCollection.push(indexId);
126 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
127 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
128 var splitTrap1 = splitTraps[2];
129 var splitEachTrap = splitTrap1.split("#!");
130 for(i = 0 ; i < splitEachTrap.length; i++){
131 var splitEachRow = splitEachTrap[i].split("@!");
133 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
134 var notBox = splitEachRow[0];
135 var trigger1 = splitEachRow[1];
136 var operatorBox = splitEachRow[2];
137 var trigger2 = splitEachRow[3];
140 var trigger1 = splitEachRow[0];
141 var operatorBox = splitEachRow[1];
142 var trigger2 = splitEachRow[2];
144 $scope.varbindDictionaryDatas.push('A'+count);
145 $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
148 if(splitTraps.length > 4){
149 var indexId = "Trap4";
150 trapCollection.push(indexId);
151 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
152 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
153 var splitTrap1 = splitTraps[3];
154 var splitEachTrap = splitTrap1.split("#!");
155 for(i = 0 ; i < splitEachTrap.length; i++){
156 var splitEachRow = splitEachTrap[i].split("@!");
158 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
159 var notBox = splitEachRow[0];
160 var trigger1 = splitEachRow[1];
161 var operatorBox = splitEachRow[2];
162 var trigger2 = splitEachRow[3];
165 var trigger1 = splitEachRow[0];
166 var operatorBox = splitEachRow[1];
167 var trigger2 = splitEachRow[2];
169 $scope.varbindDictionaryDatas.push('A'+count);
170 $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
173 if(splitTraps.length > 5){
174 var indexId = "Trap5";
175 trapCollection.push(indexId);
176 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
177 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
178 var splitTrap1 = splitTraps[4];
179 var splitEachTrap = splitTrap1.split("#!");
180 for(i = 0 ; i < splitEachTrap.length; i++){
181 var splitEachRow = splitEachTrap[i].split("@!");
183 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
184 var notBox = splitEachRow[0];
185 var trigger1 = splitEachRow[1];
186 var operatorBox = splitEachRow[2];
187 var trigger2 = splitEachRow[3];
190 var trigger1 = splitEachRow[0];
191 var operatorBox = splitEachRow[1];
192 var trigger2 = splitEachRow[2];
194 $scope.varbindDictionaryDatas.push('A'+count);
195 $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
198 if(splitTraps.length > 6){
199 var indexId = "Trap6";
200 trapCollection.push(indexId);
201 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
202 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
203 var splitTrap1 = splitTraps[5];
204 var splitEachTrap = splitTrap1.split("#!");
205 for(i = 0 ; i < splitEachTrap.length; i++){
206 var splitEachRow = splitEachTrap[i].split("@!");
208 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
209 var notBox = splitEachRow[0];
210 var trigger1 = splitEachRow[1];
211 var operatorBox = splitEachRow[2];
212 var trigger2 = splitEachRow[3];
215 var trigger1 = splitEachRow[0];
216 var operatorBox = splitEachRow[1];
217 var trigger2 = splitEachRow[2];
219 $scope.varbindDictionaryDatas.push('A'+count);
220 $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
223 if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
224 var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
225 for(i=0; i < splitConnectTraps.length; i++){
226 if(splitConnectTraps[i] != ""){
227 var newConnectTrapItemNo = i+1;
228 var connects = splitConnectTraps[i].split("@!");
229 if(connects[0] == 'NOT' || connects[0] ==''){
230 var notBox = connects[0];
231 var connectTrap1 = connects[1];
232 var trapCount1 = connects[2];
233 var operatorBox = connects[3];
234 var connectTrap2 = connects[4];
235 var trapCount2 = connects[5];
238 var connectTrap1 = connects[0];
239 var trapCount1 = connects[1];
240 var operatorBox = connects[2];
241 var connectTrap2 = connects[3];
242 var trapCount2 = connects[4];
244 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
245 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
251 if($scope.jsonData.verificationSignaturesUsedForUI != null){
252 if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
253 $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : []};
254 var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
255 if(splitTraps.length > 1){
256 $scope.verificationdisabled = false;
257 var indexId = "Fault1";
258 faultCollection.push(indexId);
259 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
260 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
261 var splitTrap1 = splitTraps[0];
262 var splitEachTrap = splitTrap1.split("#!");
263 for(i = 0 ; i < splitEachTrap.length; i++){
264 var splitEachRow = splitEachTrap[i].split("@!");
266 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
267 var notBox = splitEachRow[0];
268 var trigger1 = splitEachRow[1];
269 var operatorBox = splitEachRow[2];
270 var trigger2 = splitEachRow[3];
273 var trigger1 = splitEachRow[0];
274 var operatorBox = splitEachRow[1];
275 var trigger2 = splitEachRow[2];
277 $scope.varbindDictionaryDatas.push('A'+count);
278 $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
281 if(splitTraps.length > 2){
282 var indexId = "Fault2";
283 faultCollection.push(indexId);
284 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
285 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
286 var splitTrap1 = splitTraps[1];
287 var splitEachTrap = splitTrap1.split("#!");
288 for(i = 0 ; i < splitEachTrap.length; i++){
289 var splitEachRow = splitEachTrap[i].split("@!");
291 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
292 var notBox = splitEachRow[0];
293 var trigger1 = splitEachRow[1];
294 var operatorBox = splitEachRow[2];
295 var trigger2 = splitEachRow[3];
298 var trigger1 = splitEachRow[0];
299 var operatorBox = splitEachRow[1];
300 var trigger2 = splitEachRow[2];
302 $scope.varbindDictionaryDatas.push('A'+count);
303 $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
306 if(splitTraps.length > 3){
307 var indexId = "Fault3";
308 faultCollection.push(indexId);
309 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
310 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
311 var splitTrap1 = splitTraps[2];
312 var splitEachTrap = splitTrap1.split("#!");
313 for(i = 0 ; i < splitEachTrap.length; i++){
314 var splitEachRow = splitEachTrap[i].split("@!");
316 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
317 var notBox = splitEachRow[0];
318 var trigger1 = splitEachRow[1];
319 var operatorBox = splitEachRow[2];
320 var trigger2 = splitEachRow[3];
323 var trigger1 = splitEachRow[0];
324 var operatorBox = splitEachRow[1];
325 var trigger2 = splitEachRow[2];
327 $scope.varbindDictionaryDatas.push('A'+count);
328 $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
331 if(splitTraps.length > 4){
332 var indexId = "Fault4";
333 faultCollection.push(indexId);
334 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
335 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
336 var splitTrap1 = splitTraps[3];
337 var splitEachTrap = splitTrap1.split("#!");
338 for(i = 0 ; i < splitEachTrap.length; i++){
339 var splitEachRow = splitEachTrap[i].split("@!");
341 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
342 var notBox = splitEachRow[0];
343 var trigger1 = splitEachRow[1];
344 var operatorBox = splitEachRow[2];
345 var trigger2 = splitEachRow[3];
348 var trigger1 = splitEachRow[0];
349 var operatorBox = splitEachRow[1];
350 var trigger2 = splitEachRow[2];
352 $scope.varbindDictionaryDatas.push('A'+count);
353 $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
356 if(splitTraps.length > 5){
357 var indexId = "Fault5";
358 faultCollection.push(indexId);
359 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
360 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
361 var splitTrap1 = splitTraps[4];
362 var splitEachTrap = splitTrap1.split("#!");
363 for(i = 0 ; i < splitEachTrap.length; i++){
364 var splitEachRow = splitEachTrap[i].split("@!");
366 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
367 var notBox = splitEachRow[0];
368 var trigger1 = splitEachRow[1];
369 var operatorBox = splitEachRow[2];
370 var trigger2 = splitEachRow[3];
373 var trigger1 = splitEachRow[0];
374 var operatorBox = splitEachRow[1];
375 var trigger2 = splitEachRow[2];
377 $scope.varbindDictionaryDatas.push('A'+count);
378 $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
381 if(splitTraps.length > 6){
382 var indexId = "Fault6";
383 faultCollection.push(indexId);
384 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
385 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
386 var splitTrap1 = splitTraps[5];
387 var splitEachTrap = splitTrap1.split("#!");
388 for(i = 0 ; i < splitEachTrap.length; i++){
389 var splitEachRow = splitEachTrap[i].split("@!");
391 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
392 var notBox = splitEachRow[0];
393 var trigger1 = splitEachRow[1];
394 var operatorBox = splitEachRow[2];
395 var trigger2 = splitEachRow[3];
398 var trigger1 = splitEachRow[0];
399 var operatorBox = splitEachRow[1];
400 var trigger2 = splitEachRow[2];
402 $scope.varbindDictionaryDatas.push('A'+count);
403 $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
407 if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
408 var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
409 for(i=0; i < splitConnectTraps.length; i++){
410 if(splitConnectTraps[i] != ""){
411 var newConnectTrapItemNo = i+1;
412 var connects = splitConnectTraps[i].split("@!");
413 if(connects[0] == 'NOT' || connects[0] ==''){
414 var notBox = connects[0];
415 var connectTrap1 = connects[1];
416 var trapCount1 = connects[2];
417 var operatorBox = connects[3];
418 var connectTrap2 = connects[4];
419 var trapCount2 = connects[5];
422 var connectTrap1 = connects[0];
423 var trapCount1 = connects[1];
424 var operatorBox = connects[2];
425 var connectTrap2 = connects[3];
426 var trapCount2 = connects[4];
428 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
429 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
439 if($scope.temp.policy.readOnly){
440 $scope.triggerdisabled = true;
441 $scope.verificationdisabled = true;
443 $scope.triggerdisabled = false;
444 $scope.verificationdisabled = false;
448 PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
450 $scope.data = JSON.parse(j.data);
451 console.log($scope.data);
452 $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
453 console.log($scope.onapNameDictionaryDatas);
454 }, function (error) {
455 console.log("failed");
458 PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
460 $scope.data = JSON.parse(j.data);
461 console.log($scope.data);
462 $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
463 console.log($scope.pepOptionsDictionaryDatas);
464 }, function (error) {
465 console.log("failed");
468 PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
470 $scope.data = JSON.parse(j.data);
471 console.log($scope.data);
472 $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
473 console.log($scope.pepOptionsDictionaryDataEntity);
474 }, function (error) {
475 console.log("failed");
478 PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
480 $scope.data = JSON.parse(j.data);
481 console.log($scope.data);
482 $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
483 console.log($scope.varbindDictionaryDatas);
484 }, function (error) {
485 console.log("failed");
488 PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
490 $scope.data = JSON.parse(j.data);
491 console.log($scope.data);
492 $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
493 console.log($scope.vnfTypeDictionaryDatas);
494 }, function (error) {
495 console.log("failed");
498 PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
500 $scope.data = JSON.parse(j.data);
501 console.log($scope.data);
502 $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
503 console.log($scope.vsclActionDictionaryDatas);
504 }, function (error) {
505 console.log("failed");
508 PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
510 $scope.data = JSON.parse(j.data);
511 console.log($scope.data);
512 $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
513 console.log($scope.riskTypeDictionaryDatas);
514 }, function (error) {
515 console.log("failed");
518 $scope.pepActionDictionaryDatas = [];
520 $scope.getPepActionValues = function(pepOptionValue){
521 for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
522 var obj = $scope.pepOptionsDictionaryDataEntity[i];
523 if (obj.pepName == pepOptionValue){
524 var splitAlarm = obj.actions.split(':#@');
525 for (var j = 0; j < splitAlarm.length; ++j) {
526 $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
532 $scope.saveFaultPolicy = function(policy){
533 if(policy.itemContent != undefined){
534 $scope.refreshCheck = true;
535 $scope.policyNavigator = policy.itemContent;
536 policy.itemContent = "";
538 $scope.savebutton = false;
541 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
542 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
544 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
545 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
547 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
548 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
549 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
551 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
552 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
553 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
555 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
556 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
557 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
558 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
560 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
561 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
562 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
563 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
566 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
567 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
569 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
570 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
572 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
573 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
574 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
576 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
577 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
578 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
580 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
581 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
582 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
583 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
585 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
586 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
587 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
588 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
590 var uuu = "policycreation/save_policy";
591 var postData={policyData: policy,
593 faultData : faultData
599 contentType: 'application/json',
600 data: JSON.stringify(postData),
601 success : function(data){
602 $scope.$apply(function(){
603 $scope.data=data.policyData;
604 if($scope.data == 'success'){
605 $scope.temp.policy.readOnly = 'true';
606 $scope.pushStatus=data.policyData.split("&")[1];
607 if($scope.pushStatus=="successPush"){
608 Notification.success("Policy pushed successfully");
610 $scope.triggerdisabled = true;
611 $scope.verificationdisabled = true;
612 Notification.success("Policy Saved Successfully.");
613 }else if ($scope.data == 'PolicyExists'){
614 $scope.savebutton = true;
615 Notification.error("Policy Already Exists with Same Name in Scope.");
618 console.log($scope.data);
620 error : function(data){
621 Notification.error("Error Occured while saving Policy.");
626 $scope.validatePolicy = function(policy){
628 document.getElementById("validate").innerHTML = "";
629 var uuu = "policyController/validate_policy.htm";
630 var postData={policyData: policy};
635 contentType: 'application/json',
636 data: JSON.stringify(postData),
637 success : function(data){
638 $scope.$apply(function(){
639 $scope.validateData = data.data.replace(/\"/g, "");
640 $scope.data=data.data.substring(1,8);
641 var size = data.data.length;
642 if($scope.data == 'success'){
643 Notification.success("Validation Success.");
644 $scope.savebutton = false;
646 var displayWarning = data.data.substring(19,size);
647 document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
648 document.getElementById("validate").style.color = "white";
649 document.getElementById("validate").style.backgroundColor = "skyblue";
652 Notification.error("Validation Failed.");
653 document.getElementById("validate").innerHTML = $scope.validateData;
654 document.getElementById("validate").style.color = "white";
655 document.getElementById("validate").style.backgroundColor = "red";
656 $scope.savebutton = true;
660 console.log($scope.data);
662 error : function(data){
663 Notification.error("Validation Failed.");
664 $scope.savebutton = true;
668 if($scope.connectTriggerTrapsList == undefined){
669 $scope.connectTriggerTrapsList = [];
671 if($scope.temp.policy.traptriggerSignatures == undefined){
672 $scope.temp.policy.traptriggerSignatures = [];
676 $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
677 $scope.addTriggerButton = function() {
678 $scope.triggerdisabled = false;
679 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
680 $scope.ItemNo = newItemNo;
681 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
682 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
684 $scope.removeTriggerButton = function() {
685 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
686 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
687 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
691 $scope.trapItemNo = 0;
692 $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
693 $scope.addTrapTriggerButton = function(indexId) {
694 if(trapCollection.indexOf(indexId) !== -1){
697 $scope.temp.policy.triggerTrapSignatures[indexId] = [];
698 trapCollection.push(indexId);
700 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
701 $scope.trapItemNo = newTrapItemNo;
702 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
703 if(newTrapItemNo > 1){
704 var count = newTrapItemNo-1;
705 $scope.varbindDictionaryDatas.push('A'+count);
708 $scope.removeTrapTriggerButton = function(indexId) {
709 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
710 var checkLastTrapItem = lastTrapItem;
711 if(checkLastTrapItem == 0){
712 trapCollection.splice(indexId);
714 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
717 if($scope.temp.policy.connecttriggerSignatures == undefined){
718 $scope.temp.policy.connecttriggerSignatures = [];
721 $scope.connecttrapItemNo = 0;
722 $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
723 $scope.addTriggerConnectButton = function() {
724 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
725 $scope.connecttrapItemNo = newConnectTrapItemNo;
726 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
727 if(newConnectTrapItemNo >1){
728 var count = newConnectTrapItemNo-1;
729 $scope.connectTriggerTrapsList.push('C'+count);
732 $scope.removeTriggerConnectButton = function() {
733 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
734 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
735 if(lastConnectTrapItem < 1){
736 var count = lastConnectTrapItem-1;
737 $scope.connectTriggerTrapsList.splice('C'+count);
740 if($scope.connectTriggerFaultsList == undefined){
741 $scope.connectTriggerFaultsList = [];
743 if($scope.temp.policy.faulttriggerSignatures == undefined){
744 $scope.temp.policy.faulttriggerSignatures = [];
747 $scope.FaultItemNo = 0;
748 $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
749 $scope.addVerFaultButton = function() {
750 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
751 $scope.FaultItemNo = newFaultItemNo;
752 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
753 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
755 $scope.removeVerFaultButton = function() {
756 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
757 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
758 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
760 if($scope.temp.policy.triggerfaultSignatures == undefined){
761 $scope.temp.policy.triggerfaultSignatures = [];
764 $scope.faultItemNo1 = 0;
765 $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
766 $scope.addVerTriggerButton = function(indexId) {
767 $scope.verificationdisabled = false;
768 if(faultCollection.indexOf(indexId) !== -1){
771 $scope.temp.policy.triggerfaultSignatures[indexId] = [];
772 faultCollection.push(indexId);
774 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
775 $scope.faultItemNo1 = newFaultItemNo1;
776 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
777 if(newFaultItemNo1 > 1){
778 var count = newFaultItemNo1-1;
779 $scope.varbindDictionaryDatas.push('A'+count);
782 $scope.removeVerTriggerButton = function(indexId) {
783 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
784 var checkLastFaultItem = lastFaultItem1;
785 if(checkLastFaultItem == 0){
786 faultCollection.splice(indexId);
788 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
791 if($scope.temp.policy.connectVerificationSignatures == undefined){
792 $scope.temp.policy.connectVerificationSignatures = [];
795 $scope.connectFaultItemNo = 0;
796 $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
797 $scope.addFaultConnectButton = function() {
798 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
799 $scope.connectFaultItemNo = newConnectFaultItemNo;
800 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
801 if(newConnectFaultItemNo >1){
802 var count = newConnectFaultItemNo-1;
803 $scope.connectTriggerFaultsList.push('C'+count);
806 $scope.removeFaultConnectButton = function() {
807 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
808 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
809 if(lastConnectFaultItem < 1){
810 var count = lastConnectFaultItem-1;
811 $scope.connectTriggerFaultsList.splice('C'+count);