summaryrefslogtreecommitdiffstats
path: root/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java')
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java
new file mode 100644
index 0000000000..b8d82958c9
--- /dev/null
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java
@@ -0,0 +1,74 @@
+package org.openecomp.core.tools.Commands.exportdata;
+
+import org.openecomp.core.tools.Commands.ExportDataCommand;
+import org.openecomp.core.tools.store.VersionInfoCassandraLoader;
+import org.openecomp.core.tools.store.VersionCassandraLoader;
+
+import org.openecomp.core.tools.store.zusammen.datatypes.VersionEntity;
+import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
+
+import static java.io.File.separator;
+import static java.nio.file.Files.*;
+import static org.openecomp.core.tools.Commands.exportdata.ImportProperties.*;
+import static org.openecomp.core.tools.Commands.exportdata.ImportProperties.ROOT_DIRECTORY;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+public class VersionHandler {
+ private static final Logger logger = LoggerFactory.getLogger(ExportDataCommand.class);
+
+ public VersionHandler() {
+ }
+
+ public void loadVersions(String filteredItem) {
+ VersionCassandraLoader versionCassandraLoader = new VersionCassandraLoader();
+ versionCassandraLoader.list().forEach(versionEntity -> handleVersionEntity(versionEntity,filteredItem));
+ VersionInfoCassandraLoader versionInfoCassandraLoader = new VersionInfoCassandraLoader();
+ versionInfoCassandraLoader.list().forEach(versionInfoEntity -> handleVersionInfo(versionInfoEntity,filteredItem));
+ }
+
+ private void handleVersionEntity(VersionEntity versionEntity, String filteredItem) {
+ try {
+ String itemId = versionEntity.getItemId();
+ if (filteredItem != null && !itemId.contains(filteredItem)){
+ return;
+ }
+ String versionId = versionEntity.getVersionId();
+ String space = versionEntity.getSpace();
+ Path versionDirectoryPath = Paths.get( ROOT_DIRECTORY + separator + itemId
+ + separator + versionId + separator + space);
+ Path versionFilePath = Paths.get(versionDirectoryPath.toString() + separator + VERSION_FILE_PREFIX
+ + versionId + JSON_POSTFIX);
+ if (notExists(versionDirectoryPath)) {
+ createDirectories(versionDirectoryPath);
+ }
+ String versionJson = JsonUtil.object2Json(versionEntity);
+ write(versionFilePath, versionJson.getBytes());
+ } catch (Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ ex.printStackTrace();
+ }
+
+ }
+
+ private void handleVersionInfo(VersionInfoEntity versionInfoEntity, String filteredItem) {
+ try {
+ String itemId = versionInfoEntity.getEntityId();
+ Path itemDirectory = Paths.get( ROOT_DIRECTORY + separator + itemId);
+ Path versionInfoFilePath = Paths.get(itemDirectory.toString() + separator + VERSION_INFO_FILE_PREFIX
+ + itemId + JSON_POSTFIX);
+ if (exists(itemDirectory)) {
+ String versionJson = JsonUtil.object2Json(versionInfoEntity);
+ write(versionInfoFilePath, versionJson.getBytes());
+ }
+ } catch (Exception ex) {
+ logger.error(ex.getMessage(), ex);
+ ex.printStackTrace();
+ }
+
+ }
+}