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.MigrationMain;
8 import org.openecomp.core.migration.store.ElementHandler;
9 import org.openecomp.sdc.logging.api.Logger;
10 import org.openecomp.sdc.logging.api.LoggerFactory;
11 import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ElementType;
12 import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.StructureElement;
13 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
15 import java.util.HashSet;
16 import java.util.List;
19 public class ProcessConvertor {
20 private static final String NAME = "name";
21 private static final String ELEMENT_TYPE = "type";
22 private static final String ARTIFACT_NAME = "artifactName";
23 private static final String DESCRIPTION = "description";
24 private static final String PROCESS_TYPE = "processType";
25 private static Set<String> compProcessesLoaded = new HashSet<>();
27 private static Logger logger = LoggerFactory.getLogger(MigrationMain.class);
30 public static CollaborationElement[] convertProcessToElement(ProcessEntity processEntity) {
31 CollaborationElement[] elements;
32 boolean isGeneralComponentId = isGeneralComponentId(processEntity);
33 List<String> processNamespace = getProcessNamespace(processEntity);
35 String uniqueId = getUniqueId(processEntity, isGeneralComponentId);
36 String processesEntityId = isGeneralComponentId ? StructureElement.Processes.name() :
37 (StructureElement.Processes.name() + "_" +processEntity.getComponentId());
38 if (compProcessesLoaded.contains(uniqueId)) {
39 elements = new CollaborationElement[1];
41 compProcessesLoaded.add(uniqueId);
42 elements = new CollaborationElement[2];
43 elements[index++] = ElementHandler.getElementEntity(
44 processEntity.getVspId(), processEntity.getVersion().toString(), processesEntityId,
46 ElementHandler.getStructuralElementInfo(StructureElement.Processes.name()), null, null, null);
49 processNamespace.add(processesEntityId);
50 elements[index] = ElementHandler.getElementEntity(
51 processEntity.getVspId(), processEntity.getVersion().toString(), processEntity.getId(),
53 getProcessInfo(processEntity), null, null, processEntity.getArtifact() ==
54 null ? null : processEntity.getArtifact().array());
59 private static String getUniqueId(ProcessEntity processEntity, boolean isGeneralComponentId) {
60 if (isGeneralComponentId) {
61 return processEntity.getVspId() + "_" + processEntity.getVersion().toString();
63 return StructureElement.Processes.name() + "_" + processEntity
68 private static Info getProcessInfo(ProcessEntity processEntity) {
69 Info info = new Info();
70 info.setName(processEntity.getName());
71 info.addProperty(NAME, processEntity.getName());
72 info.addProperty(ELEMENT_TYPE, ElementType.Process);
73 info.addProperty(ARTIFACT_NAME, processEntity.getArtifactName());
74 info.addProperty(DESCRIPTION, processEntity.getDescription());
75 info.addProperty(PROCESS_TYPE,
76 processEntity.getType() != null ? processEntity.getType().name() : null);
80 private static List<String> getProcessNamespace(ProcessEntity processEntity) {
81 if (isGeneralComponentId(processEntity)) {
82 return ElementHandler.getElementPath();
85 .getElementPath(StructureElement.Components.name(), processEntity.getComponentId());
89 private static boolean isGeneralComponentId(ProcessEntity processEntity) {
90 return processEntity.getComponentId().equals("General");
93 public static ElementEntityContext convertProcessToElementContext(ProcessEntity processEntity) {
95 return new ElementEntityContext("GLOBAL_USER", new
96 ElementContext(processEntity.getVspId(), processEntity.getVersion().toString()));