summaryrefslogtreecommitdiffstats
path: root/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java')
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java
new file mode 100644
index 0000000000..b8d1d51bf5
--- /dev/null
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java
@@ -0,0 +1,44 @@
+package org.openecomp.core.tools.commands;
+
+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;
+
+public abstract class Command {
+
+ static final String COMMAND_OPTION = "c";
+ protected final Options options = new Options();
+
+ protected Command() {
+ options.addOption(
+ Option.builder(COMMAND_OPTION).hasArg().argName("command").desc(getCommandName().name()).build());
+ }
+
+ protected CommandLine parseArgs(String[] args) {
+ CommandLineParser parser = new DefaultParser();
+ CommandLine cmd;
+ try {
+ cmd = parser.parse(options, args);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ return cmd;
+ }
+
+ public void printUsage() {
+ HelpFormatter formater = new HelpFormatter();
+ formater.printHelp("zusammenMainTool", options);
+ }
+
+ public void register(){
+ CommandsHolder.addCommand(this);
+ }
+
+ public abstract boolean execute(String[] args);
+
+ public abstract CommandName getCommandName();
+}