Remove unused vars and methods
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / policy-models / Editor / PolicyTemplateController / ClosedLoopFaultController.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP Policy Engine
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20 angular.module("abs").controller('clFaultController', ['$scope', '$window', 'PolicyAppService', 'policyNavigator', 'modalService', '$modal', 'Notification', function($scope, $window, PolicyAppService, PolicyNavigator, modalService, $modal, Notification){
21         $("#dialog").hide();
22
23         $scope.policyNavigator;
24         $scope.savebutton = true;
25         $scope.refreshCheck = false;
26     
27         if(!$scope.temp.policy.editPolicy  && !$scope.temp.policy.readOnly){
28         $scope.temp.policy = {
29                 policyType : "Config",
30                 configPolicyType : "ClosedLoop_Fault"
31         }
32     }
33     
34     $scope.refresh = function(){
35         if($scope.refreshCheck){
36                 $scope.policyNavigator.refresh();
37         }
38         $scope.modal('createNewPolicy', true);
39         $scope.temp.policy = "";
40     };
41     
42     $scope.modal = function(id, hide) {
43         return $('#' + id).modal(hide ? 'hide' : 'show');
44     };
45     
46     $('#ttlDate').datepicker({
47         dateFormat: 'dd/mm/yy',
48         changeMonth: true,
49         changeYear: true,
50         onSelect: function(date) {
51                 angular.element($('#ttlDate')).triggerHandler('input');
52         }
53     });
54         
55         if($scope.temp.policy.triggerTrapSignatures == undefined){
56                 $scope.temp.policy.triggerTrapSignatures = [];
57                 $scope.temp.policy.triggerfaultSignatures = [];
58         }
59         var trapCollection = [];
60         var faultCollection = [];
61         if($scope.varbindDictionaryDatas == undefined){
62                 $scope.varbindDictionaryDatas = [];
63         }
64         
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("@!");
82                                                         var count = i +1;
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];
88                                                         }else{
89                                                                 var notBox = '';
90                                                                 var trigger1 = splitEachRow[0];
91                                                                 var operatorBox = splitEachRow[1];
92                                                                 var trigger2 = splitEachRow[2]; 
93                                                         }
94                                                         $scope.varbindDictionaryDatas.push('A'+count);
95                                                         $scope.temp.policy.triggerTrapSignatures["Trap1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
96                                                 }
97                                         }
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("@!");
107                                                         var count = i +1;
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];
113                                                         }else{
114                                                                 var notBox = '';
115                                                                 var trigger1 = splitEachRow[0];
116                                                                 var operatorBox = splitEachRow[1];
117                                                                 var trigger2 = splitEachRow[2]; 
118                                                         }
119                                                         $scope.varbindDictionaryDatas.push('A'+count);
120                                                         $scope.temp.policy.triggerTrapSignatures["Trap2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
121                                                 }
122                                         }
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("@!");
132                                                         var count = i +1;
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];
138                                                         }else{
139                                                                 var notBox = '';
140                                                                 var trigger1 = splitEachRow[0];
141                                                                 var operatorBox = splitEachRow[1];
142                                                                 var trigger2 = splitEachRow[2]; 
143                                                         }
144                                                         $scope.varbindDictionaryDatas.push('A'+count);
145                                                         $scope.temp.policy.triggerTrapSignatures["Trap3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
146                                                 }
147                                         }
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("@!");
157                                                         var count = i +1;
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];
163                                                         }else{
164                                                                 var notBox = '';
165                                                                 var trigger1 = splitEachRow[0];
166                                                                 var operatorBox = splitEachRow[1];
167                                                                 var trigger2 = splitEachRow[2]; 
168                                                         }
169                                                         $scope.varbindDictionaryDatas.push('A'+count);
170                                                         $scope.temp.policy.triggerTrapSignatures["Trap4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
171                                                 }
172                                         }
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("@!");
182                                                         var count = i +1;
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];
188                                                         }else{
189                                                                 var notBox = '';
190                                                                 var trigger1 = splitEachRow[0];
191                                                                 var operatorBox = splitEachRow[1];
192                                                                 var trigger2 = splitEachRow[2]; 
193                                                         }
194                                                         $scope.varbindDictionaryDatas.push('A'+count);
195                                                         $scope.temp.policy.triggerTrapSignatures["Trap5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
196                                                 } 
197                                         }
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("@!");
207                                                         var count = i +1;
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];
213                                                         }else{
214                                                                 var notBox = '';
215                                                                 var trigger1 = splitEachRow[0];
216                                                                 var operatorBox = splitEachRow[1];
217                                                                 var trigger2 = splitEachRow[2]; 
218                                                         }
219                                                         $scope.varbindDictionaryDatas.push('A'+count);
220                                                         $scope.temp.policy.triggerTrapSignatures["Trap6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                  
221                                                 }
222                                         }
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];
236                                                                 }else{
237                                                                         var notBox = '';
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]; 
243                                                                 }
244                                                                 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1, 
245                                                                         'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2}); 
246                                                         }
247                                                 }                               
248                                         }
249                                 }
250                         }
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("@!");
265                                                         var count = i +1;
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];
271                                                         }else{
272                                                                 var notBox = '';
273                                                                 var trigger1 = splitEachRow[0];
274                                                                 var operatorBox = splitEachRow[1];
275                                                                 var trigger2 = splitEachRow[2]; 
276                                                         }
277                                                         $scope.varbindDictionaryDatas.push('A'+count);
278                                                         $scope.temp.policy.triggerfaultSignatures["Fault1"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
279                                                 }
280                                         }
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("@!");
290                                                         var count = i +1;
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];
296                                                         }else{
297                                                                 var notBox = '';
298                                                                 var trigger1 = splitEachRow[0];
299                                                                 var operatorBox = splitEachRow[1];
300                                                                 var trigger2 = splitEachRow[2]; 
301                                                         }
302                                                         $scope.varbindDictionaryDatas.push('A'+count);
303                                                         $scope.temp.policy.triggerfaultSignatures["Fault2"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
304                                                 }
305                                         }
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("@!");
315                                                         var count = i +1;
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];
321                                                         }else{
322                                                                 var notBox = '';
323                                                                 var trigger1 = splitEachRow[0];
324                                                                 var operatorBox = splitEachRow[1];
325                                                                 var trigger2 = splitEachRow[2]; 
326                                                         }
327                                                         $scope.varbindDictionaryDatas.push('A'+count);
328                                                         $scope.temp.policy.triggerfaultSignatures["Fault3"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
329                                                 }
330                                         }
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("@!");
340                                                         var count = i +1;
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];
346                                                         }else{
347                                                                 var notBox = '';
348                                                                 var trigger1 = splitEachRow[0];
349                                                                 var operatorBox = splitEachRow[1];
350                                                                 var trigger2 = splitEachRow[2]; 
351                                                         }
352                                                         $scope.varbindDictionaryDatas.push('A'+count);
353                                                         $scope.temp.policy.triggerfaultSignatures["Fault4"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
354                                                 }
355                                         }
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("@!");
365                                                         var count = i +1;
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];
371                                                         }else{
372                                                                 var notBox = '';
373                                                                 var trigger1 = splitEachRow[0];
374                                                                 var operatorBox = splitEachRow[1];
375                                                                 var trigger2 = splitEachRow[2]; 
376                                                         }
377                                                         $scope.varbindDictionaryDatas.push('A'+count);
378                                                         $scope.temp.policy.triggerfaultSignatures["Fault5"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
379                                                 } 
380                                         }
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("@!");
390                                                         var count = i +1;
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];
396                                                         }else{
397                                                                 var notBox = '';
398                                                                 var trigger1 = splitEachRow[0];
399                                                                 var operatorBox = splitEachRow[1];
400                                                                 var trigger2 = splitEachRow[2]; 
401                                                         }
402                                                         $scope.varbindDictionaryDatas.push('A'+count);
403                                                         $scope.temp.policy.triggerfaultSignatures["Fault6"].push({'id':'A'+count, 'notBox' : notBox , 'trigger1': trigger1 , 'operatorBox' : operatorBox, 'trigger2': trigger2});                
404                                                 }
405                                         }
406
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];
420                                                                 }else{
421                                                                         var notBox = '';
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]; 
427                                                                 }
428                                                                 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectTrapItemNo,'notBox' : notBox , 'connectTrap1': connectTrap1,'trapCount1' : trapCount1, 
429                                                                         'operatorBox': operatorBox, 'connectTrap2': connectTrap2,'trapCount2' : trapCount2}); 
430                                                         }
431                                                 }                               
432                                         }
433                                 }
434                         }
435                 }
436
437         };
438
439         if($scope.temp.policy.readOnly){
440                 $scope.triggerdisabled = true;
441                 $scope.verificationdisabled = true;
442         }else{
443                 $scope.triggerdisabled = false;
444                 $scope.verificationdisabled = false;
445         }
446         
447
448         PolicyAppService.getData('getDictionary/get_OnapNameDataByName').then(function (data) {
449                 var j = 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");
456         });
457
458         PolicyAppService.getData('getDictionary/get_PEPOptionsDataByName').then(function (data) {
459                 var j = 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");
466         });
467
468         PolicyAppService.getData('getDictionary/get_PEPOptionsData').then(function (data) {
469                 var j = 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");
476         });
477
478         PolicyAppService.getData('getDictionary/get_VarbindDictionaryDataByName').then(function (data) {
479                 var j = 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");
486         });
487
488         PolicyAppService.getData('getDictionary/get_VNFTypeDataByName').then(function (data) {
489                 var j = 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");
496         });
497
498         PolicyAppService.getData('getDictionary/get_VSCLActionDataByName').then(function (data) {
499                 var j = 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");
506         });
507
508         PolicyAppService.getData('getDictionary/get_RiskTypeDataByName').then(function (data) {
509                 var j = 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");
516         });
517     
518         $scope.pepActionDictionaryDatas = [];
519
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]);
527                 }
528             }
529         }
530         };
531
532         function trapData(){
533                 var data = {};
534                 if($scope.temp.policy.triggerTrapSignatures.length == 1 || $scope.temp.policy.triggerTrapSignatures["Trap1"] != null){
535                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1 }
536                 }
537                 if($scope.temp.policy.triggerTrapSignatures.length == 2 || $scope.temp.policy.triggerTrapSignatures["Trap2"] != null){
538                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2}
539                 }
540                 if($scope.temp.policy.triggerTrapSignatures.length == 3 || $scope.temp.policy.triggerTrapSignatures["Trap3"] != null){
541                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
542                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3}
543                 }
544                 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerTrapSignatures["Trap4"] != null){
545                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
546                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4}
547                 }
548                 if($scope.temp.policy.triggerTrapSignatures.length == 5 || $scope.temp.policy.triggerTrapSignatures["Trap5"] != null){
549                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
550                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
551                                         trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5}
552                 }
553                 if($scope.temp.policy.triggerTrapSignatures.length == 6 || $scope.temp.policy.triggerTrapSignatures["Trap6"] != null){
554                          data = {trap1 : $scope.temp.policy.triggerTrapSignatures.Trap1,  trap2 : $scope.temp.policy.triggerTrapSignatures.Trap2,
555                                         trap3 : $scope.temp.policy.triggerTrapSignatures.Trap3,   trap4 : $scope.temp.policy.triggerTrapSignatures.Trap4,
556                                         trap5 : $scope.temp.policy.triggerTrapSignatures.Trap5, trap6 : $scope.temp.policy.triggerTrapSignatures.Trap6}
557                 }       
558                 return data;
559         }
560         
561         function faultDatas(){
562                 var faultData = {};
563                 if($scope.temp.policy.triggerfaultSignatures.length == 1 || $scope.temp.policy.triggerfaultSignatures["Fault1"] != null){
564                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1 }
565                 }
566                 if($scope.temp.policy.triggerfaultSignatures.length == 2 || $scope.temp.policy.triggerfaultSignatures["Fault2"] != null){
567                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2}
568                 }
569                 if($scope.temp.policy.triggerfaultSignatures.length == 3 || $scope.temp.policy.triggerfaultSignatures["Fault3"] != null){
570                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
571                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3}
572                 }
573                 if($scope.temp.policy.triggerTrapSignatures.length == 4 || $scope.temp.policy.triggerfaultSignatures["Fault4"] != null){
574                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
575                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4}
576                 }
577                 if($scope.temp.policy.triggerfaultSignatures.length == 5 || $scope.temp.policy.triggerfaultSignatures["Fault5"] != null){
578                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
579                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
580                                         trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5}
581                 }
582                 if($scope.temp.policy.triggerfaultSignatures.length == 6 || $scope.temp.policy.triggerfaultSignatures["Fault6"] != null){
583                          faultData = {trap1 : $scope.temp.policy.triggerfaultSignatures.Fault1,  trap2 : $scope.temp.policy.triggerfaultSignatures.Fault2,
584                                         trap3 : $scope.temp.policy.triggerfaultSignatures.Fault3,   trap4 : $scope.temp.policy.triggerfaultSignatures.Fault4,
585                                         trap5 : $scope.temp.policy.triggerfaultSignatures.Fault5, trap6 : $scope.temp.policy.triggerfaultSignatures.Fault6}
586                 }
587                 return faultData;
588         }
589         
590         $scope.saveFaultPolicy = function(policy){
591                 if(policy.itemContent != undefined){
592                 $scope.refreshCheck = true; 
593                 $scope.policyNavigator = policy.itemContent;
594                 policy.itemContent = "";
595         }
596                 $scope.savebutton = false;
597                 var data = trapData();
598                 var faultData = faultDatas();
599                 var uuu = "policycreation/save_policy";
600                 var postData={policyData: policy,
601                                 trapData : data,
602                                 faultData : faultData
603                 };
604                 $.ajax({
605                         type : 'POST',
606                         url : uuu,
607                         dataType: 'json',
608                         contentType: 'application/json',
609                         data: JSON.stringify(postData),
610                         success : function(data){
611                                 $scope.$apply(function(){
612                                         $scope.data=data.policyData;
613                                         if($scope.data == 'success'){
614                                                 $scope.temp.policy.readOnly = 'true';
615                                                 $scope.pushStatus=data.policyData.split("&")[1];
616                                                 if($scope.pushStatus=="successPush"){
617                                                         Notification.success("Policy pushed successfully");
618                                                 }
619                                                 $scope.triggerdisabled = true;
620                                                 $scope.verificationdisabled = true;
621                                                 Notification.success("Policy Saved Successfully.");     
622                                         }else if ($scope.data == 'PolicyExists'){
623                                                 $scope.savebutton = true;
624                                                 Notification.error("Policy Already Exists with Same Name in Scope.");
625                                         }
626                                 });
627                                 console.log($scope.data);
628                         },
629                         error : function(data){
630                                 Notification.error("Error Occured while saving Policy.");
631                         }
632                 });
633         };
634
635         $scope.validatePolicy = function(policy){
636                 console.log(policy);
637                 document.getElementById("validate").innerHTML = "";
638                 var uuu = "policyController/validate_policy.htm";
639                 var data = trapData();
640                 var faultData = faultDatas();
641                 var postData={policyData: policy, trapData : data, faultData : faultData};
642                 $.ajax({
643                         type : 'POST',
644                         url : uuu,
645                         dataType: 'json',
646                         contentType: 'application/json',
647                         data: JSON.stringify(postData),
648                         success : function(data){
649                                 $scope.$apply(function(){
650                                         $scope.validateData = data.data.replace(/\"/g, "");
651                                         $scope.data=data.data.substring(1,8);
652                                                 var size = data.data.length;
653                                                 if($scope.data == 'success'){
654                                                         Notification.success("Validation Success.");
655                                                         $scope.savebutton = false;
656                                                         if (size > 18){
657                                                                 var displayWarning = data.data.substring(19,size);
658                                                                 document.getElementById("validate").innerHTML = "Safe Policy Warning Message  :  "+displayWarning;
659                                                                 document.getElementById("validate").style.color = "white";
660                                                                 document.getElementById("validate").style.backgroundColor = "skyblue";
661                                                         }
662                                         }else{
663                                                 Notification.error("Validation Failed.");
664                                                 document.getElementById("validate").innerHTML = $scope.validateData;
665                                                 document.getElementById("validate").style.color = "white";
666                                                 document.getElementById("validate").style.backgroundColor = "red";
667                                                 $scope.savebutton = true;
668                                         }
669
670                                 });
671                                 console.log($scope.data);
672                         },
673                         error : function(data){
674                                 Notification.error("Validation Failed.");
675                                 $scope.savebutton = true;
676                         }
677                 });
678         };
679         if($scope.connectTriggerTrapsList == undefined){
680                 $scope.connectTriggerTrapsList = [];
681         }
682         if($scope.temp.policy.traptriggerSignatures == undefined){
683                 $scope.temp.policy.traptriggerSignatures = [];
684         }
685         
686         $scope.ItemNo = 0;
687         $scope.TriggerSignatureDatas = [{"triggerSignatures" : $scope.temp.policy.traptriggerSignatures}];
688         $scope.addTriggerButton = function() {
689                 $scope.triggerdisabled = false;
690                 var newItemNo = $scope.temp.policy.traptriggerSignatures.length+1;
691                 $scope.ItemNo = newItemNo;
692                 $scope.temp.policy.traptriggerSignatures.push({'id':'Trap'+newItemNo});
693                 $scope.connectTriggerTrapsList.push('Trap'+newItemNo);
694         };
695         $scope.removeTriggerButton = function() {
696                 var lastItem = $scope.temp.policy.traptriggerSignatures.length-1;
697                 $scope.temp.policy.traptriggerSignatures.splice(lastItem);
698                 $scope.connectTriggerTrapsList.splice('Trap'+lastItem);
699         };
700
701         
702         $scope.trapItemNo = 0;
703         $scope.TrapTriggerSignatureDatas = [{"triggermainSignatures" : $scope.temp.policy.triggerTrapSignatures}];
704         $scope.addTrapTriggerButton = function(indexId) {
705                 if(trapCollection.indexOf(indexId) === -1){
706                         $scope.temp.policy.triggerTrapSignatures[indexId] = [];
707                         trapCollection.push(indexId);
708                 }       
709                 var newTrapItemNo = $scope.temp.policy.triggerTrapSignatures[indexId].length+1;
710                 $scope.trapItemNo = newTrapItemNo;
711                 $scope.temp.policy.triggerTrapSignatures.push($scope.temp.policy.triggerTrapSignatures[indexId].push({'id':'A'+newTrapItemNo}));
712                 if(newTrapItemNo > 1){
713                         var count = newTrapItemNo-1;
714                         $scope.varbindDictionaryDatas.push('A'+count);
715                 }
716         };
717         $scope.removeTrapTriggerButton = function(indexId) {
718                 var lastTrapItem = $scope.temp.policy.triggerTrapSignatures[indexId].length-1;
719                 var checkLastTrapItem = lastTrapItem;
720                 if(checkLastTrapItem == 0){
721                         trapCollection.splice(indexId);
722                 }
723                 $scope.temp.policy.triggerTrapSignatures[indexId].splice(lastTrapItem);
724         };
725
726         if($scope.temp.policy.connecttriggerSignatures == undefined){
727                 $scope.temp.policy.connecttriggerSignatures = [];
728         }
729         
730         $scope.connecttrapItemNo = 0;
731         $scope.TrapConnectTriggerSignatureDatas = [{"connecttriggerSignatures" : $scope.temp.policy.connecttriggerSignatures}];
732         $scope.addTriggerConnectButton = function() {
733                 var newConnectTrapItemNo = $scope.temp.policy.connecttriggerSignatures.length+1;
734                 $scope.connecttrapItemNo = newConnectTrapItemNo;
735                 $scope.temp.policy.connecttriggerSignatures.push({'id':'C'+newConnectTrapItemNo});
736                 if(newConnectTrapItemNo >1){
737                         var count = newConnectTrapItemNo-1;
738                         $scope.connectTriggerTrapsList.push('C'+count);
739                 }      
740         };
741         $scope.removeTriggerConnectButton = function() {
742                 var lastConnectTrapItem = $scope.temp.policy.connecttriggerSignatures.length-1;
743                 $scope.temp.policy.connecttriggerSignatures.splice(lastConnectTrapItem);
744                 if(lastConnectTrapItem  < 1){
745                         var count = lastConnectTrapItem-1;
746                         $scope.connectTriggerTrapsList.splice('C'+count);
747                 }
748         };
749         if($scope.connectTriggerFaultsList == undefined){
750                 $scope.connectTriggerFaultsList = [];
751         }
752         if($scope.temp.policy.faulttriggerSignatures == undefined){
753                 $scope.temp.policy.faulttriggerSignatures = [];
754         }
755         
756         $scope.FaultItemNo = 0;
757         $scope.FaultSignatureDatas = [{"verificationmainSignatures" : $scope.temp.policy.faulttriggerSignatures}];
758         $scope.addVerFaultButton = function() {
759                 var newFaultItemNo = $scope.temp.policy.faulttriggerSignatures.length+1;
760                 $scope.FaultItemNo = newFaultItemNo;
761                 $scope.temp.policy.faulttriggerSignatures.push({'id':'Fault'+newFaultItemNo});
762                 $scope.connectTriggerFaultsList.push('Fault'+newFaultItemNo);
763         };
764         $scope.removeVerFaultButton = function() {
765                 var lastFaultItem = $scope.temp.policy.faulttriggerSignatures.length-1;
766                 $scope.temp.policy.faulttriggerSignatures.splice(lastFaultItem);
767                 $scope.connectTriggerFaultsList.splice('Fault'+lastFaultItem);
768         };
769         if($scope.temp.policy.triggerfaultSignatures == undefined){
770                 $scope.temp.policy.triggerfaultSignatures = [];
771         }
772         
773         $scope.faultItemNo1 = 0;
774         $scope.FaultTriggerSignatureDatas = [{"verificationSignatures" : $scope.temp.policy.triggerfaultSignatures}];
775         $scope.addVerTriggerButton = function(indexId) {
776                 $scope.verificationdisabled = false;
777                 if(faultCollection.indexOf(indexId) === -1){
778                         $scope.temp.policy.triggerfaultSignatures[indexId] = [];
779                         faultCollection.push(indexId);
780                 }       
781                 var newFaultItemNo1 = $scope.temp.policy.triggerfaultSignatures[indexId].length+1;
782                 $scope.faultItemNo1 = newFaultItemNo1; 
783                 $scope.temp.policy.triggerfaultSignatures.push($scope.temp.policy.triggerfaultSignatures[indexId].push({'id':'A'+newFaultItemNo1}));
784                 if(newFaultItemNo1 > 1){
785                         var count = newFaultItemNo1-1;
786                         $scope.varbindDictionaryDatas.push('A'+count);
787                 }
788         };
789         $scope.removeVerTriggerButton = function(indexId) {
790                 var lastFaultItem1 = $scope.temp.policy.triggerfaultSignatures[indexId].length-1;
791                 var checkLastFaultItem = lastFaultItem1;
792                 if(checkLastFaultItem == 0){
793                         faultCollection.splice(indexId);
794                 }
795                 $scope.temp.policy.triggerfaultSignatures[indexId].splice(lastFaultItem1);
796         };
797
798         if($scope.temp.policy.connectVerificationSignatures == undefined){
799                 $scope.temp.policy.connectVerificationSignatures = [];
800         }
801         
802         $scope.connectFaultItemNo = 0;
803         $scope.FaultConnectTriggerSignatureDatas = [{"connectVerificationSignatures" : $scope.temp.policy.connectVerificationSignatures}];
804         $scope.addFaultConnectButton = function() {
805                 var newConnectFaultItemNo = $scope.temp.policy.connectVerificationSignatures.length+1;
806                 $scope.connectFaultItemNo = newConnectFaultItemNo;
807                 $scope.temp.policy.connectVerificationSignatures.push({'id':'C'+newConnectFaultItemNo});
808                 if(newConnectFaultItemNo >1){
809                         var count = newConnectFaultItemNo-1;
810                         $scope.connectTriggerFaultsList.push('C'+count);
811                 }  
812         };
813         $scope.removeFaultConnectButton = function() {
814                 var lastConnectFaultItem = $scope.temp.policy.connectVerificationSignatures.length-1;
815                 $scope.temp.policy.connectVerificationSignatures.splice(lastConnectFaultItem);
816                 if(lastConnectFaultItem  < 1){
817                         var count = lastConnectFaultItem-1;
818                         $scope.connectTriggerFaultsList.splice('C'+count);
819                 }
820         };
821
822
823 }]);