2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017, 2019 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',
21 ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification',
22 function($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification){
25 $scope.policyNavigator;
26 $scope.savebutton = true;
27 $scope.refreshCheck = false;
29 if(!$scope.temp.policy.editPolicy && !$scope.temp.policy.readOnly){
30 $scope.temp.policy = {
31 policyType : "Config",
32 configPolicyType : "ClosedLoop_Fault"
36 $scope.refresh = function(){
37 if($scope.refreshCheck){
38 $scope.policyNavigator.refresh();
40 $scope.modal('createNewPolicy', true);
41 $scope.temp.policy = "";
44 $scope.modal = function(id, hide) {
45 return $('#' + id).modal(hide ? 'hide' : 'show');
48 $('#ttlDate').datepicker({
49 dateFormat: 'dd/mm/yy',
52 onSelect: function(date) {
53 angular.element($('#ttlDate')).triggerHandler('input');
57 if($scope.temp.policy.triggerTrapSignatures == undefined){
58 $scope.temp.policy.triggerTrapSignatures = [];
59 $scope.temp.policy.triggerfaultSignatures = [];
61 var trapCollection = [];
62 var faultCollection = [];
63 if($scope.varbindDictionaryDatas == undefined){
64 $scope.varbindDictionaryDatas = [];
67 $scope.init = function(data){
68 if(data != undefined && $scope.temp.policy.triggerTrapSignatures.length == 0){
69 $scope.jsonData = data;
70 if($scope.jsonData.triggerSignaturesUsedForUI != null){
71 if($scope.jsonData.triggerSignaturesUsedForUI.signatures != null){
72 $scope.temp.policy.triggerTrapSignatures = {Trap1 : [], Trap2 : [], Trap3 : [], Trap4 : [], Trap5 : [], Trap6 : []};
73 var splitTraps = $scope.jsonData.triggerSignaturesUsedForUI.signatures.split("#!?!");
74 if(splitTraps.length > 1){
75 $scope.triggerdisabled = false;
76 var indexId = "Trap1";
77 trapCollection.push(indexId);
78 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
79 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+1});
80 var splitTrap1 = splitTraps[0];
81 var splitEachTrap = splitTrap1.split("#!");
82 for(i = 0 ; i < splitEachTrap.length; i++){
83 var splitEachRow = splitEachTrap[i].split("@!");
85 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
86 var notBox = splitEachRow[0];
87 var trigger1 = splitEachRow[1];
88 var operatorBox = splitEachRow[2];
89 var trigger2 = splitEachRow[3];
92 var trigger1 = splitEachRow[0];
93 var operatorBox = splitEachRow[1];
94 var trigger2 = splitEachRow[2];
96 $scope.varbindDictionaryDatas.push('A'+count);
97 $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
100 if(splitTraps.length > 2){
101 var indexId = "Trap2";
102 trapCollection.push(indexId);
103 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
104 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+2});
105 var splitTrap1 = splitTraps[1];
106 var splitEachTrap = splitTrap1.split("#!");
107 for(i = 0 ; i < splitEachTrap.length; i++){
108 var splitEachRow = splitEachTrap[i].split("@!");
110 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
111 var notBox = splitEachRow[0];
112 var trigger1 = splitEachRow[1];
113 var operatorBox = splitEachRow[2];
114 var trigger2 = splitEachRow[3];
117 var trigger1 = splitEachRow[0];
118 var operatorBox = splitEachRow[1];
119 var trigger2 = splitEachRow[2];
121 $scope.varbindDictionaryDatas.push('A'+count);
122 $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
125 if(splitTraps.length > 3){
126 var indexId = "Trap3";
127 trapCollection.push(indexId);
128 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
129 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+3});
130 var splitTrap1 = splitTraps[2];
131 var splitEachTrap = splitTrap1.split("#!");
132 for(i = 0 ; i < splitEachTrap.length; i++){
133 var splitEachRow = splitEachTrap[i].split("@!");
135 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
136 var notBox = splitEachRow[0];
137 var trigger1 = splitEachRow[1];
138 var operatorBox = splitEachRow[2];
139 var trigger2 = splitEachRow[3];
142 var trigger1 = splitEachRow[0];
143 var operatorBox = splitEachRow[1];
144 var trigger2 = splitEachRow[2];
146 $scope.varbindDictionaryDatas.push('A'+count);
147 $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
150 if(splitTraps.length > 4){
151 var indexId = "Trap4";
152 trapCollection.push(indexId);
153 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
154 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+4});
155 var splitTrap1 = splitTraps[3];
156 var splitEachTrap = splitTrap1.split("#!");
157 for(i = 0 ; i < splitEachTrap.length; i++){
158 var splitEachRow = splitEachTrap[i].split("@!");
160 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
161 var notBox = splitEachRow[0];
162 var trigger1 = splitEachRow[1];
163 var operatorBox = splitEachRow[2];
164 var trigger2 = splitEachRow[3];
167 var trigger1 = splitEachRow[0];
168 var operatorBox = splitEachRow[1];
169 var trigger2 = splitEachRow[2];
171 $scope.varbindDictionaryDatas.push('A'+count);
172 $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
175 if(splitTraps.length > 5){
176 var indexId = "Trap5";
177 trapCollection.push(indexId);
178 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
179 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+5});
180 var splitTrap1 = splitTraps[4];
181 var splitEachTrap = splitTrap1.split("#!");
182 for(i = 0 ; i < splitEachTrap.length; i++){
183 var splitEachRow = splitEachTrap[i].split("@!");
185 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
186 var notBox = splitEachRow[0];
187 var trigger1 = splitEachRow[1];
188 var operatorBox = splitEachRow[2];
189 var trigger2 = splitEachRow[3];
192 var trigger1 = splitEachRow[0];
193 var operatorBox = splitEachRow[1];
194 var trigger2 = splitEachRow[2];
196 $scope.varbindDictionaryDatas.push('A'+count);
197 $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
200 if(splitTraps.length > 6){
201 var indexId = "Trap6";
202 trapCollection.push(indexId);
203 $scope.temp.policy.triggerTrapSignatures[indexId.replace(/['"]+/g, '')] = [];
204 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+6});
205 var splitTrap1 = splitTraps[5];
206 var splitEachTrap = splitTrap1.split("#!");
207 for(i = 0 ; i < splitEachTrap.length; i++){
208 var splitEachRow = splitEachTrap[i].split("@!");
210 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
211 var notBox = splitEachRow[0];
212 var trigger1 = splitEachRow[1];
213 var operatorBox = splitEachRow[2];
214 var trigger2 = splitEachRow[3];
217 var trigger1 = splitEachRow[0];
218 var operatorBox = splitEachRow[1];
219 var trigger2 = splitEachRow[2];
221 $scope.varbindDictionaryDatas.push('A'+count);
222 $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
225 if($scope.jsonData.triggerSignaturesUsedForUI.connectSignatures != null){
226 var splitConnectTraps = $scope.jsonData.triggerSignaturesUsedForUI.connectSignatures.split("#!?!");
227 for(i=0; i < splitConnectTraps.length; i++){
228 if(splitConnectTraps[i] != ""){
229 var newConnectTrapItemNo = i+1;
230 var connects = splitConnectTraps[i].split("@!");
231 if(connects[0] == 'NOT' || connects[0] ==''){
232 var notBox = connects[0];
233 var connectTrap1 = connects[1];
234 var trapCount1 = connects[2];
235 var operatorBox = connects[3];
236 var connectTrap2 = connects[4];
237 var trapCount2 = connects[5];
240 var connectTrap1 = connects[0];
241 var trapCount1 = connects[1];
242 var operatorBox = connects[2];
243 var connectTrap2 = connects[3];
244 var trapCount2 = connects[4];
246 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
247 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
253 if($scope.jsonData.verificationSignaturesUsedForUI != null){
254 if($scope.jsonData.verificationSignaturesUsedForUI.signatures != null){
255 $scope.temp.policy.triggerfaultSignatures = {Fault1 : [], Fault2 : [], Fault3 : [], Fault4 : [], Fault5 : [], Fault6 : []};
256 var splitTraps = $scope.jsonData.verificationSignaturesUsedForUI.signatures.split("#!?!");
257 if(splitTraps.length > 1){
258 $scope.verificationdisabled = false;
259 var indexId = "Fault1";
260 faultCollection.push(indexId);
261 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
262 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+1});
263 var splitTrap1 = splitTraps[0];
264 var splitEachTrap = splitTrap1.split("#!");
265 for(i = 0 ; i < splitEachTrap.length; i++){
266 var splitEachRow = splitEachTrap[i].split("@!");
268 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
269 var notBox = splitEachRow[0];
270 var trigger1 = splitEachRow[1];
271 var operatorBox = splitEachRow[2];
272 var trigger2 = splitEachRow[3];
275 var trigger1 = splitEachRow[0];
276 var operatorBox = splitEachRow[1];
277 var trigger2 = splitEachRow[2];
279 $scope.varbindDictionaryDatas.push('A'+count);
280 $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
283 if(splitTraps.length > 2){
284 var indexId = "Fault2";
285 faultCollection.push(indexId);
286 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
287 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+2});
288 var splitTrap1 = splitTraps[1];
289 var splitEachTrap = splitTrap1.split("#!");
290 for(i = 0 ; i < splitEachTrap.length; i++){
291 var splitEachRow = splitEachTrap[i].split("@!");
293 if(splitEachRow[0] == 'NOT' || splitEachRow[0] == ''){
294 var notBox = splitEachRow[0];
295 var trigger1 = splitEachRow[1];
296 var operatorBox = splitEachRow[2];
297 var trigger2 = splitEachRow[3];
300 var trigger1 = splitEachRow[0];
301 var operatorBox = splitEachRow[1];
302 var trigger2 = splitEachRow[2];
304 $scope.varbindDictionaryDatas.push('A'+count);
305 $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
308 if(splitTraps.length > 3){
309 var indexId = "Fault3";
310 faultCollection.push(indexId);
311 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
312 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+3});
313 var splitTrap1 = splitTraps[2];
314 var splitEachTrap = splitTrap1.split("#!");
315 for(i = 0 ; i < splitEachTrap.length; i++){
316 var splitEachRow = splitEachTrap[i].split("@!");
318 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
319 var notBox = splitEachRow[0];
320 var trigger1 = splitEachRow[1];
321 var operatorBox = splitEachRow[2];
322 var trigger2 = splitEachRow[3];
325 var trigger1 = splitEachRow[0];
326 var operatorBox = splitEachRow[1];
327 var trigger2 = splitEachRow[2];
329 $scope.varbindDictionaryDatas.push('A'+count);
330 $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
333 if(splitTraps.length > 4){
334 var indexId = "Fault4";
335 faultCollection.push(indexId);
336 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
337 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+4});
338 var splitTrap1 = splitTraps[3];
339 var splitEachTrap = splitTrap1.split("#!");
340 for(i = 0 ; i < splitEachTrap.length; i++){
341 var splitEachRow = splitEachTrap[i].split("@!");
343 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
344 var notBox = splitEachRow[0];
345 var trigger1 = splitEachRow[1];
346 var operatorBox = splitEachRow[2];
347 var trigger2 = splitEachRow[3];
350 var trigger1 = splitEachRow[0];
351 var operatorBox = splitEachRow[1];
352 var trigger2 = splitEachRow[2];
354 $scope.varbindDictionaryDatas.push('A'+count);
355 $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
358 if(splitTraps.length > 5){
359 var indexId = "Fault5";
360 faultCollection.push(indexId);
361 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
362 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+5});
363 var splitTrap1 = splitTraps[4];
364 var splitEachTrap = splitTrap1.split("#!");
365 for(i = 0 ; i < splitEachTrap.length; i++){
366 var splitEachRow = splitEachTrap[i].split("@!");
368 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
369 var notBox = splitEachRow[0];
370 var trigger1 = splitEachRow[1];
371 var operatorBox = splitEachRow[2];
372 var trigger2 = splitEachRow[3];
375 var trigger1 = splitEachRow[0];
376 var operatorBox = splitEachRow[1];
377 var trigger2 = splitEachRow[2];
379 $scope.varbindDictionaryDatas.push('A'+count);
380 $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
383 if(splitTraps.length > 6){
384 var indexId = "Fault6";
385 faultCollection.push(indexId);
386 $scope.temp.policy.triggerfaultSignatures[indexId.replace(/['"]+/g, '')] = [];
387 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+6});
388 var splitTrap1 = splitTraps[5];
389 var splitEachTrap = splitTrap1.split("#!");
390 for(i = 0 ; i < splitEachTrap.length; i++){
391 var splitEachRow = splitEachTrap[i].split("@!");
393 if(splitEachRow[0] == 'NOT' || splitEachRow[0] ==''){
394 var notBox = splitEachRow[0];
395 var trigger1 = splitEachRow[1];
396 var operatorBox = splitEachRow[2];
397 var trigger2 = splitEachRow[3];
400 var trigger1 = splitEachRow[0];
401 var operatorBox = splitEachRow[1];
402 var trigger2 = splitEachRow[2];
404 $scope.varbindDictionaryDatas.push('A'+count);
405 $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});
409 if($scope.jsonData.verificationSignaturesUsedForUI.connectSignatures != null){
410 var splitConnectTraps = $scope.jsonData.verificationSignaturesUsedForUI.connectSignatures.split("#!?!");
411 for(i=0; i < splitConnectTraps.length; i++){
412 if(splitConnectTraps[i] != ""){
413 var newConnectTrapItemNo = i+1;
414 var connects = splitConnectTraps[i].split("@!");
415 if(connects[0] == 'NOT' || connects[0] ==''){
416 var notBox = connects[0];
417 var connectTrap1 = connects[1];
418 var trapCount1 = connects[2];
419 var operatorBox = connects[3];
420 var connectTrap2 = connects[4];
421 var trapCount2 = connects[5];
424 var connectTrap1 = connects[0];
425 var trapCount1 = connects[1];
426 var operatorBox = connects[2];
427 var connectTrap2 = connects[3];
428 var trapCount2 = connects[4];
430 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1,
431 'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2});
441 if($scope.temp.policy.readOnly){
442 $scope.triggerdisabled = true;
443 $scope.verificationdisabled = true;
445 $scope.triggerdisabled = false;
446 $scope.verificationdisabled = false;
450 PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
452 $scope.data = JSON.parse(j.data);
453 $scope.onapNameDictionaryDatas = JSON.parse($scope.data.onapNameDictionaryDatas);
456 PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
458 $scope.data = JSON.parse(j.data);
459 $scope.pepOptionsDictionaryDatas = JSON.parse($scope.data.pepOptionsDictionaryDatas);
462 PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
464 $scope.data = JSON.parse(j.data);
465 $scope.pepOptionsDictionaryDataEntity = JSON.parse($scope.data.pepOptionsDictionaryDatas);
468 PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
470 $scope.data = JSON.parse(j.data);
471 $scope.varbindDictionaryDatas = JSON.parse($scope.data.varbindDictionaryDatas);
474 PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
476 $scope.data = JSON.parse(j.data);
477 $scope.vnfTypeDictionaryDatas = JSON.parse($scope.data.vnfTypeDictionaryDatas);
480 PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
482 $scope.data = JSON.parse(j.data);
483 $scope.vsclActionDictionaryDatas = JSON.parse($scope.data.vsclActionDictionaryDatas);
486 PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
488 $scope.data = JSON.parse(j.data);
489 $scope.riskTypeDictionaryDatas = JSON.parse($scope.data.riskTypeDictionaryDatas);
492 $scope.pepActionDictionaryDatas = [];
494 $scope.getPepActionValues = function(pepOptionValue){
495 for (var i = 0; i < $scope.pepOptionsDictionaryDataEntity.length; ++i) {
496 var obj = $scope.pepOptionsDictionaryDataEntity[i];
497 if (obj.pepName == pepOptionValue){
498 var splitAlarm = obj.actions.split(':#@');
499 for (var j = 0; j < splitAlarm.length; ++j) {
500 $scope.pepActionDictionaryDatas.push(splitAlarm[j].split('=#@')[0]);
508 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
509 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
511 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
512 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
514 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
515 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
516 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
518 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
519 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
520 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
522 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
523 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
524 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
525 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
527 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
528 data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1, trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
529 trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3, trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
530 trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
535 function faultDatas(){
537 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
538 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
540 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
541 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
543 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
544 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
545 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
547 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
548 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
549 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
551 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
552 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
553 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
554 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
556 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
557 faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1, trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
558 trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3, trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
559 trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
564 $scope.saveFaultPolicy = function(policy){
565 if(policy.itemContent != undefined){
566 $scope.refreshCheck = true;
567 $scope.policyNavigator = policy.itemContent;
568 policy.itemContent = "";
570 $scope.savebutton = false;
571 var data = trapData();
572 var faultData = faultDatas();
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.");
602 error : function(data){
603 Notification.error("Error Occured while saving Policy.");
608 $scope.validatePolicy = function(policy){
609 document.getElementById("validate").innerHTML = "";
610 var uuu = "policyController/validate_policy.htm";
611 var data = trapData();
612 var faultData = faultDatas();
613 var postData={policyData: policy, trapData : data, faultData : faultData};
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;
644 error : function(data){
645 Notification.error("Validation Failed.");
646 $scope.savebutton = true;
650 if($scope.connectTriggerTrapsList == undefined){
651 $scope.connectTriggerTrapsList = [];
653 if($scope.temp.policy.traptriggerSignatures == undefined){
654 $scope.temp.policy.traptriggerSignatures = [];
658 $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
659 $scope.addTriggerButton = function() {
660 $scope.triggerdisabled = false;
661 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
662 $scope.ItemNo = newItemNo;
663 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
664 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
666 $scope.removeTriggerButton = function() {
667 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
668 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
669 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
673 $scope.trapItemNo = 0;
674 $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
675 $scope.addTrapTriggerButton = function(indexId) {
676 if(trapCollection.indexOf(indexId) === -1){
677 $scope.temp.policy.triggerTrapSignatures[indexId] = [];
678 trapCollection.push(indexId);
680 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
681 $scope.trapItemNo = newTrapItemNo;
682 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
683 if(newTrapItemNo > 1){
684 var count = newTrapItemNo-1;
685 $scope.varbindDictionaryDatas.push('A'+count);
688 $scope.removeTrapTriggerButton = function(indexId) {
689 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
690 var checkLastTrapItem = lastTrapItem;
691 if(checkLastTrapItem == 0){
692 trapCollection.splice(indexId);
694 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
697 if($scope.temp.policy.connecttriggerSignatures == undefined){
698 $scope.temp.policy.connecttriggerSignatures = [];
701 $scope.connecttrapItemNo = 0;
702 $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
703 $scope.addTriggerConnectButton = function() {
704 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
705 $scope.connecttrapItemNo = newConnectTrapItemNo;
706 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
707 if(newConnectTrapItemNo >1){
708 var count = newConnectTrapItemNo-1;
709 $scope.connectTriggerTrapsList.push('C'+count);
712 $scope.removeTriggerConnectButton = function() {
713 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
714 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
715 if(lastConnectTrapItem < 1){
716 var count = lastConnectTrapItem-1;
717 $scope.connectTriggerTrapsList.splice('C'+count);
720 if($scope.connectTriggerFaultsList == undefined){
721 $scope.connectTriggerFaultsList = [];
723 if($scope.temp.policy.faulttriggerSignatures == undefined){
724 $scope.temp.policy.faulttriggerSignatures = [];
727 $scope.FaultItemNo = 0;
728 $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
729 $scope.addVerFaultButton = function() {
730 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
731 $scope.FaultItemNo = newFaultItemNo;
732 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
733 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
735 $scope.removeVerFaultButton = function() {
736 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
737 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
738 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
740 if($scope.temp.policy.triggerfaultSignatures == undefined){
741 $scope.temp.policy.triggerfaultSignatures = [];
744 $scope.faultItemNo1 = 0;
745 $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
746 $scope.addVerTriggerButton = function(indexId) {
747 $scope.verificationdisabled = false;
748 if(faultCollection.indexOf(indexId) === -1){
749 $scope.temp.policy.triggerfaultSignatures[indexId] = [];
750 faultCollection.push(indexId);
752 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
753 $scope.faultItemNo1 = newFaultItemNo1;
754 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
755 if(newFaultItemNo1 > 1){
756 var count = newFaultItemNo1-1;
757 $scope.varbindDictionaryDatas.push('A'+count);
760 $scope.removeVerTriggerButton = function(indexId) {
761 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
762 var checkLastFaultItem = lastFaultItem1;
763 if(checkLastFaultItem == 0){
764 faultCollection.splice(indexId);
766 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
769 if($scope.temp.policy.connectVerificationSignatures == undefined){
770 $scope.temp.policy.connectVerificationSignatures = [];
773 $scope.connectFaultItemNo = 0;
774 $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
775 $scope.addFaultConnectButton = function() {
776 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
777 $scope.connectFaultItemNo = newConnectFaultItemNo;
778 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
779 if(newConnectFaultItemNo >1){
780 var count = newConnectFaultItemNo-1;
781 $scope.connectTriggerFaultsList.push('C'+count);
784 $scope.removeFaultConnectButton = function() {
785 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
786 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
787 if(lastConnectFaultItem < 1){
788 var count = lastConnectFaultItem-1;
789 $scope.connectTriggerFaultsList.splice('C'+count);