1 package org.openecomp.core.migration.convertors;
3 import com.amdocs.zusammen.datatypes.item.ElementContext;
4 import com.amdocs.zusammen.datatypes.item.Info;
5 import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext;
6 import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement;
7 import org.openecomp.core.migration.store.ElementHandler;
8 import org.openecomp.core.model.types.ServiceTemplate;
9 import org.openecomp.core.utilities.file.FileUtils;
10 import org.openecomp.sdc.model.impl.zusammen.ElementType;
11 import org.openecomp.sdc.model.impl.zusammen.StructureElement;
12 import org.openecomp.sdc.tosca.services.yamlutil.ToscaExtensionYamlUtil;
14 import java.io.ByteArrayInputStream;
15 import java.util.HashSet;
16 import java.util.List;
21 * @since April 23, 2017
24 public class VspServiceTemplateConvertor
26 private static Set<String> serviceTemplatesLoaded = new HashSet<>();
30 public static CollaborationElement[] convertServiceTemplateToElement(ServiceTemplate serviceTemplate) {
32 CollaborationElement[] serviceTemplateElements;
33 List<String> serviceTemplateNamespace = getServiceTemplateNamespace();
36 String serviceTemplatesEntityId = StructureElement.Templates.name();
37 String uniqueId = serviceTemplate.getVspId()+"_"+serviceTemplate.getVersion().toString();
38 if (serviceTemplatesLoaded.contains(uniqueId)) {
39 serviceTemplateElements = new CollaborationElement[1];
41 serviceTemplatesLoaded.add(uniqueId);
42 String vspServiceModelEntityId = StructureElement.ServiceModel.name();
44 serviceTemplateElements = new CollaborationElement[3];
45 serviceTemplateElements[index] = ElementHandler.getElementEntity(
46 serviceTemplate.getVspId(),
47 serviceTemplate.getVersion().toString(),
48 vspServiceModelEntityId,
49 serviceTemplateNamespace,
50 ElementHandler.getServiceModelElementInfo(vspServiceModelEntityId,serviceTemplate),
55 serviceTemplateNamespace.add(vspServiceModelEntityId);
56 serviceTemplateElements[index] = ElementHandler.getElementEntity(
57 serviceTemplate.getVspId(), serviceTemplate.getVersion().toString(), serviceTemplatesEntityId,
58 serviceTemplateNamespace,
59 ElementHandler.getStructuralElementInfo(StructureElement.Templates.name()),
66 serviceTemplateNamespace.add(serviceTemplatesEntityId);
67 String elementId = serviceTemplate.getVspId()+"_"+serviceTemplate.getVersion().toString()
68 +"_"+serviceTemplate.getName();
69 serviceTemplateElements[index] = ElementHandler.getElementEntity(
70 serviceTemplate.getVspId(), serviceTemplate.getVersion().toString(), elementId,
71 serviceTemplateNamespace,
72 getServiceTemplateInfo(serviceTemplate),
75 FileUtils.toByteArray(serviceTemplate.getContent()));
77 return serviceTemplateElements;
80 private static Info getServiceTemplateInfo(ServiceTemplate serviceTemplateEntity) {
81 Info info = new Info();
82 info.setName(serviceTemplateEntity.getName());
83 info.addProperty("type", ElementType.Servicetemplate.name());
84 info.addProperty("base", serviceTemplateEntity.getBaseName());
91 private static List<String> getServiceTemplateNamespace() {
92 return ElementHandler.getElementPath();
95 public static ElementEntityContext convertServiceTemplateToElementContext(ServiceTemplate
96 serviceTemplateEntity) {
98 return new ElementEntityContext("GLOBAL_USER", new
99 ElementContext(serviceTemplateEntity.getVspId(), serviceTemplateEntity.getVersion().toString()));