fix incorrect dependency
[sdc.git] / openecomp-be / tools / migration / 1702_to_1707_zusammen / src / main / java / org / openecomp / core / migration / store / ItemHandler.java
1 package org.openecomp.core.migration.store;
2
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.Namespace;
5 import com.amdocs.zusammen.datatypes.SessionContext;
6 import com.amdocs.zusammen.datatypes.item.Info;
7 import com.amdocs.zusammen.datatypes.item.ItemVersionData;
8 import com.amdocs.zusammen.datatypes.item.Relation;
9 import com.amdocs.zusammen.plugin.statestore.cassandra.dao.impl.ItemCassandraDao;
10 import com.amdocs.zusammen.plugin.statestore.cassandra.dao.impl.VersionCassandraDao;
11 import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntity;
12
13 import org.openecomp.core.migration.MigrationMain;
14 import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity;
15 import org.openecomp.sdc.versioning.dao.types.Version;
16 import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
17
18 import java.util.ArrayList;
19 import java.util.Collection;
20 import java.util.Date;
21 import java.util.HashSet;
22 import java.util.List;
23 import java.util.Set;
24
25 public class ItemHandler {
26
27     public static ElementEntity getElementEntity(String id, List<String>
28       elementPath, Info info, Collection<Relation> relations, List<String> subElements,
29                                                 byte[] data) {
30     ElementEntity elementEntity = new ElementEntity(new Id(id));
31
32     Namespace namespace = new Namespace();
33     for (String elementId : elementPath) {
34       namespace = new Namespace(namespace, new Id(elementId));
35     }
36     elementEntity.setNamespace(namespace);
37     elementEntity.setParentId(namespace.getParentElementId());
38     elementEntity.setInfo(info);
39     elementEntity.setRelations(relations);
40     if(subElements!=null) {
41       Set<Id> subElementSet = new HashSet<>();
42
43       subElements.forEach(subElement -> subElementSet.add(new Id(subElement)));
44
45       elementEntity.setSubElementIds(subElementSet);
46     }
47
48     //elementEntity.setData(new ByteArrayInputStream(data));
49     return elementEntity;
50   }
51
52   public static List<String> getElementPath(String... paths) {
53     List<String> pathList = new ArrayList<>();
54     for (String path : paths) {
55       pathList.add(path);
56     }
57     return pathList;
58   }
59
60   public static Info getStractualElementInfo(String elementName) {
61     Info info = new Info();
62     info.setName(elementName);
63     return info;
64   }
65
66   public static void save(SessionContext context, ItemCassandraDao itemCassandraDao,
67                           VersionCassandraDao versionCassandraDao,
68                           String itemId, Version versionId, Info info,
69                           ItemVersionData itemVersionData, Long writetimeMicroSeconds) {
70
71     Date date = writetimeMicroSeconds==null?new Date():new Date(writetimeMicroSeconds);
72     itemCassandraDao.create(context,new Id(itemId),info,date);
73
74     versionCassandraDao.create(context, context.getUser().getUserName(),new Id(itemId),
75         null,getVersionId(itemId,versionId),itemVersionData,date);
76
77     if(isActiveVersion(itemId,versionId)){
78       versionCassandraDao.create(context, context.getUser().getUserName(),new Id(itemId),
79           null,new Id(versionId.toString()),itemVersionData,date);
80     }
81   }
82
83
84
85   private static Info getInfo(VendorLicenseModelEntity vlmEntity) {
86     Info info = new Info();
87
88     info.setName(vlmEntity.getVendorName());
89     info.setDescription(vlmEntity.getDescription());
90     info.addProperty("iconRef",vlmEntity.getIconRef());
91     info.addProperty("type",vlmEntity.getIconRef());
92     return info;
93   }
94
95   private static Id getVersionId(String itemId, Version versionId) {
96     VersionInfoEntity versionInfo =
97         MigrationMain.getVersionInfoMap().get(itemId);
98     if (versionInfo == null) {
99       return new Id(versionId.toString());
100     }
101     Version lastVersion = versionInfo.getCandidate() != null ? versionInfo.getCandidate()
102         .getVersion()
103         : versionInfo.getActiveVersion();
104
105     if (lastVersion.equals(versionId)) {
106       return new Id(itemId);
107     } else {
108       return new Id(versionId.toString());
109     }
110   }
111   private static boolean isActiveVersion(String itemId, Version versionId) {
112     VersionInfoEntity versionInfo =
113         MigrationMain.getVersionInfoMap().get(itemId);
114     if (versionInfo == null) {
115       return false;
116     }
117
118     return versionInfo.getActiveVersion().equals(versionId);
119   }
120
121
122 }