Corrected hibernate for cfvc customization table
[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.enums.SdcTypes;
32 import org.onap.sdc.tosca.parser.impl.SdcPropertyNames;
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 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
39
40 public class ASDCNotificationLogging {
41
42         public static String dumpASDCNotification(INotificationData asdcNotification) {
43
44                 if (asdcNotification == null) {
45                         return "NULL";
46                 }
47         return "ASDC Notification:" + System.lineSeparator() +
48             "DistributionID:" + testNull(asdcNotification.getDistributionID()) + System.lineSeparator() +
49             "ServiceName:" + testNull(asdcNotification.getServiceName()) + System.lineSeparator() +
50             "ServiceVersion:" + testNull(asdcNotification.getServiceVersion()) + System.lineSeparator() +
51             "ServiceUUID:" + testNull(asdcNotification.getServiceUUID()) + System.lineSeparator() +
52             "ServiceInvariantUUID:" + testNull(asdcNotification.getServiceInvariantUUID()) + System.lineSeparator() +
53             "ServiceDescription:" + testNull(asdcNotification.getServiceDescription()) + System.lineSeparator() +
54             "Service Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(asdcNotification.getServiceArtifacts())) + System.lineSeparator() +
55             "Resource Instances List:" + System.lineSeparator() + testNull(dumpASDCResourcesList(asdcNotification)) + System.lineSeparator();
56         }
57
58         public static String dumpCSARNotification(INotificationData asdcNotification, ToscaResourceStructure toscaResourceStructure) {
59                 
60                 if (asdcNotification == null) {
61                         return "NULL";
62                 }
63                 
64
65                 StringBuilder buffer = new StringBuilder("CSAR Notification:");
66                 buffer.append(System.lineSeparator());
67                 buffer.append(System.lineSeparator());
68                 
69                 
70                 ISdcCsarHelper csarHelper = toscaResourceStructure.getSdcCsarHelper();
71
72         
73                 buffer.append("Service Level Properties:");
74                 buffer.append(System.lineSeparator());
75                 buffer.append("Name:");
76                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
77                 buffer.append(System.lineSeparator());
78                 buffer.append("Description:");
79                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
80                 buffer.append(System.lineSeparator());
81                 buffer.append("Model UUID:");
82                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
83                 buffer.append(System.lineSeparator());
84                 buffer.append("Model Version:");
85                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
86                 buffer.append(System.lineSeparator());
87                 buffer.append("Model InvariantUuid:");
88                 buffer.append(testNull(csarHelper.getServiceMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
89                 buffer.append(System.lineSeparator());
90                 buffer.append("Service Type:");
91                 buffer.append(csarHelper.getServiceMetadata().getValue("serviceType"));
92                 buffer.append(System.lineSeparator());
93                 buffer.append("Service Role:");
94                 buffer.append(csarHelper.getServiceMetadata().getValue("serviceRole"));
95                 buffer.append(System.lineSeparator());
96                 buffer.append("WorkLoad Context:");
97                 buffer.append(asdcNotification.getWorkloadContext());
98                 buffer.append(System.lineSeparator());
99                 buffer.append("Environment Context:");
100                 buffer.append(csarHelper.getServiceMetadata().getValue("environmentContext"));
101                 buffer.append(System.lineSeparator());
102                 
103                 
104                 List<NodeTemplate> serviceProxyResourceList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.SERVICE_PROXY);
105                 
106                 if(serviceProxyResourceList != null){
107                         
108                 for (NodeTemplate serviceProxyNodeTemplate :  serviceProxyResourceList) {
109                         
110                         buffer.append(System.lineSeparator());
111                         buffer.append(System.lineSeparator());
112                         buffer.append("Service Proxy Properties:");
113                         buffer.append(System.lineSeparator());
114                         buffer.append("Model Name:");
115                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
116                 buffer.append(System.lineSeparator());
117                 buffer.append("Model UUID:");
118                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));            
119                 buffer.append(System.lineSeparator());
120                 buffer.append("Description:");
121                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
122                 buffer.append(System.lineSeparator());
123                 buffer.append("Version:");
124                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
125                 buffer.append(System.lineSeparator());
126                 buffer.append("InvariantUuid:");
127                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
128                 buffer.append(System.lineSeparator());
129                 
130                 buffer.append(System.lineSeparator());
131                 buffer.append(System.lineSeparator());
132                 buffer.append("Service Proxy Customization Properties:");
133                 buffer.append(System.lineSeparator());
134                 
135                 buffer.append("Model Customization UUID:");
136                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
137                 buffer.append(System.lineSeparator());
138                 buffer.append("Model Instance Name:");
139                 buffer.append(serviceProxyNodeTemplate.getName());              
140                 buffer.append(System.lineSeparator());
141                 buffer.append("Tosca Node Type:");
142                 buffer.append(serviceProxyNodeTemplate.getType());
143                 buffer.append(System.lineSeparator());
144                 buffer.append("Version:");
145                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
146                 buffer.append(System.lineSeparator());
147                 buffer.append("InvariantUuid:");
148                 buffer.append(serviceProxyNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
149                 buffer.append(System.lineSeparator());
150                         
151                 }
152                 }
153                 
154                 List<NodeTemplate> configurationNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CONFIGURATION);
155                 
156                 if(configurationNodeTemplatesList != null){
157                 for (NodeTemplate configNodeTemplate :  configurationNodeTemplatesList) {
158                         
159                         buffer.append(System.lineSeparator());
160                         buffer.append(System.lineSeparator());
161                         buffer.append("Configuration Properties:");
162                         buffer.append(System.lineSeparator());
163                         
164                         buffer.append("Model Name:");
165                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
166                 buffer.append(System.lineSeparator());
167                 buffer.append("Model UUID:");
168                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
169                 buffer.append(System.lineSeparator());
170                 buffer.append("Description:");
171                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
172                 buffer.append(System.lineSeparator());
173                 buffer.append("Version:");
174                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
175                 buffer.append(System.lineSeparator());
176                 buffer.append("InvariantUuid:");
177                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
178                 buffer.append(System.lineSeparator());
179                 buffer.append("Tosca Node Type:");
180                 buffer.append(configNodeTemplate.getType());
181                 
182                 buffer.append(System.lineSeparator());
183                 buffer.append(System.lineSeparator());
184                 buffer.append("Configuration Customization Properties:");
185                 buffer.append(System.lineSeparator());
186                 
187                 buffer.append("Model Customization UUID:");
188                 buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
189                 buffer.append(System.lineSeparator());
190                 buffer.append("Model Instance Name:");
191                 buffer.append(configNodeTemplate.getName());            
192                 buffer.append(System.lineSeparator());
193                 buffer.append("NFFunction:");
194                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
195                 buffer.append(System.lineSeparator());
196                 buffer.append("NFRole:");
197                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
198                 buffer.append(System.lineSeparator());
199                 buffer.append("NFType:");
200                 buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
201                 buffer.append(System.lineSeparator());
202                         
203                 }
204                 }
205                 
206         List<NodeTemplate> vfNodeTemplatesList = toscaResourceStructure.getSdcCsarHelper().getServiceVfList();
207         for (NodeTemplate vfNodeTemplate :  vfNodeTemplatesList) {
208                   
209                 buffer.append(System.lineSeparator());
210                 buffer.append(System.lineSeparator());
211                 buffer.append("VNF Properties:");
212                 buffer.append(System.lineSeparator());          
213                 buffer.append("Model Name:");
214                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
215                 buffer.append(System.lineSeparator());
216                 buffer.append("Model UUID:");
217                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
218                 buffer.append(System.lineSeparator());
219                 buffer.append("Description:");
220                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
221                 buffer.append(System.lineSeparator());
222                 buffer.append("Version:");
223                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
224                 buffer.append(System.lineSeparator());
225                 buffer.append("Type:");
226                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
227                 buffer.append(System.lineSeparator());
228                 buffer.append("Category:");
229                 buffer.append(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY)));
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(System.lineSeparator());
272                         buffer.append("VNFC Instance Group Properties:");
273                         buffer.append(System.lineSeparator());
274                                         
275                                 buffer.append("Model Name:");
276                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
277                         buffer.append(System.lineSeparator());
278                         buffer.append("Version:");
279                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
280                         buffer.append(System.lineSeparator());
281                         buffer.append("Type:");
282                         buffer.append(vfNodeTemplate.getType());
283                         buffer.append(System.lineSeparator());
284                         buffer.append("InvariantUuid:");
285                         buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
286                         buffer.append(System.lineSeparator());                          
287                         }
288                         
289                 }
290                 
291                 
292                 List<Group> vfGroups = toscaResourceStructure.getSdcCsarHelper().getVfModulesByVf(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
293                 
294                 for(Group group : vfGroups){
295                         
296                         Metadata vfMetadata = group.getMetadata();
297                         
298                         buffer.append(System.lineSeparator());
299                         buffer.append(System.lineSeparator());
300                         buffer.append("VF Module Properties:");
301                         buffer.append(System.lineSeparator());
302                         buffer.append("ModelInvariantUuid:");
303                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)));
304                         buffer.append(System.lineSeparator());
305                         buffer.append("ModelName:");
306                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELNAME)));
307                         buffer.append(System.lineSeparator()); 
308                         buffer.append("ModelUuid:");
309                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID)));
310                         buffer.append(System.lineSeparator());
311                         buffer.append("ModelVersion:");
312                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION)));
313                         buffer.append(System.lineSeparator()); 
314                         buffer.append("Description:");
315                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
316                         buffer.append(System.lineSeparator());
317                         
318                         List<NodeTemplate> groupMembers = toscaResourceStructure.getSdcCsarHelper().getMembersOfVfModule(vfNodeTemplate, group); 
319                         
320                         for(NodeTemplate node : groupMembers){  
321                         buffer.append("Member Name:");
322                         buffer.append(testNull(node.getName()));
323                         buffer.append(System.lineSeparator());
324                         }
325                         
326                         buffer.append(System.lineSeparator());
327                         buffer.append("VF Module Customization Properties:");
328                         buffer.append(System.lineSeparator());
329                         buffer.append("Model Customization UUID:");
330                         buffer.append(testNull(toscaResourceStructure.getSdcCsarHelper().getMetadataPropertyValue(vfMetadata, SdcPropertyNames.PROPERTY_NAME_VFMODULECUSTOMIZATIONUUID)));
331                         buffer.append(System.lineSeparator());
332                         
333                 }
334                 
335                 List<NodeTemplate> vfConfigList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(vfNodeTemplate, SdcTypes.CONFIGURATION);
336                         
337                 if(vfConfigList != null){
338                         for (NodeTemplate configNodeTemplate :  vfConfigList) {
339                                 
340                                 buffer.append(System.lineSeparator());
341                                 buffer.append(System.lineSeparator());
342                                 buffer.append("Fabric Configuration Properties:");
343                                 buffer.append(System.lineSeparator());
344                                 
345                                 buffer.append("Model Name:");
346                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
347                         buffer.append(System.lineSeparator());
348                         buffer.append("Model UUID:");
349                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
350                         buffer.append(System.lineSeparator());
351                         buffer.append("Description:");
352                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
353                         buffer.append(System.lineSeparator());
354                         buffer.append("Version:");
355                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));
356                         buffer.append(System.lineSeparator());
357                         buffer.append("InvariantUuid:");
358                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
359                         buffer.append(System.lineSeparator());
360                         buffer.append("Tosca Node Type:");
361                         buffer.append(configNodeTemplate.getType());
362                         
363                         buffer.append(System.lineSeparator());
364                         buffer.append(System.lineSeparator());
365                         buffer.append("Fabric Configuration Customization Properties:");
366                         buffer.append(System.lineSeparator());
367                         
368                         buffer.append("Model Customization UUID:");
369                         buffer.append(configNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
370                         buffer.append(System.lineSeparator());
371                         buffer.append("Model Instance Name:");
372                         buffer.append(configNodeTemplate.getName());            
373                         buffer.append(System.lineSeparator());
374                         buffer.append("NFFunction:");
375                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
376                         buffer.append(System.lineSeparator());
377                         buffer.append("NFRole:");
378                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFROLE));
379                         buffer.append(System.lineSeparator());
380                         buffer.append("NFType:");
381                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(configNodeTemplate, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
382                         buffer.append(System.lineSeparator());
383                                 
384                         }
385                 }
386                 
387                 List<NodeTemplate> cvfcList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(vfNodeTemplate, SdcTypes.CVFC);
388                 
389                 for(NodeTemplate cvfcTemplate : cvfcList) {
390                         
391                         buffer.append(System.lineSeparator());
392                         buffer.append(System.lineSeparator());
393                         buffer.append("CVNFC Properties:");
394                         buffer.append(System.lineSeparator());
395                         buffer.append("ModelCustomizationUuid:");
396                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
397                         buffer.append(System.lineSeparator());
398                         buffer.append("ModelInvariantUuid:");
399                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
400                         buffer.append(System.lineSeparator());
401                         buffer.append("ModelName:");
402                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
403                         buffer.append(System.lineSeparator()); 
404                         buffer.append("ModelUuid:");
405                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
406                         buffer.append(System.lineSeparator());
407                         buffer.append("ModelVersion:");
408                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
409                         buffer.append(System.lineSeparator()); 
410                         buffer.append("Description:");
411                         buffer.append(testNull(cvfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
412                         buffer.append(System.lineSeparator()); 
413                         buffer.append("Template Name:");
414                         buffer.append(testNull(cvfcTemplate.getName()));
415                         buffer.append(System.lineSeparator()); 
416                         
417                         
418                         List<NodeTemplate> vfcList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(cvfcTemplate, SdcTypes.VFC);
419                         
420                         for(NodeTemplate vfcTemplate : vfcList) {
421                                 buffer.append(System.lineSeparator());
422                         buffer.append(System.lineSeparator());
423                         buffer.append("VNFC Properties:");
424                         buffer.append(System.lineSeparator());
425                         buffer.append("ModelCustomizationUuid:");
426                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
427                         buffer.append(System.lineSeparator());
428                                 buffer.append("ModelInvariantUuid:");
429                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
430                         buffer.append(System.lineSeparator());
431                         buffer.append("ModelName:");
432                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
433                         buffer.append(System.lineSeparator()); 
434                         buffer.append("ModelUuid:");
435                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
436                         buffer.append(System.lineSeparator());
437                         buffer.append("ModelVersion:");
438                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
439                         buffer.append(System.lineSeparator()); 
440                         buffer.append("Description:");
441                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
442                         buffer.append(System.lineSeparator()); 
443                         buffer.append("Sub Category:");
444                         buffer.append(testNull(vfcTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY)));
445                         buffer.append(System.lineSeparator());
446                                 
447                         }               
448                         
449                 }
450                 
451         }               
452                         
453         
454                 
455                 List<NodeTemplate> nodeTemplatesVLList = toscaResourceStructure.getSdcCsarHelper().getServiceVlList();
456                                         
457         if(nodeTemplatesVLList != null){
458                                 
459                 for(NodeTemplate vlNode : nodeTemplatesVLList){
460                         
461                         buffer.append(System.lineSeparator());
462                         buffer.append(System.lineSeparator());
463                         buffer.append("NETWORK Level Properties:");
464                         buffer.append(System.lineSeparator());
465                         buffer.append("Model Name:");
466                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
467                         buffer.append(System.lineSeparator()); 
468                         buffer.append("Model InvariantUuid:");
469                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
470                         buffer.append(System.lineSeparator());   
471                         buffer.append("Model UUID:");
472                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
473                         buffer.append(System.lineSeparator()); 
474                         buffer.append("Model Version:");
475                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
476                         buffer.append(System.lineSeparator());   
477                         buffer.append("AIC Max Version:");
478                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
479                         buffer.append(System.lineSeparator()); 
480                         buffer.append("AIC Min Version:");
481                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
482                         buffer.append(System.lineSeparator());  
483                         buffer.append("Tosca Node Type:");
484                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)));
485                         buffer.append(System.lineSeparator());  
486                         buffer.append("Description:");
487                         buffer.append(testNull(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)));
488                         buffer.append(System.lineSeparator()); 
489  
490                         
491                         buffer.append(System.lineSeparator());
492                         buffer.append("NETWORK Customization Properties:");
493                         buffer.append(System.lineSeparator());
494                         buffer.append("CustomizationUUID:");
495                         buffer.append(vlNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
496                         buffer.append(System.lineSeparator()); 
497                         buffer.append("Network Technology:");
498                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
499                         buffer.append(System.lineSeparator()); 
500                         buffer.append("Network Type:");
501                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
502                         buffer.append(System.lineSeparator()); 
503                         buffer.append("Network Role:");
504                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode, SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
505                         buffer.append(System.lineSeparator()); 
506                         buffer.append("Network Scope:");
507                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(vlNode, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
508                         buffer.append(System.lineSeparator());                          
509                 
510                 }
511                         
512         }
513         
514                 
515         List<NodeTemplate> networkCollectionList = toscaResourceStructure.getSdcCsarHelper().getServiceNodeTemplateBySdcType(SdcTypes.CR);
516                 
517                 if (networkCollectionList != null) {
518                         for (NodeTemplate crNode : networkCollectionList) {     
519                                 buffer.append(System.lineSeparator());
520                                 buffer.append("Network Collection Properties:");
521                                 buffer.append(System.lineSeparator());
522                                 buffer.append("Model Name:");
523                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
524                         buffer.append(System.lineSeparator());
525                         buffer.append("Model UUID:");
526                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID));              
527                         buffer.append(System.lineSeparator());
528                         buffer.append("InvariantUuid:");
529                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
530                         buffer.append(System.lineSeparator());
531                         buffer.append("Description:");
532                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
533                         buffer.append(System.lineSeparator());
534                         buffer.append("Version:");
535                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));   
536                         buffer.append(System.lineSeparator());
537                         buffer.append("Tosca Node Type:");
538                         buffer.append(crNode.getType());
539                         buffer.append(System.lineSeparator());
540                         buffer.append("CR Function:");
541                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_function"));       
542                         buffer.append(System.lineSeparator());
543                         buffer.append("CR Role:");
544                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_role"));   
545                         buffer.append(System.lineSeparator());
546                         buffer.append("CR Type:");
547                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, "cr_type"));   
548                         buffer.append(System.lineSeparator());
549                         
550                         List<NodeTemplate> vlNodeList = toscaResourceStructure.getSdcCsarHelper().getNodeTemplateBySdcType(crNode, SdcTypes.VL);
551                                                 
552                         for(NodeTemplate vlNodeTemplate : vlNodeList){
553                                 
554                                 Metadata vlMetadata = vlNodeTemplate.getMetaData();
555                                 
556                                 buffer.append(System.lineSeparator());
557                                 buffer.append(System.lineSeparator());
558                                 buffer.append("Network CR VL Properties:");
559                                 buffer.append(System.lineSeparator());
560                                 
561                                 buffer.append("Model Name:");
562                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
563                         buffer.append(System.lineSeparator());
564                         buffer.append("Model UUID:");
565                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));                
566                         buffer.append(System.lineSeparator());
567                         buffer.append("InvariantUuid:");
568                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
569                         buffer.append(System.lineSeparator());
570                         buffer.append("Version:");
571                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));     
572                         buffer.append(System.lineSeparator());
573                         buffer.append("AIC Max Version:");
574                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES));
575                         buffer.append(System.lineSeparator());
576                         buffer.append("Description:");
577                         buffer.append(vlMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION)); 
578                         buffer.append(System.lineSeparator());
579                         buffer.append("Tosca Node Type:");
580                         buffer.append(vlNodeTemplate.getType());            
581                         buffer.append(System.lineSeparator());  
582                                 
583                         }
584
585                         
586                         List<Group> groupList = toscaResourceStructure.getSdcCsarHelper().getGroupsOfOriginOfNodeTemplateByToscaGroupType(crNode, "org.openecomp.groups.NetworkCollection");    
587                         
588                         if(groupList != null){
589                                 for (Group group : groupList) { 
590                                         Metadata instanceMetadata = group.getMetadata();
591                                         buffer.append(System.lineSeparator());
592                                         buffer.append(System.lineSeparator());
593                                         buffer.append("Network Instance Group Properties:");
594                                         buffer.append(System.lineSeparator());
595                                         
596                                         buffer.append("Model Name:");
597                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_NAME));
598                                 buffer.append(System.lineSeparator());
599                                 buffer.append("Model UUID:");
600                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_UUID));          
601                                 buffer.append(System.lineSeparator());
602                                 buffer.append("InvariantUuid:");
603                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
604                                 buffer.append(System.lineSeparator());
605                                 buffer.append("Version:");
606                                 buffer.append(instanceMetadata.getValue(SdcPropertyNames.PROPERTY_NAME_VERSION));       
607                                 buffer.append(System.lineSeparator());  
608                                 }
609                         
610                         }
611                         
612                                 buffer.append(System.lineSeparator());
613                                 buffer.append("Network Collection Customization Properties:");
614                                 buffer.append(System.lineSeparator());
615                                 
616                         buffer.append("Model Customization UUID:");
617                         buffer.append(crNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID));
618                         buffer.append(System.lineSeparator());
619                         buffer.append("Model Instance Name:");
620                         buffer.append(crNode.getName());                
621                         buffer.append(System.lineSeparator());
622                         buffer.append("Network Scope:");
623                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKSCOPE));
624                         buffer.append(System.lineSeparator());
625                         buffer.append("Network Role:");
626                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKROLE));
627                         buffer.append(System.lineSeparator());
628                         buffer.append("Network Type:");
629                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTYPE));
630                         buffer.append(System.lineSeparator());
631                         buffer.append("Network Technology:");
632                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(crNode, SdcPropertyNames.PROPERTY_NAME_NETWORKTECHNOLOGY));
633                         buffer.append(System.lineSeparator());
634         
635                         }
636                 }
637         
638         List<NodeTemplate> allottedResourceList = toscaResourceStructure.getSdcCsarHelper().getAllottedResources();
639         
640                 if(allottedResourceList != null){
641                         
642                         buffer.append(System.lineSeparator());
643                         buffer.append("Allotted Resource Properties:");
644                         buffer.append(System.lineSeparator());
645                 
646                         for(NodeTemplate allottedNode : allottedResourceList){
647                                 
648                                 buffer.append("Model Name:");
649                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
650                                 buffer.append(System.lineSeparator());
651                                 buffer.append("Model Name:");
652                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_NAME)));
653                                 buffer.append(System.lineSeparator()); 
654                                 buffer.append("Model InvariantUuid:");
655                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID)));
656                                 buffer.append(System.lineSeparator());  
657                                 buffer.append("Model Version:");
658                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_VERSION)));
659                                 buffer.append(System.lineSeparator()); 
660                                 buffer.append("Model UUID:");
661                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_UUID)));
662                                 buffer.append(System.lineSeparator());
663                                 buffer.append("Model Subcategory:");
664                                 buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
665                                         buffer.append(System.lineSeparator());
666                                         buffer.append("Model Description:");
667                                         buffer.append(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
668                                         buffer.append(System.lineSeparator());
669                                 
670                                 
671                                 buffer.append("Allotted Resource Customization Properties:");
672                                 buffer.append(System.lineSeparator());
673                         
674                                 buffer.append("Model Cutomization UUID:");
675                                 buffer.append(testNull(allottedNode.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)));
676                         buffer.append(System.lineSeparator());
677                         buffer.append("NFFunction:");
678                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFFUNCTION));
679                         buffer.append(System.lineSeparator());
680                         buffer.append("NFCode:");
681                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, "nf_naming_code"));
682                         buffer.append(System.lineSeparator());
683                         buffer.append("NFRole:");
684                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFROLE));
685                         buffer.append(System.lineSeparator());
686                         buffer.append("NFType:");
687                         buffer.append(toscaResourceStructure.getSdcCsarHelper().getNodeTemplatePropertyLeafValue(allottedNode, SdcPropertyNames.PROPERTY_NAME_NFTYPE));
688                         buffer.append(System.lineSeparator());      
689                                 
690                                 
691                         }
692                 }
693                 
694                 
695                 return buffer.toString();
696         }
697         
698         public static String dumpVfModuleMetaDataList(List<IVfModuleData> moduleMetaDataList) {
699                 if (moduleMetaDataList == null ) {
700                         return null;
701                 }
702
703                 StringBuilder buffer = new StringBuilder("VfModuleMetaData List:");
704                 buffer.append(System.lineSeparator());
705
706                 buffer.append("{");
707
708                 for (IVfModuleData moduleMetaData:moduleMetaDataList) {
709                         buffer.append(System.lineSeparator());
710                         buffer.append(testNull(dumpVfModuleMetaData(moduleMetaData)));
711                         buffer.append(System.lineSeparator());
712                         buffer.append(",");
713
714                 }
715                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
716                 buffer.append("}");
717                 buffer.append(System.lineSeparator());
718
719                 return buffer.toString();
720         }
721
722         private static String dumpVfModuleMetaData(IVfModuleData moduleMetaData) {
723
724                 if (moduleMetaData == null ) {
725                         return "NULL";
726                 }
727
728                 StringBuilder stringBuilder = new StringBuilder("VfModuleMetaData:");
729                 stringBuilder.append(System.lineSeparator());
730
731                 stringBuilder.append("VfModuleModelName:");
732                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelName()));
733                 stringBuilder.append(System.lineSeparator());
734
735                 stringBuilder.append("VfModuleModelVersion:");
736                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelVersion()));
737                 stringBuilder.append(System.lineSeparator());
738
739                 stringBuilder.append("VfModuleModelUUID:");
740                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelUUID()));
741                 stringBuilder.append(System.lineSeparator());
742
743                 stringBuilder.append("VfModuleModelInvariantUUID:");
744                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelInvariantUUID()));
745                 stringBuilder.append(System.lineSeparator());
746
747                 stringBuilder.append("VfModuleModelDescription:");
748                 stringBuilder.append(testNull(moduleMetaData.getVfModuleModelDescription()));
749                 stringBuilder.append(System.lineSeparator());
750
751                 stringBuilder.append("Artifacts UUID List:");
752
753                 if (moduleMetaData.getArtifacts() != null) {
754                         stringBuilder.append("{");
755
756                         for (String artifactUUID:moduleMetaData.getArtifacts()) {
757                                 stringBuilder.append(System.lineSeparator());
758                                 stringBuilder.append(testNull(artifactUUID));
759                                 stringBuilder.append(System.lineSeparator());
760                                 stringBuilder.append(",");
761                         }
762                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
763                         stringBuilder.append("}");
764                         stringBuilder.append(System.lineSeparator());
765                 } else {
766                         stringBuilder.append("NULL");
767                 }
768
769                 if (moduleMetaData.getProperties() != null) {
770                         Map<String, String> vfModuleMap = moduleMetaData.getProperties();
771                         stringBuilder.append("Properties List:");
772                         stringBuilder.append("{");
773
774                         for (Map.Entry<String, String> entry : vfModuleMap.entrySet()) {
775                                 stringBuilder.append(System.lineSeparator());
776                                 stringBuilder.append("  ").append(entry.getKey()).append(" : ").append(entry.getValue());
777                         }
778                         stringBuilder.replace(stringBuilder.length()-1,stringBuilder.length(), System.lineSeparator());
779                         stringBuilder.append("}");
780                         stringBuilder.append(System.lineSeparator());
781                 } else {
782                         stringBuilder.append("NULL");
783                 }
784
785
786                 stringBuilder.append(System.lineSeparator());
787
788                 stringBuilder.append("isBase:");
789                 stringBuilder.append(moduleMetaData.isBase());
790                 stringBuilder.append(System.lineSeparator());
791
792                 return stringBuilder.toString();
793         }
794
795         private static String testNull(Object object) {
796                 if (object == null) {
797                         return "NULL";
798                 } else if (object instanceof Integer) {
799                         return object.toString();
800                 } else if (object instanceof String) {
801                         return (String)object;
802                 } else {
803                         return "Type not recognized";
804                 }
805         }
806
807         private static String dumpASDCResourcesList(INotificationData asdcNotification) {
808                 if (asdcNotification == null || asdcNotification.getResources() == null) {
809                         return null;
810                 }
811
812                 StringBuilder buffer = new StringBuilder();
813                 buffer.append("{");
814
815                 for (IResourceInstance resourceInstanceElem:asdcNotification.getResources()) {
816                         buffer.append(System.lineSeparator());
817                         buffer.append(testNull(dumpASDCResourceInstance(resourceInstanceElem)));
818                         buffer.append(System.lineSeparator());
819                         buffer.append(",");
820                 }
821                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
822                 buffer.append("}");
823                 buffer.append(System.lineSeparator());
824
825                 return buffer.toString();
826
827         }
828
829         private static String dumpASDCResourceInstance(IResourceInstance resourceInstance) {
830
831                 if (resourceInstance == null) {
832                         return null;
833                 }
834
835         return "Resource Instance Info:" + System.lineSeparator() +
836             "ResourceInstanceName:" + testNull(resourceInstance.getResourceInstanceName()) + System.lineSeparator() +
837             "ResourceCustomizationUUID:" + testNull(resourceInstance.getResourceCustomizationUUID()) + System.lineSeparator() +
838             "ResourceInvariantUUID:" + testNull(resourceInstance.getResourceInvariantUUID()) + System.lineSeparator() +
839             "ResourceName:" + testNull(resourceInstance.getResourceName()) + System.lineSeparator() +
840             "ResourceType:" + testNull(resourceInstance.getResourceType()) + System.lineSeparator() +
841             "ResourceUUID:" + testNull(resourceInstance.getResourceUUID()) + System.lineSeparator() +
842             "ResourceVersion:" + testNull(resourceInstance.getResourceVersion()) + System.lineSeparator() +
843             "Category:" + testNull(resourceInstance.getCategory()) + System.lineSeparator() +
844             "SubCategory:" + testNull(resourceInstance.getSubcategory()) + System.lineSeparator() +
845             "Resource Artifacts List:" + System.lineSeparator() + testNull(dumpArtifactInfoList(resourceInstance.getArtifacts())) + System.lineSeparator();
846         }
847
848
849         private static String dumpArtifactInfoList(List<IArtifactInfo> artifactsList) {
850
851                 if (artifactsList == null || artifactsList.isEmpty()) {
852                         return null;
853                 }
854
855                 StringBuilder buffer = new StringBuilder();
856                 buffer.append("{");
857                 for (IArtifactInfo artifactInfoElem:artifactsList) {
858                         buffer.append(System.lineSeparator());
859                         buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
860                         buffer.append(System.lineSeparator());
861                         buffer.append(",");
862
863                 }
864                 buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
865                 buffer.append("}");
866                 buffer.append(System.lineSeparator());
867
868                 return buffer.toString();
869         }
870
871         private static String dumpASDCArtifactInfo(IArtifactInfo artifactInfo) {
872
873                 if (artifactInfo == null) {
874                         return null;
875                 }
876
877                 StringBuilder buffer = new StringBuilder("Service Artifacts Info:");
878                 buffer.append(System.lineSeparator());
879
880                 buffer.append("ArtifactName:");
881                 buffer.append(testNull(artifactInfo.getArtifactName()));
882                 buffer.append(System.lineSeparator());
883
884                 buffer.append("ArtifactVersion:");
885                 buffer.append(testNull(artifactInfo.getArtifactVersion()));
886                 buffer.append(System.lineSeparator());
887
888                 buffer.append("ArtifactType:");
889                 buffer.append(testNull(artifactInfo.getArtifactType()));
890                 buffer.append(System.lineSeparator());
891
892                 buffer.append("ArtifactDescription:");
893                 buffer.append(testNull(artifactInfo.getArtifactDescription()));
894                 buffer.append(System.lineSeparator());
895
896                 buffer.append("ArtifactTimeout:");
897                 buffer.append(testNull(artifactInfo.getArtifactTimeout()));
898                 buffer.append(System.lineSeparator());
899
900                 buffer.append("ArtifactURL:");
901                 buffer.append(testNull(artifactInfo.getArtifactURL()));
902                 buffer.append(System.lineSeparator());
903
904                 buffer.append("ArtifactUUID:");
905                 buffer.append(testNull(artifactInfo.getArtifactUUID()));
906                 buffer.append(System.lineSeparator());
907
908                 buffer.append("ArtifactChecksum:");
909                 buffer.append(testNull(artifactInfo.getArtifactChecksum()));
910                 buffer.append(System.lineSeparator());
911
912                 buffer.append("GeneratedArtifact:");
913                 buffer.append("{");
914                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfo.getGeneratedArtifact())));
915                 buffer.append(System.lineSeparator());
916                 buffer.append("}");
917                 buffer.append(System.lineSeparator());
918
919                 buffer.append("RelatedArtifacts:");
920
921
922                 if (artifactInfo.getRelatedArtifacts() != null) {
923                         buffer.append("{");
924                         buffer.append(System.lineSeparator());
925                         for (IArtifactInfo artifactInfoElem:artifactInfo.getRelatedArtifacts()) {
926
927                                 buffer.append(testNull(dumpASDCArtifactInfo(artifactInfoElem)));
928                                 buffer.append(System.lineSeparator());
929                                 buffer.append(",");
930
931                         }
932                         buffer.replace(buffer.length()-1,buffer.length(), System.lineSeparator());
933                         buffer.append("}");
934                         buffer.append(System.lineSeparator());
935                 } else {
936                         buffer.append("NULL");
937                 }
938
939                 buffer.append(System.lineSeparator());
940
941                 return buffer.toString();
942         }
943 }