Add collaboration feature
[sdc.git] / openecomp-be / tools / zusammen-tools / src / main / java / org / openecomp / core / tools / importinfo / ImportDataCommand.java
1 package org.openecomp.core.tools.importinfo;
2
3
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import org.apache.commons.io.FileUtils;
6 import org.openecomp.core.tools.exportinfo.ExportDataCommand;
7 import org.openecomp.core.tools.util.Utils;
8 import org.openecomp.core.tools.util.ZipUtils;
9 import org.openecomp.core.zusammen.impl.CassandraConnectionInitializer;
10 import org.openecomp.sdc.logging.api.Logger;
11 import org.openecomp.sdc.logging.api.LoggerFactory;
12
13 import java.io.IOException;
14 import java.nio.file.Files;
15 import java.nio.file.Path;
16 import java.nio.file.Paths;
17 import java.util.stream.Stream;
18
19 public class ImportDataCommand {
20
21     private static final Logger logger = LoggerFactory.getLogger(ImportDataCommand.class);
22
23     public static final void execute(SessionContext sessionContext, String uploadFile) {
24         try {
25             CassandraConnectionInitializer.setCassandraConnectionPropertiesToSystem();
26             Path outputFolder = Paths.get(ImportProperties.ROOT_DIRECTORY);
27             ExportDataCommand.initDir(outputFolder); //clear old imports.
28             ZipUtils.unzip(Paths.get(uploadFile), outputFolder);
29             try( Stream<Path> files = Files.list(outputFolder)) {
30                 files.forEach(file -> new ImportSingleTable().importFile(file));
31             }
32             FileUtils.forceDelete(outputFolder.toFile()); // leaves directory clean
33         } catch (IOException e) {
34             Utils.logError(logger, e);
35         }
36     }
37 }