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;
21 public class VersionHandler {
22 private static final Logger logger = LoggerFactory.getLogger(ExportDataCommand.class);
24 public VersionHandler() {
27 public void loadVersions(String filteredItem) {
28 VersionCassandraLoader versionCassandraLoader = new VersionCassandraLoader();
29 versionCassandraLoader.list().forEach(versionEntity -> handleVersionEntity(versionEntity,filteredItem));
30 VersionInfoCassandraLoader versionInfoCassandraLoader = new VersionInfoCassandraLoader();
31 versionInfoCassandraLoader.list().forEach(versionInfoEntity -> handleVersionInfo(versionInfoEntity,filteredItem));
34 private void handleVersionEntity(VersionEntity versionEntity, String filteredItem) {
36 String itemId = versionEntity.getItemId();
37 if (filteredItem != null && !itemId.contains(filteredItem)){
40 String versionId = versionEntity.getVersionId();
41 String space = versionEntity.getSpace();
42 Path versionDirectoryPath = Paths.get( ROOT_DIRECTORY + separator + itemId
43 + separator + versionId + separator + space);
44 Path versionFilePath = Paths.get(versionDirectoryPath.toString() + separator + VERSION_FILE_PREFIX
45 + versionId + JSON_POSTFIX);
46 if (notExists(versionDirectoryPath)) {
47 createDirectories(versionDirectoryPath);
49 String versionJson = JsonUtil.object2Json(versionEntity);
50 write(versionFilePath, versionJson.getBytes());
51 } catch (Exception ex) {
52 logger.error(ex.getMessage(), ex);
58 private void handleVersionInfo(VersionInfoEntity versionInfoEntity, 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);