13af95a8fc5829ff0f3e7c0ed463d788c7da0335
[so.git] / asdc-controller / src / main / java / org / onap / so / asdc / util / ASDCNotificationLogging.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
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
21 package org.onap.so.asdc.util;
22
23
24 import java.util.List;
25 import java.util.Map;
26
27 import org.onap.sdc.api.notification.IArtifactInfo;
28 import org.onap.sdc.api.notification.INotificationData;
29 import org.onap.sdc.api.notification.IResourceInstance;
30 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
31 import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
32 import org.onap.sdc.tosca.parser.impl.SdcTypes;
33 import org.onap.sdc.toscaparser.api.Group;
34 import org.onap.sdc.toscaparser.api.NodeTemplate;
35 import org.onap.sdc.toscaparser.api.elements.Metadata;
36 import org.onap.so.asdc.installer.IVfModuleData;
37 import org.onap.so.asdc.installer.ToscaResourceStructure;
38
39 public class ASDCNotificationLogging {
40
41         public static String dumpASDCNotification(INotificationData asdcNotification) {
42
43                 if (asdcNotification == null) {
44                         return "NULL";
45                 }
46         return "ASDC Notification:" + System.lineSeparator() +
47             "DistributionID:" + testNull(asdcNotification.getDistributionID()) + System.lineSeparator() +
48             "ServiceName:" + testNull(asdcNotification.getServiceName()) + System.lineSeparator() +
49             "ServiceVersion:" + testNull(asdcNotification.getServiceVersion()) + System.lineSeparator() +
50             "ServiceUUID:" + testNull(asdcNotification.getServiceUUID()) + System.lineSeparator() +
51             "ServiceInvariantUUID:" + testNull(asdcNotification.getServiceInvariantUUID()) + System.lineSeparator() +
52             "ServiceDescription:" + testNull(asdcNotification.getServiceDescription()) + System.lineSeparator() +
53             "Service Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(asdcNotification.getServiceArtifacts())) + System.lineSeparator() +
54             "Resource Instances List:" + System.lineSeparator() + testNull(dumpASDCResourcesList(asdcNotification)) + System.lineSeparator();
55         }
56
57         public static String dumpCSARNotification(INotificationData asdcNotification, ToscaResourceStructure toscaResourceStructure) {
58                 
59                 if (asdcNotification == null) {
60                         return "NULL";
61                 }
62                 
63
64                 StringBuilder buffer = new StringBuilder("CSAR Notification:");
65                 buffer.append(System.lineSeparator());
66                 buffer.append(System.lineSeparator());
67                 
68                 
69                 ISdcCsarHelper csarHelper = toscaResourceStructure.getSdcCsarHelper();
70
71         
72                 buffer.append("Service Level Properties:");
73                 buffer.append(System.lineSeparator());
74                 buffer.append("Name:");
75                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
76                 buffer.append(System.lineSeparator());
77                 buffer.append("Description:");
78                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
79                 buffer.append(System.lineSeparator());
80                 buffer.append("Model UUID:");
81                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
82                 buffer.append(System.lineSeparator());
83                 buffer.append("Model Version:");
84                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
85                 buffer.append(System.lineSeparator());
86                 buffer.append("Model InvariantUuid:");
87                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
88                 buffer.append(System.lineSeparator());
89                 buffer.append("Service Type:");
90                 buffer.append(csarHelper.getServiceMetadata().getValue("serviceType"));
91                 buffer.append(System.lineSeparator());
92                 buffer.append("Service Role:");
93                 buffer.append(csarHelper.getServiceMetadata().getValue("serviceRole"));
94                 buffer.append(System.lineSeparator());
95                 buffer.append("WorkLoad Context:");
96                 buffer.append(asdcNotification.getWorkloadContext());
97                 buffer.append(System.lineSeparator());
98                 buffer.append("Environment Context:");
99                 buffer.append(csarHelper.getServiceMetadata().getValue("environmentContext"));
100                 
101                 
102                 List<NodeTemplate> serviceProxyResourceList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY);
103                 
104                 if(serviceProxyResourceList != null){
105                         
106                 for (NodeTemplate serviceProxyNodeTemplate :  serviceProxyResourceList) {
107                         
108                         buffer.append(System.lineSeparator());
109                         buffer.append(System.lineSeparator());
110                         buffer.append("Service Proxy Properties:");
111                         buffer.append(System.lineSeparator());
112                         buffer.append("Model Name:");
113                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
114                 buffer.append(System.lineSeparator());
115                 buffer.append("Model UUID:");
116                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));            
117                 buffer.append(System.lineSeparator());
118                 buffer.append("Description:");
119                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
120                 buffer.append(System.lineSeparator());
121                 buffer.append("Version:");
122                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
123                 buffer.append(System.lineSeparator());
124                 buffer.append("InvariantUuid:");
125                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
126                 buffer.append(System.lineSeparator());
127                 
128                 buffer.append(System.lineSeparator());
129                 buffer.append(System.lineSeparator());
130                 buffer.append("Service Proxy Customization Properties:");
131                 buffer.append(System.lineSeparator());
132                 
133                 buffer.append("Model Customization UUID:");
134                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
135                 buffer.append(System.lineSeparator());
136                 buffer.append("Model Instance Name:");
137                 buffer.append(serviceProxyNodeTemplate.getName());              
138                 buffer.append(System.lineSeparator());
139                 buffer.append("Tosca Node Type:");
140                 buffer.append(serviceProxyNodeTemplate.getType());
141                 buffer.append(System.lineSeparator());
142                 buffer.append("Version:");
143                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
144                 buffer.append(System.lineSeparator());
145                 buffer.append("InvariantUuid:");
146                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
147                 buffer.append(System.lineSeparator());
148                         
149                 }
150                 }
151                 
152                 List<NodeTemplate> configurationNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CONFIGURATION);
153                 
154                 if(configurationNodeTemplatesList != null){
155                 for (NodeTemplate configNodeTemplate :  configurationNodeTemplatesList) {
156                         
157                         buffer.append(System.lineSeparator());
158                         buffer.append(System.lineSeparator());
159                         buffer.append("Configuration Properties:");
160                         buffer.append(System.lineSeparator());
161                         
162                         buffer.append("Model Name:");
163                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
164                 buffer.append(System.lineSeparator());
165                 buffer.append("Model UUID:");
166                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
167                 buffer.append(System.lineSeparator());
168                 buffer.append("Description:");
169                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
170                 buffer.append(System.lineSeparator());
171                 buffer.append("Version:");
172                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
173                 buffer.append(System.lineSeparator());
174                 buffer.append("InvariantUuid:");
175                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
176                 buffer.append(System.lineSeparator());
177                 buffer.append("Tosca Node Type:");
178                 buffer.append(configNodeTemplate.getType());
179                 
180                 buffer.append(System.lineSeparator());
181                 buffer.append(System.lineSeparator());
182                 buffer.append("Configuration Customization Properties:");
183                 buffer.append(System.lineSeparator());
184                 
185                 buffer.append("Model Customization UUID:");
186                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
187                 buffer.append(System.lineSeparator());
188                 buffer.append("Model Instance Name:");
189                 buffer.append(configNodeTemplate.getName());            
190                 buffer.append(System.lineSeparator());
191                 buffer.append("NFFunction:");
192                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
193                 buffer.append(System.lineSeparator());
194                 buffer.append("NFRole:");
195                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
196                 buffer.append(System.lineSeparator());
197                 buffer.append("NFType:");
198                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
199                 buffer.append(System.lineSeparator());
200                         
201                 }
202                 }
203                 
204                 buffer.append(System.lineSeparator());
205                 buffer.append(System.lineSeparator());
206                 buffer.append("VNF Level Properties:");
207                 buffer.append(System.lineSeparator());
208                 
209         List<NodeTemplate> vfNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceVfList();
210         for (NodeTemplate vfNodeTemplate :  vfNodeTemplatesList) {
211                 
212                 buffer.append("Model Name:");
213                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
214                 buffer.append(System.lineSeparator());
215                 buffer.append("Model UUID:");
216                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
217                 buffer.append(System.lineSeparator());
218                 buffer.append("Description:");
219                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
220                 buffer.append(System.lineSeparator());
221                 buffer.append("Version:");
222                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
223                 buffer.append(System.lineSeparator());
224                 buffer.append("Type:");
225                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
226                 buffer.append(System.lineSeparator());
227                 buffer.append("InvariantUuid:");
228                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
229                 buffer.append(System.lineSeparator());
230                 buffer.append("Max Instances:");
231                 buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
232                 buffer.append(System.lineSeparator());
233                 buffer.append("Min Instances:");
234                 buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES));
235                 buffer.append(System.lineSeparator());
236                 
237                 buffer.append(System.lineSeparator());
238                 buffer.append("VNF Customization Properties:");
239                 buffer.append(System.lineSeparator());
240                 
241                 buffer.append("Customization UUID:");
242                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
243                 buffer.append(System.lineSeparator());
244                 buffer.append("NFFunction:");
245                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
246                 buffer.append(System.lineSeparator());
247                 buffer.append("NFCode:");
248                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "nf_naming_code"));
249                 buffer.append(System.lineSeparator());
250                 buffer.append("NFRole:");
251                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
252                 buffer.append(System.lineSeparator());
253                 buffer.append("NFType:");
254                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
255                 buffer.append(System.lineSeparator());
256                 buffer.append("MultiStageDesign:");
257                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "multi_stage_design"));
258                 buffer.append(System.lineSeparator());
259                                 
260                 List<Group> groupList = toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(vfNodeTemplate, "org.openecomp.groups.VfcInstanceGroup");
261                 
262                 if(groupList != null){
263                         for (Group group : groupList) {         
264                                 Metadata instanceMetadata = group.getMetadata();
265                                 
266                         buffer.append(System.lineSeparator());
267                         buffer.append("VNFC Instance Group Properties:");
268                         buffer.append(System.lineSeparator());
269                                         
270                                 buffer.append("Model Name:");
271                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
272                         buffer.append(System.lineSeparator());
273                         buffer.append("Version:");
274                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
275                         buffer.append(System.lineSeparator());
276                         buffer.append("Type:");
277                         buffer.append(vfNodeTemplate.getType());
278                         buffer.append(System.lineSeparator());
279                         buffer.append("InvariantUuid:");
280                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
281                         buffer.append(System.lineSeparator());                                  
282                         }
283                         
284                 }
285                 
286                 
287                 
288                 buffer.append(System.lineSeparator());
289                 buffer.append("VF Module Properties:");
290                 buffer.append(System.lineSeparator());
291                 List<Group> vfGroups = toscaResourceStructure.getSdcCsarHelper().getVfModulesByVf(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
292                 
293                 for(Group group : vfGroups){
294                         
295                         Metadata vfMetadata = group.getMetadata();
296                         
297                         buffer.append("ModelInvariantUuid:");
298                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
299                         buffer.append(System.lineSeparator());
300                         buffer.append("ModelName:");
301                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
302                         buffer.append(System.lineSeparator()); 
303                         buffer.append("ModelUuid:");
304                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
305                         buffer.append(System.lineSeparator());
306                         buffer.append("ModelVersion:");
307                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
308                         buffer.append(System.lineSeparator()); 
309                         buffer.append("Description:");
310                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
311                         buffer.append(System.lineSeparator());     
312                 }
313   
314         }
315         
316                 
317                 List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
318                                         
319         if(nodeTemplatesVLList != null){
320                 
321                 buffer.append(System.lineSeparator());
322                 buffer.append("NETWORK Level Properties:");
323                 buffer.append(System.lineSeparator());
324                 
325                 for(NodeTemplate vlNode : nodeTemplatesVLList){
326                         
327                         buffer.append("Model Name:");
328                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
329                         buffer.append(System.lineSeparator()); 
330                         buffer.append("Model InvariantUuid:");
331                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
332                         buffer.append(System.lineSeparator());   
333                         buffer.append("Model UUID:");
334                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
335                         buffer.append(System.lineSeparator()); 
336                         buffer.append("Model Version:");
337                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
338                         buffer.append(System.lineSeparator());   
339                         buffer.append("AIC Max Version:");
340                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
341                         buffer.append(System.lineSeparator()); 
342                         buffer.append("AIC Min Version:");
343                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
344                         buffer.append(System.lineSeparator());  
345                         buffer.append("Tosca Node Type:");
346                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
347                         buffer.append(System.lineSeparator());  
348                         buffer.append("Description:");
349                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
350                         buffer.append(System.lineSeparator());  
351                 
352                 }
353                         
354         }
355         
356                 buffer.append(System.lineSeparator());
357                 buffer.append("Network Collection Resource Properties:");
358                 buffer.append(System.lineSeparator());
359                 
360         List<NodeTemplate> networkCollectionList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CR);
361                 
362                 if (networkCollectionList != null) {
363                         for (NodeTemplate crNode : networkCollectionList) {     
364                                 buffer.append("Model Name:");
365                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
366                         buffer.append(System.lineSeparator());
367                         buffer.append("Model UUID:");
368                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));              
369                         buffer.append(System.lineSeparator());
370                         buffer.append("InvariantUuid:");
371                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
372                         buffer.append(System.lineSeparator());
373                         buffer.append("Description:");
374                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
375                         buffer.append(System.lineSeparator());
376                         buffer.append("Version:");
377                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));   
378                         buffer.append(System.lineSeparator());
379                         buffer.append("Tosca Node Type:");
380                         buffer.append(crNode.getType());
381                         buffer.append(System.lineSeparator());
382                         buffer.append("CR Function:");
383                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_function"));       
384                         buffer.append(System.lineSeparator());
385                         buffer.append("CR Role:");
386                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_role"));   
387                         buffer.append(System.lineSeparator());
388                         buffer.append("CR Type:");
389                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_type"));   
390                         buffer.append(System.lineSeparator());
391                         
392                         List<NodeTemplate> vlNodeList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(crNode, SdcTypes.VL);
393                                                 
394                         for(NodeTemplate vlNodeTemplate : vlNodeList){
395                                 
396                                 Metadata vlMetadata = vlNodeTemplate.getMetaData();
397                                 
398                                 buffer.append(System.lineSeparator());
399                                 buffer.append("Network CR VL Properties:");
400                                 buffer.append(System.lineSeparator());
401                                 
402                                 buffer.append("Model Name:");
403                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
404                         buffer.append(System.lineSeparator());
405                         buffer.append("Model UUID:");
406                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));                
407                         buffer.append(System.lineSeparator());
408                         buffer.append("InvariantUuid:");
409                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
410                         buffer.append(System.lineSeparator());
411                         buffer.append("Version:");
412                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));     
413                         buffer.append(System.lineSeparator());
414                         buffer.append("AIC Max Version:");
415                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
416                         buffer.append(System.lineSeparator());
417                         buffer.append("Description:");
418                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); 
419                         buffer.append(System.lineSeparator());
420                         buffer.append("Tosca Node Type:");
421                         buffer.append(vlNodeTemplate.getType());            
422                         buffer.append(System.lineSeparator());  
423                                 
424                         }
425                         
426                         List<Group> groupList = toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(crNode, "org.openecomp.groups.NetworkCollection");    
427                         
428                         if(groupList != null){
429                                 for (Group group : groupList) { 
430                                         Metadata instanceMetadata = group.getMetadata();
431                                         buffer.append(System.lineSeparator());
432                                         buffer.append("Network Instance Group Properties:");
433                                         buffer.append(System.lineSeparator());
434                                         
435                                         buffer.append("Model Name:");
436                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
437                                 buffer.append(System.lineSeparator());
438                                 buffer.append("Model UUID:");
439                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
440                                 buffer.append(System.lineSeparator());
441                                 buffer.append("InvariantUuid:");
442                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
443                                 buffer.append(System.lineSeparator());
444                                 buffer.append("Version:");
445                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));       
446                                 buffer.append(System.lineSeparator());  
447                                 }
448                         
449                         }
450                         
451                                 buffer.append(System.lineSeparator());
452                                 buffer.append("Network Collection Customization Properties:");
453                                 buffer.append(System.lineSeparator());
454                                 
455                         buffer.append("Model Customization UUID:");
456                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
457                         buffer.append(System.lineSeparator());
458                         buffer.append("Model Instance Name:");
459                         buffer.append(crNode.getName());                
460                         buffer.append(System.lineSeparator());
461                         buffer.append("Network Scope:");
462                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
463                         buffer.append(System.lineSeparator());
464                         buffer.append("Network Role:");
465                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
466                         buffer.append(System.lineSeparator());
467                         buffer.append("Network Type:");
468                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
469                         buffer.append(System.lineSeparator());
470                         buffer.append("Network Technology:");
471                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
472                         buffer.append(System.lineSeparator());
473         
474                         }
475                 }
476         
477         List<NodeTemplate> allottedResourceList = toscaResourceStructure.getSdcCsarHelper().getAllottedResources();
478         
479                 if(allottedResourceList != null){
480                         
481                         buffer.append(System.lineSeparator());
482                         buffer.append("Allotted Resource Properties:");
483                         buffer.append(System.lineSeparator());
484                 
485                         for(NodeTemplate allottedNode : allottedResourceList){
486                                 
487                                 buffer.append("Model Name:");
488                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
489                                 buffer.append(System.lineSeparator());
490                                 buffer.append("Model Name:");
491                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
492                                 buffer.append(System.lineSeparator()); 
493                                 buffer.append("Model InvariantUuid:");
494                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
495                                 buffer.append(System.lineSeparator());  
496                                 buffer.append("Model Version:");
497                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
498                                 buffer.append(System.lineSeparator()); 
499                                 buffer.append("Model UUID:");
500                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
501                                 buffer.append(System.lineSeparator());
502                                 buffer.append("Model Subcategory:");
503                                 buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
504                                         buffer.append(System.lineSeparator());
505                                         buffer.append("Model Description:");
506                                         buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
507                                         buffer.append(System.lineSeparator());
508                                 
509                                 
510                                 buffer.append("Allotted Resource Customization Properties:");
511                                 buffer.append(System.lineSeparator());
512                         
513                                 buffer.append("Model Cutomization UUID:");
514                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
515                         buffer.append(System.lineSeparator());
516                         buffer.append("NFFunction:");
517                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
518                         buffer.append(System.lineSeparator());
519                         buffer.append("NFCode:");
520                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, "nf_naming_code"));
521                         buffer.append(System.lineSeparator());
522                         buffer.append("NFRole:");
523                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFROLE));
524                         buffer.append(System.lineSeparator());
525                         buffer.append("NFType:");
526                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
527                         buffer.append(System.lineSeparator());      
528                                 
529                                 
530                         }
531                 }
532                 
533                 
534                 return buffer.toString();
535         }
536         
537         public static String dumpVfModuleMetaDataList(List<IVfModuleData> moduleMetaDataList) {
538                 if (moduleMetaDataList == null ) {
539                         return null;
540                 }
541
542                 StringBuilder buffer = new StringBuilder("VfModuleMetaData List:");
543                 buffer.append(System.lineSeparator());
544
545                 buffer.append("{");
546
547                 for (IVfModuleData moduleMetaData:moduleMetaDataList) {
548                         buffer.append(System.lineSeparator());
549                         buffer.append(testNull(dumpVfModuleMetaData(moduleMetaData)));
550                         buffer.append(System.lineSeparator());
551                         buffer.append(",");
552
553                 }
554                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
555                 buffer.append("}");
556                 buffer.append(System.lineSeparator());
557
558                 return buffer.toString();
559         }
560
561         private static String dumpVfModuleMetaData(IVfModuleData moduleMetaData) {
562
563                 if (moduleMetaData == null ) {
564                         return "NULL";
565                 }
566
567                 StringBuilder stringBuilder = new StringBuilder("VfModuleMetaData:");
568                 stringBuilder.append(System.lineSeparator());
569
570                 stringBuilder.append("VfModuleModelName:");
571                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelName()));
572                 stringBuilder.append(System.lineSeparator());
573
574                 stringBuilder.append("VfModuleModelVersion:");
575                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelVersion()));
576                 stringBuilder.append(System.lineSeparator());
577
578                 stringBuilder.append("VfModuleModelUUID:");
579                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelUUID()));
580                 stringBuilder.append(System.lineSeparator());
581
582                 stringBuilder.append("VfModuleModelInvariantUUID:");
583                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID()));
584                 stringBuilder.append(System.lineSeparator());
585
586                 stringBuilder.append("VfModuleModelDescription:");
587                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelDescription()));
588                 stringBuilder.append(System.lineSeparator());
589
590                 stringBuilder.append("Artifacts UUID List:");
591
592                 if (moduleMetaData.getArtifacts() != null) {
593                         stringBuilder.append("{");
594
595                         for (String artifactUUID:moduleMetaData.getArtifacts()) {
596                                 stringBuilder.append(System.lineSeparator());
597                                 stringBuilder.append(testNull(artifactUUID));
598                                 stringBuilder.append(System.lineSeparator());
599                                 stringBuilder.append(",");
600                         }
601                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
602                         stringBuilder.append("}");
603                         stringBuilder.append(System.lineSeparator());
604                 } else {
605                         stringBuilder.append("NULL");
606                 }
607
608                 if (moduleMetaData.getProperties() != null) {
609                         Map<String, String> vfModuleMap = moduleMetaData.getProperties();
610                         stringBuilder.append("Properties List:");
611                         stringBuilder.append("{");
612
613                         for (Map.Entry<String, String> entry : vfModuleMap.entrySet()) {
614                                 stringBuilder.append(System.lineSeparator());
615                                 stringBuilder.append("  ").append(entry.getKey()).append(" : ").append(entry.getValue());
616                         }
617                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
618                         stringBuilder.append("}");
619                         stringBuilder.append(System.lineSeparator());
620                 } else {
621                         stringBuilder.append("NULL");
622                 }
623
624
625                 stringBuilder.append(System.lineSeparator());
626
627                 stringBuilder.append("isBase:");
628                 stringBuilder.append(moduleMetaData.isBase());
629                 stringBuilder.append(System.lineSeparator());
630
631                 return stringBuilder.toString();
632         }
633
634         private static String testNull(Object object) {
635                 if (object == null) {
636                         return "NULL";
637                 } else if (object instanceof Integer) {
638                         return object.toString();
639                 } else if (object instanceof String) {
640                         return (String)object;
641                 } else {
642                         return "Type not recognized";
643                 }
644         }
645
646         private static String dumpASDCResourcesList(INotificationData asdcNotification) {
647                 if (asdcNotification == null || asdcNotification.getResources() == null) {
648                         return null;
649                 }
650
651                 StringBuilder buffer = new StringBuilder();
652                 buffer.append("{");
653
654                 for (IResourceInstance resourceInstanceElem:asdcNotification.getResources()) {
655                         buffer.append(System.lineSeparator());
656                         buffer.append(testNull(dumpASDCResourceInstance(resourceInstanceElem)));
657                         buffer.append(System.lineSeparator());
658                         buffer.append(",");
659                 }
660                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
661                 buffer.append("}");
662                 buffer.append(System.lineSeparator());
663
664                 return buffer.toString();
665
666         }
667
668         private static String dumpASDCResourceInstance(IResourceInstance resourceInstance) {
669
670                 if (resourceInstance == null) {
671                         return null;
672                 }
673
674         return "Resource Instance Info:" + System.lineSeparator() +
675             "ResourceInstanceName:" + testNull(resourceInstance.getResourceInstanceName()) + System.lineSeparator() +
676             "ResourceCustomizationUUID:" + testNull(resourceInstance.getResourceCustomizationUUID()) + System.lineSeparator() +
677             "ResourceInvariantUUID:" + testNull(resourceInstance.getResourceInvariantUUID()) + System.lineSeparator() +
678             "ResourceName:" + testNull(resourceInstance.getResourceName()) + System.lineSeparator() +
679             "ResourceType:" + testNull(resourceInstance.getResourceType()) + System.lineSeparator() +
680             "ResourceUUID:" + testNull(resourceInstance.getResourceUUID()) + System.lineSeparator() +
681             "ResourceVersion:" + testNull(resourceInstance.getResourceVersion()) + System.lineSeparator() +
682             "Category:" + testNull(resourceInstance.getCategory()) + System.lineSeparator() +
683             "SubCategory:" + testNull(resourceInstance.getSubcategory()) + System.lineSeparator() +
684             "Resource Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(resourceInstance.getArtifacts())) + System.lineSeparator();
685         }
686
687
688         private static String dumpArtifactInfoList(List<IArtifactInfo> artifactsList) {
689
690                 if (artifactsList == null || artifactsList.isEmpty()) {
691                         return null;
692                 }
693
694                 StringBuilder buffer = new StringBuilder();
695                 buffer.append("{");
696                 for (IArtifactInfo artifactInfoElem:artifactsList) {
697                         buffer.append(System.lineSeparator());
698                         buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
699                         buffer.append(System.lineSeparator());
700                         buffer.append(",");
701
702                 }
703                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
704                 buffer.append("}");
705                 buffer.append(System.lineSeparator());
706
707                 return buffer.toString();
708         }
709
710         private static String dumpASDCArtifactInfo(IArtifactInfo artifactInfo) {
711
712                 if (artifactInfo == null) {
713                         return null;
714                 }
715
716                 StringBuilder buffer = new StringBuilder("Service Artifacts Info:");
717                 buffer.append(System.lineSeparator());
718
719                 buffer.append("ArtifactName:");
720                 buffer.append(testNull(artifactInfo.getArtifactName()));
721                 buffer.append(System.lineSeparator());
722
723                 buffer.append("ArtifactVersion:");
724                 buffer.append(testNull(artifactInfo.getArtifactVersion()));
725                 buffer.append(System.lineSeparator());
726
727                 buffer.append("ArtifactType:");
728                 buffer.append(testNull(artifactInfo.getArtifactType()));
729                 buffer.append(System.lineSeparator());
730
731                 buffer.append("ArtifactDescription:");
732                 buffer.append(testNull(artifactInfo.getArtifactDescription()));
733                 buffer.append(System.lineSeparator());
734
735                 buffer.append("ArtifactTimeout:");
736                 buffer.append(testNull(artifactInfo.getArtifactTimeout()));
737                 buffer.append(System.lineSeparator());
738
739                 buffer.append("ArtifactURL:");
740                 buffer.append(testNull(artifactInfo.getArtifactURL()));
741                 buffer.append(System.lineSeparator());
742
743                 buffer.append("ArtifactUUID:");
744                 buffer.append(testNull(artifactInfo.getArtifactUUID()));
745                 buffer.append(System.lineSeparator());
746
747                 buffer.append("ArtifactChecksum:");
748                 buffer.append(testNull(artifactInfo.getArtifactChecksum()));
749                 buffer.append(System.lineSeparator());
750
751                 buffer.append("GeneratedArtifact:");
752                 buffer.append("{");
753                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfo.getGeneratedArtifact())));
754                 buffer.append(System.lineSeparator());
755                 buffer.append("}");
756                 buffer.append(System.lineSeparator());
757
758                 buffer.append("RelatedArtifacts:");
759
760
761                 if (artifactInfo.getRelatedArtifacts() != null) {
762                         buffer.append("{");
763                         buffer.append(System.lineSeparator());
764                         for (IArtifactInfo artifactInfoElem:artifactInfo.getRelatedArtifacts()) {
765
766                                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
767                                 buffer.append(System.lineSeparator());
768                                 buffer.append(",");
769
770                         }
771                         buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
772                         buffer.append("}");
773                         buffer.append(System.lineSeparator());
774                 } else {
775                         buffer.append("NULL");
776                 }
777
778                 buffer.append(System.lineSeparator());
779
780                 return buffer.toString();
781         }
782 }