package org.openecomp.sdc.asdctool.migration.main;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.openecomp.sdc.asdctool.configuration.ConfigurationUploader;
+import org.openecomp.sdc.asdctool.cli.CLIToolData;
+import org.openecomp.sdc.asdctool.cli.SpringCLITool;
import org.openecomp.sdc.asdctool.migration.config.MigrationSpringConfig;
import org.openecomp.sdc.asdctool.migration.core.SdcMigrationTool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.context.support.AbstractApplicationContext;
-public class MigrationMenu {
+public class MigrationMenu extends SpringCLITool {
- private final static Logger LOGGER = LoggerFactory.getLogger(MigrationMenu.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(MigrationMenu.class);
public static void main(String[] args) {
- CommandLine commandLine = initCmdLineOptions(args);
- String appConfigDir = commandLine.getOptionValue("c");
- boolean enforceAll = commandLine.hasOption("e");
- ConfigurationUploader.uploadConfigurationFiles(appConfigDir);
- AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MigrationSpringConfig.class);
- doMigrate(enforceAll, context);
-
+ MigrationMenu migrationMenu = new MigrationMenu();
+ CLIToolData cliToolData = migrationMenu.init(args);
+ boolean enforceAll = cliToolData.getCommandLine().hasOption("e");
+ migrationMenu.doMigrate(enforceAll, cliToolData.getSpringApplicationContext());
}
- private static void doMigrate(boolean enforceAll, AnnotationConfigApplicationContext context) {
+ private void doMigrate(boolean enforceAll, AbstractApplicationContext context) {
SdcMigrationTool migrationTool = context.getBean(SdcMigrationTool.class);
boolean migrate = migrationTool.migrate(enforceAll);
if (migrate) {
}
}
- private static CommandLine initCmdLineOptions(String[] args) {
- Options options = buildCmdLineOptions();
- CommandLineParser parser = new DefaultParser();
- try {
- // parse the command line arguments
- return parser.parse( options, args );
- }
- catch( ParseException exp ) {
- // oops, something went wrong
- System.err.println( "Parsing failed. Reason: " + exp.getMessage() );
- usageAndExit(options);
- }
- return null;
- }
-
- private static void usageAndExit(Options options) {
- HelpFormatter formatter = new HelpFormatter();
- formatter.printHelp( "yy", options );
- System.exit(1);
- }
-
- private static Options buildCmdLineOptions() {
- Option configPath = buildConfigPathOption();
-
+ @Override
+ protected Options buildCmdLineOptions() {
+ Options options = super.buildCmdLineOptions();
Option enforceAll = buildEnforceAllOption();
-
- Options options = new Options();
- options.addOption(configPath);
options.addOption(enforceAll);
return options;
}
+ @Override
+ protected String commandName() {
+ return "sdc-migration";
+ }
+
private static Option buildEnforceAllOption() {
return Option.builder("e")
.longOpt("enforceAll")
.build();
}
- private static Option buildConfigPathOption() {
- return Option.builder("c")
- .longOpt("configFolderPath")
- .required()
- .hasArg()
- .desc("path to sdc configuration folder - required")
- .build();
+ @Override
+ protected Class<?> getSpringConfigurationClass() {
+ return MigrationSpringConfig.class;
}
-
}