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);
34 $scope.modal = function(id, hide) {
35 return $('#' + id).modal(hide ? 'hide' : 'show');
38 if($scope.temp.policy.triggerTrapSignatures == undefined){
39 $scope.temp.policy.triggerTrapSignatures = [];
40 $scope.temp.policy.triggerfaultSignatures = [];
42 var trapCollection = [];
43 var faultCollection = [];
44 if($scope.varbindDictionaryDatas == undefined){
45 $scope.varbindDictionaryDatas = [];
48 $scope.init = function(data){
49 if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
50 $scope.jsonData = data;
51 if($scope.jsonData.triggerSignaturesUsedForUI != null){
52 if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
53 $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
54 var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
55 if(splitTraps.length > 1){
56 $scope.triggerdisabled = false;
57 var indexId = "Trap1";
58 trapCollection.push(indexId);
59 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
60 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
61 var splitTrap1 = splitTraps[0];
62 var splitEachTrap = splitTrap1.split("#!");
63 for(i = 0 ; i < splitEachTrap.length; i++){
64 var splitEachRow = splitEachTrap[i].split("@!");
66 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
67 var notBox = splitEachRow[0];
68 var trigger1 = splitEachRow[1];
69 var operatorBox = splitEachRow[2];
70 var trigger2 = splitEachRow[3];
73 var trigger1 = splitEachRow[0];
74 var operatorBox = splitEachRow[1];
75 var trigger2 = splitEachRow[2];
77 $scope.varbindDictionaryDatas.push('A'+count);
78 $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
81 if(splitTraps.length > 2){
82 var indexId = "Trap2";
83 trapCollection.push(indexId);
84 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
85 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
86 var splitTrap1 = splitTraps[1];
87 var splitEachTrap = splitTrap1.split("#!");
88 for(i = 0 ; i < splitEachTrap.length; i++){
89 var splitEachRow = splitEachTrap[i].split("@!");
91 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
92 var notBox = splitEachRow[0];
93 var trigger1 = splitEachRow[1];
94 var operatorBox = splitEachRow[2];
95 var trigger2 = splitEachRow[3];
98 var trigger1 = splitEachRow[0];
99 var operatorBox = splitEachRow[1];
100 var trigger2 = splitEachRow[2];
102 $scope.varbindDictionaryDatas.push('A'+count);
103 $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
106 if(splitTraps.length > 3){
107 var indexId = "Trap3";
108 trapCollection.push(indexId);
109 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
110 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
111 var splitTrap1 = splitTraps[2];
112 var splitEachTrap = splitTrap1.split("#!");
113 for(i = 0 ; i < splitEachTrap.length; i++){
114 var splitEachRow = splitEachTrap[i].split("@!");
116 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
117 var notBox = splitEachRow[0];
118 var trigger1 = splitEachRow[1];
119 var operatorBox = splitEachRow[2];
120 var trigger2 = splitEachRow[3];
123 var trigger1 = splitEachRow[0];
124 var operatorBox = splitEachRow[1];
125 var trigger2 = splitEachRow[2];
127 $scope.varbindDictionaryDatas.push('A'+count);
128 $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
131 if(splitTraps.length > 4){
132 var indexId = "Trap4";
133 trapCollection.push(indexId);
134 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
135 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
136 var splitTrap1 = splitTraps[3];
137 var splitEachTrap = splitTrap1.split("#!");
138 for(i = 0 ; i < splitEachTrap.length; i++){
139 var splitEachRow = splitEachTrap[i].split("@!");
141 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
142 var notBox = splitEachRow[0];
143 var trigger1 = splitEachRow[1];
144 var operatorBox = splitEachRow[2];
145 var trigger2 = splitEachRow[3];
148 var trigger1 = splitEachRow[0];
149 var operatorBox = splitEachRow[1];
150 var trigger2 = splitEachRow[2];
152 $scope.varbindDictionaryDatas.push('A'+count);
153 $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
156 if(splitTraps.length > 5){
157 var indexId = "Trap5";
158 trapCollection.push(indexId);
159 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
160 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
161 var splitTrap1 = splitTraps[4];
162 var splitEachTrap = splitTrap1.split("#!");
163 for(i = 0 ; i < splitEachTrap.length; i++){
164 var splitEachRow = splitEachTrap[i].split("@!");
166 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
167 var notBox = splitEachRow[0];
168 var trigger1 = splitEachRow[1];
169 var operatorBox = splitEachRow[2];
170 var trigger2 = splitEachRow[3];
173 var trigger1 = splitEachRow[0];
174 var operatorBox = splitEachRow[1];
175 var trigger2 = splitEachRow[2];
177 $scope.varbindDictionaryDatas.push('A'+count);
178 $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
181 if(splitTraps.length > 6){
182 var indexId = "Trap6";
183 trapCollection.push(indexId);
184 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
185 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
186 var splitTrap1 = splitTraps[5];
187 var splitEachTrap = splitTrap1.split("#!");
188 for(i = 0 ; i < splitEachTrap.length; i++){
189 var splitEachRow = splitEachTrap[i].split("@!");
191 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
192 var notBox = splitEachRow[0];
193 var trigger1 = splitEachRow[1];
194 var operatorBox = splitEachRow[2];
195 var trigger2 = splitEachRow[3];
198 var trigger1 = splitEachRow[0];
199 var operatorBox = splitEachRow[1];
200 var trigger2 = splitEachRow[2];
202 $scope.varbindDictionaryDatas.push('A'+count);
203 $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
206 if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
207 var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
208 for(i=0; i < splitConnectTraps.length; i++){
209 if(splitConnectTraps[i] != ""){
210 var newConnectTrapItemNo = i+1;
211 var connects = splitConnectTraps[i].split("@!");
212 if(connects[0] == 'NOT' || connects[0] ==''){
213 var notBox = connects[0];
214 var connectTrap1 = connects[1];
215 var trapCount1 = connects[2];
216 var operatorBox = connects[3];
217 var connectTrap2 = connects[4];
218 var trapCount2 = connects[5];
221 var connectTrap1 = connects[0];
222 var trapCount1 = connects[1];
223 var operatorBox = connects[2];
224 var connectTrap2 = connects[3];
225 var trapCount2 = connects[4];
227 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
228 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
234 if($scope.jsonData.verificationSignaturesUsedForUI != null){
235 if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
236 $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : [],};
237 var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
238 if(splitTraps.length > 1){
239 $scope.verificationdisabled = false;
240 var indexId = "Fault1";
241 faultCollection.push(indexId);
242 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
243 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
244 var splitTrap1 = splitTraps[0];
245 var splitEachTrap = splitTrap1.split("#!");
246 for(i = 0 ; i < splitEachTrap.length; i++){
247 var splitEachRow = splitEachTrap[i].split("@!");
249 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
250 var notBox = splitEachRow[0];
251 var trigger1 = splitEachRow[1];
252 var operatorBox = splitEachRow[2];
253 var trigger2 = splitEachRow[3];
256 var trigger1 = splitEachRow[0];
257 var operatorBox = splitEachRow[1];
258 var trigger2 = splitEachRow[2];
260 $scope.varbindDictionaryDatas.push('A'+count);
261 $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
264 if(splitTraps.length > 2){
265 var indexId = "Fault2";
266 faultCollection.push(indexId);
267 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
268 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
269 var splitTrap1 = splitTraps[1];
270 var splitEachTrap = splitTrap1.split("#!");
271 for(i = 0 ; i < splitEachTrap.length; i++){
272 var splitEachRow = splitEachTrap[i].split("@!");
274 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
275 var notBox = splitEachRow[0];
276 var trigger1 = splitEachRow[1];
277 var operatorBox = splitEachRow[2];
278 var trigger2 = splitEachRow[3];
281 var trigger1 = splitEachRow[0];
282 var operatorBox = splitEachRow[1];
283 var trigger2 = splitEachRow[2];
285 $scope.varbindDictionaryDatas.push('A'+count);
286 $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
289 if(splitTraps.length > 3){
290 var indexId = "Fault3";
291 faultCollection.push(indexId);
292 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
293 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
294 var splitTrap1 = splitTraps[2];
295 var splitEachTrap = splitTrap1.split("#!");
296 for(i = 0 ; i < splitEachTrap.length; i++){
297 var splitEachRow = splitEachTrap[i].split("@!");
299 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
300 var notBox = splitEachRow[0];
301 var trigger1 = splitEachRow[1];
302 var operatorBox = splitEachRow[2];
303 var trigger2 = splitEachRow[3];
306 var trigger1 = splitEachRow[0];
307 var operatorBox = splitEachRow[1];
308 var trigger2 = splitEachRow[2];
310 $scope.varbindDictionaryDatas.push('A'+count);
311 $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
314 if(splitTraps.length > 4){
315 var indexId = "Fault4";
316 faultCollection.push(indexId);
317 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
318 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
319 var splitTrap1 = splitTraps[3];
320 var splitEachTrap = splitTrap1.split("#!");
321 for(i = 0 ; i < splitEachTrap.length; i++){
322 var splitEachRow = splitEachTrap[i].split("@!");
324 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
325 var notBox = splitEachRow[0];
326 var trigger1 = splitEachRow[1];
327 var operatorBox = splitEachRow[2];
328 var trigger2 = splitEachRow[3];
331 var trigger1 = splitEachRow[0];
332 var operatorBox = splitEachRow[1];
333 var trigger2 = splitEachRow[2];
335 $scope.varbindDictionaryDatas.push('A'+count);
336 $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
339 if(splitTraps.length > 5){
340 var indexId = "Fault5";
341 faultCollection.push(indexId);
342 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
343 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
344 var splitTrap1 = splitTraps[4];
345 var splitEachTrap = splitTrap1.split("#!");
346 for(i = 0 ; i < splitEachTrap.length; i++){
347 var splitEachRow = splitEachTrap[i].split("@!");
349 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
350 var notBox = splitEachRow[0];
351 var trigger1 = splitEachRow[1];
352 var operatorBox = splitEachRow[2];
353 var trigger2 = splitEachRow[3];
356 var trigger1 = splitEachRow[0];
357 var operatorBox = splitEachRow[1];
358 var trigger2 = splitEachRow[2];
360 $scope.varbindDictionaryDatas.push('A'+count);
361 $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
364 if(splitTraps.length > 6){
365 var indexId = "Fault6";
366 faultCollection.push(indexId);
367 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
368 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
369 var splitTrap1 = splitTraps[5];
370 var splitEachTrap = splitTrap1.split("#!");
371 for(i = 0 ; i < splitEachTrap.length; i++){
372 var splitEachRow = splitEachTrap[i].split("@!");
374 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
375 var notBox = splitEachRow[0];
376 var trigger1 = splitEachRow[1];
377 var operatorBox = splitEachRow[2];
378 var trigger2 = splitEachRow[3];
381 var trigger1 = splitEachRow[0];
382 var operatorBox = splitEachRow[1];
383 var trigger2 = splitEachRow[2];
385 $scope.varbindDictionaryDatas.push('A'+count);
386 $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
390 if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
391 var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
392 for(i=0; i < splitConnectTraps.length; i++){
393 if(splitConnectTraps[i] != ""){
394 var newConnectTrapItemNo = i+1;
395 var connects = splitConnectTraps[i].split("@!");
396 if(connects[0] == 'NOT' || connects[0] ==''){
397 var notBox = connects[0];
398 var connectTrap1 = connects[1];
399 var trapCount1 = connects[2];
400 var operatorBox = connects[3];
401 var connectTrap2 = connects[4];
402 var trapCount2 = connects[5];
405 var connectTrap1 = connects[0];
406 var trapCount1 = connects[1];
407 var operatorBox = connects[2];
408 var connectTrap2 = connects[3];
409 var trapCount2 = connects[4];
411 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
412 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
422 if($scope.temp.policy.readOnly){
423 $scope.triggerdisabled = true;
424 $scope.verificationdisabled = true;
426 $scope.triggerdisabled = false;
427 $scope.verificationdisabled = false;
431 PolicyAppService.getData('getDictionary/get_EcompNameDataByName').then(function (data) {
433 $scope.data = JSON.parse(j.data);
434 console.log($scope.data);
435 $scope.ecompNameDictionaryDatas = JSON.parse($scope.data.ecompNameDictionaryDatas);
436 console.log($scope.ecompNameDictionaryDatas);
437 }, function (error) {
438 console.log("failed");
441 PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
443 $scope.data = JSON.parse(j.data);
444 console.log($scope.data);
445 $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
446 console.log($scope.pepOptionsDictionaryDatas);
447 }, function (error) {
448 console.log("failed");
451 PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
453 $scope.data = JSON.parse(j.data);
454 console.log($scope.data);
455 $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
456 console.log($scope.pepOptionsDictionaryDataEntity);
457 }, function (error) {
458 console.log("failed");
461 PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
463 $scope.data = JSON.parse(j.data);
464 console.log($scope.data);
465 $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
466 console.log($scope.varbindDictionaryDatas);
467 }, function (error) {
468 console.log("failed");
471 PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
473 $scope.data = JSON.parse(j.data);
474 console.log($scope.data);
475 $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
476 console.log($scope.vnfTypeDictionaryDatas);
477 }, function (error) {
478 console.log("failed");
481 PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
483 $scope.data = JSON.parse(j.data);
484 console.log($scope.data);
485 $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
486 console.log($scope.vsclActionDictionaryDatas);
487 }, function (error) {
488 console.log("failed");
491 PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
493 $scope.data = JSON.parse(j.data);
494 console.log($scope.data);
495 $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
496 console.log($scope.riskTypeDictionaryDatas);
497 }, function (error) {
498 console.log("failed");
501 $scope.pepActionDictionaryDatas = [];
503 $scope.getPepActionValues = function(pepOptionValue){
504 for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
505 var obj = $scope.pepOptionsDictionaryDataEntity[i];
506 if (obj.pepName == pepOptionValue){
507 var splitAlarm = obj.actions.split(':#@');
508 for (var j = 0; j < splitAlarm.length; ++j) {
509 $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
515 $scope.saveFaultPolicy = function(policy){
516 if(policy.itemContent != undefined){
517 $scope.refreshCheck = true;
518 $scope.policyNavigator = policy.itemContent;
519 policy.itemContent = "";
521 $scope.savebutton = false;
524 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
525 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
527 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
528 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
530 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
531 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
532 trap2 : $scope.temp.policy.triggerTrapSignatures.Trap3}
534 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
535 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
536 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
538 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
539 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
540 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
541 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
543 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
544 var data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
545 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
546 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
549 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
550 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
552 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
553 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
555 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
556 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
557 trap2 : $scope.temp.policy.triggerfaultSignatures.Fault3}
559 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
560 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
561 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
563 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
564 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
565 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
566 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
568 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
569 var faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
570 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
571 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
573 var uuu = "policycreation/save_policy";
574 var postData={policyData: policy,
576 faultData : faultData
582 contentType: 'application/json',
583 data: JSON.stringify(postData),
584 success : function(data){
585 $scope.$apply(function(){
586 $scope.data=data.policyData;
587 if($scope.data == 'success'){
588 $scope.temp.policy.readOnly = 'true';
589 $scope.pushStatus=data.policyData.split("&")[1];
590 if($scope.pushStatus=="successPush"){
591 Notification.success("Policy pushed successfully");
593 $scope.triggerdisabled = true;
594 $scope.verificationdisabled = true;
595 Notification.success("Policy Saved Successfully.");
596 }else if ($scope.data == 'PolicyExists'){
597 $scope.savebutton = true;
598 Notification.error("Policy Already Exists with Same Name in Scope.");
601 console.log($scope.data);
603 error : function(data){
604 Notification.error("Error Occured while saving Policy.");
609 $scope.validatePolicy = function(policy){
611 document.getElementById("validate").innerHTML = "";
612 var uuu = "policyController/validate_policy.htm";
613 var postData={policyData: policy};
618 contentType: 'application/json',
619 data: JSON.stringify(postData),
620 success : function(data){
621 $scope.$apply(function(){
622 $scope.validateData = data.data.replace(/\"/g, "");
623 $scope.data=data.data.substring(1,8);
624 var size = data.data.length;
625 if($scope.data == 'success'){
626 Notification.success("Validation Success.");
627 $scope.savebutton = false;
629 var displayWarning = data.data.substring(19,size);
630 document.getElementById("validate").innerHTML = "Safe Policy Warning Message : "+displayWarning;
631 document.getElementById("validate").style.color = "white";
632 document.getElementById("validate").style.backgroundColor = "skyblue";
635 Notification.error("Validation Failed.");
636 document.getElementById("validate").innerHTML = $scope.validateData;
637 document.getElementById("validate").style.color = "white";
638 document.getElementById("validate").style.backgroundColor = "red";
639 $scope.savebutton = true;
643 console.log($scope.data);
645 error : function(data){
646 Notification.error("Validation Failed.");
647 $scope.savebutton = true;
651 if($scope.connectTriggerTrapsList == undefined){
652 $scope.connectTriggerTrapsList = [];
654 if($scope.temp.policy.traptriggerSignatures == undefined){
655 $scope.temp.policy.traptriggerSignatures = [];
659 $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
660 $scope.addTriggerButton = function() {
661 $scope.triggerdisabled = false;
662 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
663 $scope.ItemNo = newItemNo;
664 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
665 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
667 $scope.removeTriggerButton = function() {
668 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
669 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
670 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
674 $scope.trapItemNo = 0;
675 $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
676 $scope.addTrapTriggerButton = function(indexId) {
677 if(trapCollection.indexOf(indexId) !== -1){
680 $scope.temp.policy.triggerTrapSignatures[indexId] = [];
681 trapCollection.push(indexId);
683 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
684 $scope.trapItemNo = newTrapItemNo;
685 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
686 if(newTrapItemNo > 1){
687 var count = newTrapItemNo-1;
688 $scope.varbindDictionaryDatas.push('A'+count);
691 $scope.removeTrapTriggerButton = function(indexId) {
692 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
693 var checkLastTrapItem = lastTrapItem;
694 if(checkLastTrapItem == 0){
695 trapCollection.splice(indexId);
697 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
700 if($scope.temp.policy.connecttriggerSignatures == undefined){
701 $scope.temp.policy.connecttriggerSignatures = [];
704 $scope.connecttrapItemNo = 0;
705 $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
706 $scope.addTriggerConnectButton = function() {
707 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
708 $scope.connecttrapItemNo = newConnectTrapItemNo;
709 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
710 if(newConnectTrapItemNo >1){
711 var count = newConnectTrapItemNo-1;
712 $scope.connectTriggerTrapsList.push('C'+count);
715 $scope.removeTriggerConnectButton = function() {
716 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
717 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
718 if(lastConnectTrapItem < 1){
719 var count = lastConnectTrapItem-1;
720 $scope.connectTriggerTrapsList.splice('C'+count);
723 if($scope.connectTriggerFaultsList == undefined){
724 $scope.connectTriggerFaultsList = [];
726 if($scope.temp.policy.faulttriggerSignatures == undefined){
727 $scope.temp.policy.faulttriggerSignatures = [];
730 $scope.FaultItemNo = 0;
731 $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
732 $scope.addVerFaultButton = function() {
733 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
734 $scope.FaultItemNo = newFaultItemNo;
735 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
736 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
738 $scope.removeVerFaultButton = function() {
739 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
740 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
741 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
743 if($scope.temp.policy.triggerfaultSignatures == undefined){
744 $scope.temp.policy.triggerfaultSignatures = [];
747 $scope.faultItemNo1 = 0;
748 $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
749 $scope.addVerTriggerButton = function(indexId) {
750 $scope.verificationdisabled = false;
751 if(faultCollection.indexOf(indexId) !== -1){
754 $scope.temp.policy.triggerfaultSignatures[indexId] = [];
755 faultCollection.push(indexId);
757 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
758 $scope.faultItemNo1 = newFaultItemNo1;
759 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
760 if(newFaultItemNo1 > 1){
761 var count = newFaultItemNo1-1;
762 $scope.varbindDictionaryDatas.push('A'+count);
765 $scope.removeVerTriggerButton = function(indexId) {
766 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
767 var checkLastFaultItem = lastFaultItem1;
768 if(checkLastFaultItem == 0){
769 faultCollection.splice(indexId);
771 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
774 if($scope.temp.policy.connectVerificationSignatures == undefined){
775 $scope.temp.policy.connectVerificationSignatures = [];
778 $scope.connectFaultItemNo = 0;
779 $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
780 $scope.addFaultConnectButton = function() {
781 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
782 $scope.connectFaultItemNo = newConnectFaultItemNo;
783 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
784 if(newConnectFaultItemNo >1){
785 var count = newConnectFaultItemNo-1;
786 $scope.connectTriggerFaultsList.push('C'+count);
789 $scope.removeFaultConnectButton = function() {
790 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
791 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
792 if(lastConnectFaultItem < 1){
793 var count = lastConnectFaultItem-1;
794 $scope.connectTriggerFaultsList.splice('C'+count);