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;
13 import java.util.HashSet;
14 import java.util.List;
19 * @since April 23, 2017
22 public class VspServiceTemplateConvertor
24 private static Set<String> serviceTemplatesLoaded = new HashSet<>();
28 public static CollaborationElement[] convertServiceTemplateToElement(ServiceTemplate serviceTemplate) {
30 CollaborationElement[] serviceTemplateElements;
31 List<String> serviceTemplateNamespace = getServiceTemplateNamespace();
34 String serviceTemplatesEntityId = StructureElement.Templates.name();
35 String uniqueId = serviceTemplate.getVspId()+"_"+serviceTemplate.getVersion().toString();
36 if (serviceTemplatesLoaded.contains(uniqueId)) {
37 serviceTemplateElements = new CollaborationElement[1];
39 serviceTemplatesLoaded.add(uniqueId);
40 String vspServiceModelEntityId = StructureElement.ServiceModel.name();
42 serviceTemplateElements = new CollaborationElement[3];
43 serviceTemplateElements[index] = ElementHandler.getElementEntity(
44 serviceTemplate.getVspId(),
45 serviceTemplate.getVersion().toString(),
46 vspServiceModelEntityId,
47 serviceTemplateNamespace,
48 ElementHandler.getServiceModelElementInfo(vspServiceModelEntityId,serviceTemplate),
53 serviceTemplateNamespace.add(vspServiceModelEntityId);
54 serviceTemplateElements[index] = ElementHandler.getElementEntity(
55 serviceTemplate.getVspId(), serviceTemplate.getVersion().toString(), serviceTemplatesEntityId,
56 serviceTemplateNamespace,
57 ElementHandler.getStructuralElementInfo(StructureElement.Templates.name()),
64 serviceTemplateNamespace.add(serviceTemplatesEntityId);
65 String elementId = serviceTemplate.getVspId()+"_"+serviceTemplate.getVersion().toString()
66 +"_"+serviceTemplate.getName();
67 serviceTemplateElements[index] = ElementHandler.getElementEntity(
68 serviceTemplate.getVspId(), serviceTemplate.getVersion().toString(), elementId,
69 serviceTemplateNamespace,
70 getServiceTemplateInfo(serviceTemplate),
73 FileUtils.toByteArray(serviceTemplate.getContent()));
75 return serviceTemplateElements;
78 private static Info getServiceTemplateInfo(ServiceTemplate serviceTemplateEntity) {
79 Info info = new Info();
80 info.setName(serviceTemplateEntity.getName());
81 info.addProperty("type", ElementType.Servicetemplate.name());
82 info.addProperty("base", serviceTemplateEntity.getBaseName());
89 private static List<String> getServiceTemplateNamespace() {
90 return ElementHandler.getElementPath();
93 public static ElementEntityContext convertServiceTemplateToElementContext(ServiceTemplate
94 serviceTemplateEntity) {
96 return new ElementEntityContext("GLOBAL_USER", new
97 ElementContext(serviceTemplateEntity.getVspId(), serviceTemplateEntity.getVersion().toString()));