54977104fff9d7d035c311eec692ed8c02391836
[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(System.lineSeparator());
213                 buffer.append("VNF Properties:");
214                 buffer.append(System.lineSeparator());
215                 
216                 buffer.append("Model Name:");
217                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
218                 buffer.append(System.lineSeparator());
219                 buffer.append("Model UUID:");
220                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
221                 buffer.append(System.lineSeparator());
222                 buffer.append("Description:");
223                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
224                 buffer.append(System.lineSeparator());
225                 buffer.append("Version:");
226                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
227                 buffer.append(System.lineSeparator());
228                 buffer.append("Type:");
229                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
230                 buffer.append(System.lineSeparator());
231                 buffer.append("InvariantUuid:");
232                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
233                 buffer.append(System.lineSeparator());
234                 buffer.append("Max Instances:");
235                 buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
236                 buffer.append(System.lineSeparator());
237                 buffer.append("Min Instances:");
238                 buffer.append(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES));
239                 buffer.append(System.lineSeparator());
240                 
241                 buffer.append(System.lineSeparator());
242                 buffer.append("VNF Customization Properties:");
243                 buffer.append(System.lineSeparator());
244                 
245                 buffer.append("Customization UUID:");
246                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
247                 buffer.append(System.lineSeparator());
248                 buffer.append("NFFunction:");
249                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
250                 buffer.append(System.lineSeparator());
251                 buffer.append("NFCode:");
252                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "nf_naming_code"));
253                 buffer.append(System.lineSeparator());
254                 buffer.append("NFRole:");
255                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
256                 buffer.append(System.lineSeparator());
257                 buffer.append("NFType:");
258                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
259                 buffer.append(System.lineSeparator());
260                 buffer.append("MultiStageDesign:");
261                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vfNodeTemplate, "multi_stage_design"));
262                 buffer.append(System.lineSeparator());
263                                 
264                 List<Group> groupList = toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(vfNodeTemplate, "org.openecomp.groups.VfcInstanceGroup");
265                 
266                 if(groupList != null){
267                         for (Group group : groupList) {         
268                                 Metadata instanceMetadata = group.getMetadata();
269                                 
270                         buffer.append(System.lineSeparator());
271                         buffer.append("VNFC Instance Group Properties:");
272                         buffer.append(System.lineSeparator());
273                                         
274                                 buffer.append("Model Name:");
275                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
276                         buffer.append(System.lineSeparator());
277                         buffer.append("Version:");
278                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
279                         buffer.append(System.lineSeparator());
280                         buffer.append("Type:");
281                         buffer.append(vfNodeTemplate.getType());
282                         buffer.append(System.lineSeparator());
283                         buffer.append("InvariantUuid:");
284                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
285                         buffer.append(System.lineSeparator());                                  
286                         }
287                         
288                 }
289                 
290                 
291                 
292                 buffer.append(System.lineSeparator());
293                 buffer.append("VF Module Properties:");
294                 buffer.append(System.lineSeparator());
295                 List<Group> vfGroups = toscaResourceStructure.getSdcCsarHelper().getVfModulesByVf(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
296                 
297                 for(Group group : vfGroups){
298                         
299                         Metadata vfMetadata = group.getMetadata();
300                         
301                         buffer.append("ModelInvariantUuid:");
302                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
303                         buffer.append(System.lineSeparator());
304                         buffer.append("ModelName:");
305                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
306                         buffer.append(System.lineSeparator()); 
307                         buffer.append("ModelUuid:");
308                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
309                         buffer.append(System.lineSeparator());
310                         buffer.append("ModelVersion:");
311                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
312                         buffer.append(System.lineSeparator()); 
313                         buffer.append("Description:");
314                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
315                         buffer.append(System.lineSeparator());     
316                 }
317   
318         }
319         
320                 
321                 List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
322                                         
323         if(nodeTemplatesVLList != null){
324                 
325                 buffer.append(System.lineSeparator());
326                 buffer.append("NETWORK Level Properties:");
327                 buffer.append(System.lineSeparator());
328                 
329                 for(NodeTemplate vlNode : nodeTemplatesVLList){
330                         
331                         buffer.append("Model Name:");
332                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
333                         buffer.append(System.lineSeparator()); 
334                         buffer.append("Model InvariantUuid:");
335                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
336                         buffer.append(System.lineSeparator());   
337                         buffer.append("Model UUID:");
338                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
339                         buffer.append(System.lineSeparator()); 
340                         buffer.append("Model Version:");
341                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
342                         buffer.append(System.lineSeparator());   
343                         buffer.append("AIC Max Version:");
344                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
345                         buffer.append(System.lineSeparator()); 
346                         buffer.append("AIC Min Version:");
347                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
348                         buffer.append(System.lineSeparator());  
349                         buffer.append("Tosca Node Type:");
350                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
351                         buffer.append(System.lineSeparator());  
352                         buffer.append("Description:");
353                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
354                         buffer.append(System.lineSeparator());  
355                 
356                 }
357                         
358         }
359         
360                 buffer.append(System.lineSeparator());
361                 buffer.append("Network Collection Resource Properties:");
362                 buffer.append(System.lineSeparator());
363                 
364         List<NodeTemplate> networkCollectionList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CR);
365                 
366                 if (networkCollectionList != null) {
367                         for (NodeTemplate crNode : networkCollectionList) {     
368                                 buffer.append("Model Name:");
369                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
370                         buffer.append(System.lineSeparator());
371                         buffer.append("Model UUID:");
372                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));              
373                         buffer.append(System.lineSeparator());
374                         buffer.append("InvariantUuid:");
375                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
376                         buffer.append(System.lineSeparator());
377                         buffer.append("Description:");
378                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
379                         buffer.append(System.lineSeparator());
380                         buffer.append("Version:");
381                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));   
382                         buffer.append(System.lineSeparator());
383                         buffer.append("Tosca Node Type:");
384                         buffer.append(crNode.getType());
385                         buffer.append(System.lineSeparator());
386                         buffer.append("CR Function:");
387                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_function"));       
388                         buffer.append(System.lineSeparator());
389                         buffer.append("CR Role:");
390                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_role"));   
391                         buffer.append(System.lineSeparator());
392                         buffer.append("CR Type:");
393                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_type"));   
394                         buffer.append(System.lineSeparator());
395                         
396                         List<NodeTemplate> vlNodeList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(crNode, SdcTypes.VL);
397                                                 
398                         for(NodeTemplate vlNodeTemplate : vlNodeList){
399                                 
400                                 Metadata vlMetadata = vlNodeTemplate.getMetaData();
401                                 
402                                 buffer.append(System.lineSeparator());
403                                 buffer.append("Network CR VL Properties:");
404                                 buffer.append(System.lineSeparator());
405                                 
406                                 buffer.append("Model Name:");
407                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
408                         buffer.append(System.lineSeparator());
409                         buffer.append("Model UUID:");
410                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));                
411                         buffer.append(System.lineSeparator());
412                         buffer.append("InvariantUuid:");
413                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
414                         buffer.append(System.lineSeparator());
415                         buffer.append("Version:");
416                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));     
417                         buffer.append(System.lineSeparator());
418                         buffer.append("AIC Max Version:");
419                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
420                         buffer.append(System.lineSeparator());
421                         buffer.append("Description:");
422                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); 
423                         buffer.append(System.lineSeparator());
424                         buffer.append("Tosca Node Type:");
425                         buffer.append(vlNodeTemplate.getType());            
426                         buffer.append(System.lineSeparator());  
427                                 
428                         }
429                         
430                         List<Group> groupList = toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(crNode, "org.openecomp.groups.NetworkCollection");    
431                         
432                         if(groupList != null){
433                                 for (Group group : groupList) { 
434                                         Metadata instanceMetadata = group.getMetadata();
435                                         buffer.append(System.lineSeparator());
436                                         buffer.append("Network Instance Group Properties:");
437                                         buffer.append(System.lineSeparator());
438                                         
439                                         buffer.append("Model Name:");
440                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
441                                 buffer.append(System.lineSeparator());
442                                 buffer.append("Model UUID:");
443                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
444                                 buffer.append(System.lineSeparator());
445                                 buffer.append("InvariantUuid:");
446                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
447                                 buffer.append(System.lineSeparator());
448                                 buffer.append("Version:");
449                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));       
450                                 buffer.append(System.lineSeparator());  
451                                 }
452                         
453                         }
454                         
455                                 buffer.append(System.lineSeparator());
456                                 buffer.append("Network Collection Customization Properties:");
457                                 buffer.append(System.lineSeparator());
458                                 
459                         buffer.append("Model Customization UUID:");
460                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
461                         buffer.append(System.lineSeparator());
462                         buffer.append("Model Instance Name:");
463                         buffer.append(crNode.getName());                
464                         buffer.append(System.lineSeparator());
465                         buffer.append("Network Scope:");
466                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
467                         buffer.append(System.lineSeparator());
468                         buffer.append("Network Role:");
469                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
470                         buffer.append(System.lineSeparator());
471                         buffer.append("Network Type:");
472                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
473                         buffer.append(System.lineSeparator());
474                         buffer.append("Network Technology:");
475                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
476                         buffer.append(System.lineSeparator());
477         
478                         }
479                 }
480         
481         List<NodeTemplate> allottedResourceList = toscaResourceStructure.getSdcCsarHelper().getAllottedResources();
482         
483                 if(allottedResourceList != null){
484                         
485                         buffer.append(System.lineSeparator());
486                         buffer.append("Allotted Resource Properties:");
487                         buffer.append(System.lineSeparator());
488                 
489                         for(NodeTemplate allottedNode : allottedResourceList){
490                                 
491                                 buffer.append("Model Name:");
492                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
493                                 buffer.append(System.lineSeparator());
494                                 buffer.append("Model Name:");
495                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
496                                 buffer.append(System.lineSeparator()); 
497                                 buffer.append("Model InvariantUuid:");
498                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
499                                 buffer.append(System.lineSeparator());  
500                                 buffer.append("Model Version:");
501                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
502                                 buffer.append(System.lineSeparator()); 
503                                 buffer.append("Model UUID:");
504                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
505                                 buffer.append(System.lineSeparator());
506                                 buffer.append("Model Subcategory:");
507                                 buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
508                                         buffer.append(System.lineSeparator());
509                                         buffer.append("Model Description:");
510                                         buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
511                                         buffer.append(System.lineSeparator());
512                                 
513                                 
514                                 buffer.append("Allotted Resource Customization Properties:");
515                                 buffer.append(System.lineSeparator());
516                         
517                                 buffer.append("Model Cutomization UUID:");
518                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
519                         buffer.append(System.lineSeparator());
520                         buffer.append("NFFunction:");
521                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
522                         buffer.append(System.lineSeparator());
523                         buffer.append("NFCode:");
524                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, "nf_naming_code"));
525                         buffer.append(System.lineSeparator());
526                         buffer.append("NFRole:");
527                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFROLE));
528                         buffer.append(System.lineSeparator());
529                         buffer.append("NFType:");
530                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
531                         buffer.append(System.lineSeparator());      
532                                 
533                                 
534                         }
535                 }
536                 
537                 
538                 return buffer.toString();
539         }
540         
541         public static String dumpVfModuleMetaDataList(List<IVfModuleData> moduleMetaDataList) {
542                 if (moduleMetaDataList == null ) {
543                         return null;
544                 }
545
546                 StringBuilder buffer = new StringBuilder("VfModuleMetaData List:");
547                 buffer.append(System.lineSeparator());
548
549                 buffer.append("{");
550
551                 for (IVfModuleData moduleMetaData:moduleMetaDataList) {
552                         buffer.append(System.lineSeparator());
553                         buffer.append(testNull(dumpVfModuleMetaData(moduleMetaData)));
554                         buffer.append(System.lineSeparator());
555                         buffer.append(",");
556
557                 }
558                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
559                 buffer.append("}");
560                 buffer.append(System.lineSeparator());
561
562                 return buffer.toString();
563         }
564
565         private static String dumpVfModuleMetaData(IVfModuleData moduleMetaData) {
566
567                 if (moduleMetaData == null ) {
568                         return "NULL";
569                 }
570
571                 StringBuilder stringBuilder = new StringBuilder("VfModuleMetaData:");
572                 stringBuilder.append(System.lineSeparator());
573
574                 stringBuilder.append("VfModuleModelName:");
575                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelName()));
576                 stringBuilder.append(System.lineSeparator());
577
578                 stringBuilder.append("VfModuleModelVersion:");
579                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelVersion()));
580                 stringBuilder.append(System.lineSeparator());
581
582                 stringBuilder.append("VfModuleModelUUID:");
583                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelUUID()));
584                 stringBuilder.append(System.lineSeparator());
585
586                 stringBuilder.append("VfModuleModelInvariantUUID:");
587                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID()));
588                 stringBuilder.append(System.lineSeparator());
589
590                 stringBuilder.append("VfModuleModelDescription:");
591                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelDescription()));
592                 stringBuilder.append(System.lineSeparator());
593
594                 stringBuilder.append("Artifacts UUID List:");
595
596                 if (moduleMetaData.getArtifacts() != null) {
597                         stringBuilder.append("{");
598
599                         for (String artifactUUID:moduleMetaData.getArtifacts()) {
600                                 stringBuilder.append(System.lineSeparator());
601                                 stringBuilder.append(testNull(artifactUUID));
602                                 stringBuilder.append(System.lineSeparator());
603                                 stringBuilder.append(",");
604                         }
605                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
606                         stringBuilder.append("}");
607                         stringBuilder.append(System.lineSeparator());
608                 } else {
609                         stringBuilder.append("NULL");
610                 }
611
612                 if (moduleMetaData.getProperties() != null) {
613                         Map<String, String> vfModuleMap = moduleMetaData.getProperties();
614                         stringBuilder.append("Properties List:");
615                         stringBuilder.append("{");
616
617                         for (Map.Entry<String, String> entry : vfModuleMap.entrySet()) {
618                                 stringBuilder.append(System.lineSeparator());
619                                 stringBuilder.append("  ").append(entry.getKey()).append(" : ").append(entry.getValue());
620                         }
621                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
622                         stringBuilder.append("}");
623                         stringBuilder.append(System.lineSeparator());
624                 } else {
625                         stringBuilder.append("NULL");
626                 }
627
628
629                 stringBuilder.append(System.lineSeparator());
630
631                 stringBuilder.append("isBase:");
632                 stringBuilder.append(moduleMetaData.isBase());
633                 stringBuilder.append(System.lineSeparator());
634
635                 return stringBuilder.toString();
636         }
637
638         private static String testNull(Object object) {
639                 if (object == null) {
640                         return "NULL";
641                 } else if (object instanceof Integer) {
642                         return object.toString();
643                 } else if (object instanceof String) {
644                         return (String)object;
645                 } else {
646                         return "Type not recognized";
647                 }
648         }
649
650         private static String dumpASDCResourcesList(INotificationData asdcNotification) {
651                 if (asdcNotification == null || asdcNotification.getResources() == null) {
652                         return null;
653                 }
654
655                 StringBuilder buffer = new StringBuilder();
656                 buffer.append("{");
657
658                 for (IResourceInstance resourceInstanceElem:asdcNotification.getResources()) {
659                         buffer.append(System.lineSeparator());
660                         buffer.append(testNull(dumpASDCResourceInstance(resourceInstanceElem)));
661                         buffer.append(System.lineSeparator());
662                         buffer.append(",");
663                 }
664                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
665                 buffer.append("}");
666                 buffer.append(System.lineSeparator());
667
668                 return buffer.toString();
669
670         }
671
672         private static String dumpASDCResourceInstance(IResourceInstance resourceInstance) {
673
674                 if (resourceInstance == null) {
675                         return null;
676                 }
677
678         return "Resource Instance Info:" + System.lineSeparator() +
679             "ResourceInstanceName:" + testNull(resourceInstance.getResourceInstanceName()) + System.lineSeparator() +
680             "ResourceCustomizationUUID:" + testNull(resourceInstance.getResourceCustomizationUUID()) + System.lineSeparator() +
681             "ResourceInvariantUUID:" + testNull(resourceInstance.getResourceInvariantUUID()) + System.lineSeparator() +
682             "ResourceName:" + testNull(resourceInstance.getResourceName()) + System.lineSeparator() +
683             "ResourceType:" + testNull(resourceInstance.getResourceType()) + System.lineSeparator() +
684             "ResourceUUID:" + testNull(resourceInstance.getResourceUUID()) + System.lineSeparator() +
685             "ResourceVersion:" + testNull(resourceInstance.getResourceVersion()) + System.lineSeparator() +
686             "Category:" + testNull(resourceInstance.getCategory()) + System.lineSeparator() +
687             "SubCategory:" + testNull(resourceInstance.getSubcategory()) + System.lineSeparator() +
688             "Resource Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(resourceInstance.getArtifacts())) + System.lineSeparator();
689         }
690
691
692         private static String dumpArtifactInfoList(List<IArtifactInfo> artifactsList) {
693
694                 if (artifactsList == null || artifactsList.isEmpty()) {
695                         return null;
696                 }
697
698                 StringBuilder buffer = new StringBuilder();
699                 buffer.append("{");
700                 for (IArtifactInfo artifactInfoElem:artifactsList) {
701                         buffer.append(System.lineSeparator());
702                         buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
703                         buffer.append(System.lineSeparator());
704                         buffer.append(",");
705
706                 }
707                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
708                 buffer.append("}");
709                 buffer.append(System.lineSeparator());
710
711                 return buffer.toString();
712         }
713
714         private static String dumpASDCArtifactInfo(IArtifactInfo artifactInfo) {
715
716                 if (artifactInfo == null) {
717                         return null;
718                 }
719
720                 StringBuilder buffer = new StringBuilder("Service Artifacts Info:");
721                 buffer.append(System.lineSeparator());
722
723                 buffer.append("ArtifactName:");
724                 buffer.append(testNull(artifactInfo.getArtifactName()));
725                 buffer.append(System.lineSeparator());
726
727                 buffer.append("ArtifactVersion:");
728                 buffer.append(testNull(artifactInfo.getArtifactVersion()));
729                 buffer.append(System.lineSeparator());
730
731                 buffer.append("ArtifactType:");
732                 buffer.append(testNull(artifactInfo.getArtifactType()));
733                 buffer.append(System.lineSeparator());
734
735                 buffer.append("ArtifactDescription:");
736                 buffer.append(testNull(artifactInfo.getArtifactDescription()));
737                 buffer.append(System.lineSeparator());
738
739                 buffer.append("ArtifactTimeout:");
740                 buffer.append(testNull(artifactInfo.getArtifactTimeout()));
741                 buffer.append(System.lineSeparator());
742
743                 buffer.append("ArtifactURL:");
744                 buffer.append(testNull(artifactInfo.getArtifactURL()));
745                 buffer.append(System.lineSeparator());
746
747                 buffer.append("ArtifactUUID:");
748                 buffer.append(testNull(artifactInfo.getArtifactUUID()));
749                 buffer.append(System.lineSeparator());
750
751                 buffer.append("ArtifactChecksum:");
752                 buffer.append(testNull(artifactInfo.getArtifactChecksum()));
753                 buffer.append(System.lineSeparator());
754
755                 buffer.append("GeneratedArtifact:");
756                 buffer.append("{");
757                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfo.getGeneratedArtifact())));
758                 buffer.append(System.lineSeparator());
759                 buffer.append("}");
760                 buffer.append(System.lineSeparator());
761
762                 buffer.append("RelatedArtifacts:");
763
764
765                 if (artifactInfo.getRelatedArtifacts() != null) {
766                         buffer.append("{");
767                         buffer.append(System.lineSeparator());
768                         for (IArtifactInfo artifactInfoElem:artifactInfo.getRelatedArtifacts()) {
769
770                                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
771                                 buffer.append(System.lineSeparator());
772                                 buffer.append(",");
773
774                         }
775                         buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
776                         buffer.append("}");
777                         buffer.append(System.lineSeparator());
778                 } else {
779                         buffer.append("NULL");
780                 }
781
782                 buffer.append(System.lineSeparator());
783
784                 return buffer.toString();
785         }
786 }