1 package org.openecomp.core.tools.Commands.exportdata;
3 import org.openecomp.core.tools.Commands.ExportDataCommand;
4 import org.openecomp.core.tools.store.VersionInfoCassandraLoader;
5 import org.openecomp.core.tools.store.VersionCassandraLoader;
7 import org.openecomp.core.tools.store.zusammen.datatypes.VersionEntity;
8 import org.openecomp.core.utilities.json.JsonUtil;
9 import org.openecomp.sdc.logging.api.Logger;
10 import org.openecomp.sdc.logging.api.LoggerFactory;
11 import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
13 import static java.io.File.separator;
14 import static java.nio.file.Files.*;
15 import static org.openecomp.core.tools.Commands.exportdata.ImportProperties.*;
16 import static org.openecomp.core.tools.Commands.exportdata.ImportProperties.ROOT_DIRECTORY;
18 import java.nio.file.Path;
19 import java.nio.file.Paths;
22 public class VersionHandler {
23 private static final Logger logger = LoggerFactory.getLogger(ExportDataCommand.class);
25 public VersionHandler() {
28 public void loadVersions(Set<String> filteredItem) {
29 VersionCassandraLoader versionCassandraLoader = new VersionCassandraLoader();
30 versionCassandraLoader.list().forEach(versionEntity -> handleVersionEntity(versionEntity,filteredItem));
31 VersionInfoCassandraLoader versionInfoCassandraLoader = new VersionInfoCassandraLoader();
32 versionInfoCassandraLoader.list().forEach(versionInfoEntity -> handleVersionInfo(versionInfoEntity,filteredItem));
35 private void handleVersionEntity(VersionEntity versionEntity, Set<String> filteredItem) {
37 String itemId = versionEntity.getItemId();
38 if (!filteredItem.isEmpty() && !filteredItem.contains(itemId)){
41 String versionId = versionEntity.getVersionId();
42 String space = versionEntity.getSpace();
43 Path versionDirectoryPath = Paths.get( ROOT_DIRECTORY + separator + itemId
44 + separator + versionId + separator + space);
45 Path versionFilePath = Paths.get(versionDirectoryPath.toString() + separator + VERSION_FILE_PREFIX
46 + versionId + JSON_POSTFIX);
47 if (notExists(versionDirectoryPath)) {
48 createDirectories(versionDirectoryPath);
50 String versionJson = JsonUtil.object2Json(versionEntity);
51 write(versionFilePath, versionJson.getBytes());
52 } catch (Exception ex) {
53 logger.error(ex.getMessage(), ex);
58 private void handleVersionInfo(VersionInfoEntity versionInfoEntity, Set<String> filteredItem) {
60 String itemId = versionInfoEntity.getEntityId();
61 Path itemDirectory = Paths.get( ROOT_DIRECTORY + separator + itemId);
62 Path versionInfoFilePath = Paths.get(itemDirectory.toString() + separator + VERSION_INFO_FILE_PREFIX
63 + itemId + JSON_POSTFIX);
64 if (exists(itemDirectory)) {
65 String versionJson = JsonUtil.object2Json(versionInfoEntity);
66 write(versionInfoFilePath, versionJson.getBytes());
68 } catch (Exception ex) {
69 logger.error(ex.getMessage(), ex);