1 package org.openecomp.sdc.vendorlicense.dao.impl.zusammen;
3 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo;
4 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
5 import com.amdocs.zusammen.datatypes.Id;
6 import com.amdocs.zusammen.datatypes.SessionContext;
7 import com.amdocs.zusammen.datatypes.item.Action;
8 import com.amdocs.zusammen.datatypes.item.ItemVersion;
9 import com.amdocs.zusammen.datatypes.item.Relation;
10 import com.amdocs.zusammen.datatypes.item.RelationEdge;
11 import org.openecomp.core.zusammen.api.ZusammenAdaptor;
12 import org.openecomp.core.zusammen.api.ZusammenUtil;
13 import org.openecomp.sdc.common.errors.CoreException;
14 import org.openecomp.sdc.vendorlicense.errors.VendorLicenseModelNotFoundErrorBuilder;
15 import org.openecomp.sdc.versioning.dao.types.Version;
16 import org.openecomp.sdc.versioning.dao.types.VersionStatus;
18 import java.util.Optional;
19 import java.util.stream.Collectors;
21 public class VlmZusammenUtil {
23 static ItemVersion getFirstVersion(SessionContext context, Id itemId,
24 ZusammenAdaptor zusammenAdaptor) {
25 Optional<ItemVersion> itemVersion = zusammenAdaptor.getFirstVersion(context, itemId);
27 if (!itemVersion.isPresent()) {
28 throw new CoreException(
29 new VendorLicenseModelNotFoundErrorBuilder(itemId.getValue()).build());
31 return itemVersion.get();
34 static Id getFirstVersionId(SessionContext context, Id itemId, ZusammenAdaptor zusammenAdaptor) {
35 return getFirstVersion(context, itemId, zusammenAdaptor).getId();
38 // TODO: 4/25/2017 remove upon working with more than one single version
39 static String getVersionTag(Version version) {
40 return version.getStatus() == VersionStatus.Locked
45 static ZusammenElement buildStructuralElement(StructureElement structureElement, Action action) {
46 return ZusammenUtil.buildStructuralElement(structureElement.name(), action);
49 static ZusammenElement getZusammenElement(ElementInfo elementInfo) {
50 ZusammenElement zusammenElement = new ZusammenElement();
51 zusammenElement.setElementId(elementInfo.getId());
52 zusammenElement.setInfo(elementInfo.getInfo());
53 zusammenElement.setRelations(elementInfo.getRelations());
54 zusammenElement.setSubElements(elementInfo.getSubElements().stream()
55 .map(VlmZusammenUtil::getZusammenElement)
56 .collect(Collectors.toList()));
57 return zusammenElement;
60 public static Relation createRelation(RelationType type, String to) {
61 Relation relation = new Relation();
62 relation.setType(type.name());
63 RelationEdge edge2 = new RelationEdge();
64 edge2.setElementId(new Id(to));
65 relation.setEdge2(edge2);