summaryrefslogtreecommitdiffstats
path: root/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java')
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java45
1 files changed, 34 insertions, 11 deletions
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java
index 17b7d64cb4..6f18bca9b8 100644
--- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/importinfo/ImportDataCommand.java
@@ -1,7 +1,18 @@
package org.openecomp.core.tools.importinfo;
+import static org.openecomp.core.tools.commands.CommandName.IMPORT;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.stream.Stream;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
import org.apache.commons.io.FileUtils;
+import org.openecomp.core.tools.commands.Command;
+import org.openecomp.core.tools.commands.CommandName;
import org.openecomp.core.tools.exportinfo.ExportDataCommand;
import org.openecomp.core.tools.util.Utils;
import org.openecomp.core.tools.util.ZipUtils;
@@ -9,28 +20,40 @@ import org.openecomp.core.zusammen.impl.CassandraConnectionInitializer;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.stream.Stream;
+public class ImportDataCommand extends Command {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ImportDataCommand.class);
+ private static final String FILE_OPTION = "f";
-public class ImportDataCommand {
+ public ImportDataCommand() {
+ options.addOption(Option.builder(FILE_OPTION).hasArg().argName("file").desc("export file (zip), mandatory").build());
+ }
- private static final Logger logger = LoggerFactory.getLogger(ImportDataCommand.class);
+ @Override
+ public boolean execute(String[] args) {
+ CommandLine cmd = parseArgs(args);
- public static void execute(String uploadFile) {
+ if (!cmd.hasOption(FILE_OPTION) || cmd.getOptionValue(FILE_OPTION) == null) {
+ LOGGER.error("Argument f is mandatory");
+ return false;
+ }
try {
CassandraConnectionInitializer.setCassandraConnectionPropertiesToSystem();
Path outputFolder = Paths.get(ImportProperties.ROOT_DIRECTORY);
ExportDataCommand.initDir(outputFolder); //clear old imports.
- ZipUtils.unzip(Paths.get(uploadFile), outputFolder);
- try( Stream<Path> files = Files.list(outputFolder)) {
+ ZipUtils.unzip(Paths.get(cmd.getOptionValue(FILE_OPTION)), outputFolder);
+ try (Stream<Path> files = Files.list(outputFolder)) {
files.forEach(new ImportSingleTable()::importFile);
}
FileUtils.forceDelete(outputFolder.toFile()); // leaves directory clean
} catch (IOException e) {
- Utils.logError(logger, e);
+ Utils.logError(LOGGER, e);
}
+ return true;
+ }
+
+ @Override
+ public CommandName getCommandName() {
+ return IMPORT;
}
}