fix incorrect dependency
[sdc.git] / openecomp-be / tools / zusammen-tools / src / main / java / org / openecomp / core / tools / Commands / exportdata / VersionHandler.java
1 package org.openecomp.core.tools.Commands.exportdata;
2
3 import org.openecomp.core.tools.Commands.ExportDataCommand;
4 import org.openecomp.core.tools.store.VersionInfoCassandraLoader;
5 import org.openecomp.core.tools.store.VersionCassandraLoader;
6
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;
12
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;
17
18 import java.nio.file.Path;
19 import java.nio.file.Paths;
20 import java.util.Set;
21
22 public class VersionHandler {
23     private static final Logger logger = LoggerFactory.getLogger(ExportDataCommand.class);
24
25     public VersionHandler() {
26     }
27
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));
33     }
34
35     private void handleVersionEntity(VersionEntity versionEntity, Set<String> filteredItem) {
36         try {
37             String itemId = versionEntity.getItemId();
38             if (!filteredItem.isEmpty()  && !filteredItem.contains(itemId)){
39                 return;
40             }
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);
49             }
50             String versionJson = JsonUtil.object2Json(versionEntity);
51             write(versionFilePath, versionJson.getBytes());
52         } catch (Exception ex) {
53             logger.error(ex.getMessage(), ex);
54         }
55
56     }
57
58     private void handleVersionInfo(VersionInfoEntity versionInfoEntity, Set<String> filteredItem) {
59         try {
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());
67             }
68         } catch (Exception ex) {
69             logger.error(ex.getMessage(), ex);
70         }
71
72     }
73 }