1 package org.openecomp.core.tools.Commands;
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import com.amdocs.zusammen.plugin.statestore.cassandra.dao.impl.VersionCassandraDao;
6 import org.openecomp.core.tools.store.VersionInfoCassandraLoader;
7 import org.openecomp.core.tools.store.VspGeneralLoader;
8 import org.openecomp.core.tools.store.ElementHandler;
9 import org.openecomp.core.zusammen.impl.CassandraConnectionInitializer;
10 import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity;
11 import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
12 import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
16 public class ResetOldVersion {
19 public static Map<String, List<String>> itemVersionMap = new HashMap<>();
21 public static void reset(SessionContext context, String oldVersion) {
25 CassandraConnectionInitializer.setCassandraConnectionPropertiesToSystem();
27 loadItemVersionInfo(context);
29 Map<String, ElementEntity> generalElementMap =
30 VspGeneralLoader.load(context,
33 generalElementMap.values().forEach(elementEntity -> updateOldVersionFlag(elementEntity,oldVersion));
36 itemVersionMap.entrySet().forEach(entry->entry.getValue().stream().filter
37 (version->generalElementMap.containsKey(context.getUser().getUserName()+"_"+entry.getKey()
38 +"_"+version)).forEach(version->ElementHandler.update(context,
39 entry.getKey(),version,generalElementMap.get(context.getUser().getUserName()+"_"+entry.getKey()
43 private static void updateOldVersionFlag(ElementEntity elementEntity, String oldVersion) {
44 elementEntity.getInfo().addProperty("oldVersion",oldVersion);
48 private static void loadItemVersionInfo(SessionContext context) {
50 List<String> items = new ArrayList<>();
51 System.setProperty("cassandra.dox.keystore", "dox");
52 VersionInfoCassandraLoader versionInfoCassandraLoader = new VersionInfoCassandraLoader();
53 Collection<VersionInfoEntity> versions =
54 versionInfoCassandraLoader.list();
56 versions.stream().filter(versionInfoEntity -> versionInfoEntity.getEntityType().equals
57 (VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE)).forEach
59 -> items.add(versionInfoEntity.getEntityId()));
60 System.setProperty("cassandra.dox.keystore", "zusammen_dox");
61 VersionCassandraDao versionCassandraDao = new VersionCassandraDao();
64 .forEach(itemId -> versionCassandraDao.list(context, context.getUser().getUserName(), new Id
65 (itemId)).forEach(itemVersion -> addItemVersion(itemId, itemVersion.getId())));
69 private static void addItemVersion(String itemId, Id versionId) {
70 if (!itemVersionMap.containsKey(itemId)) {
71 itemVersionMap.put(itemId, new ArrayList<>());
73 itemVersionMap.get(itemId).add(versionId.getValue());