aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java106
1 files changed, 106 insertions, 0 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java
new file mode 100644
index 000000000..86bde1310
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MigrateConfigurationParams.java
@@ -0,0 +1,106 @@
+package at.gv.egovernment.moa.id.commons.config.cli;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.MissingOptionException;
+
+/**
+ * The result set for the parsed command line arguments
+ * @author Christian Wagner
+ *
+ */
+public class MigrateConfigurationParams {
+
+ private String inputFile = null;
+ private String outputFile = null;
+ private String inputDbConfigFile = null;
+ private String outputDbConfigFile = null;
+
+ private boolean overwriteData = false;
+
+ /**
+ * Get the path to the input source which is MOAID 2.x config file in XML-format.
+ * @return the path to the input source or {@code null} if not set.
+ */
+ public String getInputTarget() {
+ return this.inputFile;
+ }
+
+ /**
+ * Get the path to the output file to write to.
+ * @return the path to the output file or {@code null} if not set.
+ */
+ public String getOutputFile() {
+ return outputFile;
+ }
+
+ /**
+ * Get the path to the configuration file for the input database.
+ * @return the path to the config file or {@code null} if not set.
+ */
+ public String getInputDBConfig() {
+ return inputDbConfigFile;
+ }
+
+ /**
+ * Get the path to the configuration file for the output database.
+ * @return the path to the config file or {@code null} if not set.
+ */
+ public String getOutputDBConfig() {
+ return outputDbConfigFile;
+ }
+
+ /**
+ * Returns whether the desired input is a config file for a database.
+ * @return <code>true</code> if the stored path points at a database config file; <code>false</code> otherwise.
+ */
+ public boolean isInputDB() {
+ return inputDbConfigFile != null;
+ }
+
+ /**
+ * Returns whether the desired output is a config file for a database.
+ * @return <code>true</code> if the stored path points at a database config file; <code>false</code> otherwise.
+ */
+ public boolean isOutputDB() {
+ return outputDbConfigFile != null;
+ }
+
+ /**
+ * Returns whether existing data should be overwritten by the imported data or not.
+ * @return <code>true</code> if the existing data should be overwritten; <code>false</code> otherwise.
+ */
+ public boolean isOverwriteData() {
+ return overwriteData;
+ }
+
+ /**
+ *
+ * @param cmdLine
+ * @throws MissingOptionException
+ */
+ public MigrateConfigurationParams(CommandLine cmdLine) throws MissingOptionException {
+ inputFile = cmdLine.getOptionValue(CLIConstants.CLI_PARAM_IN);
+ inputDbConfigFile = cmdLine.getOptionValue(CLIConstants.CLI_PARAM_INDB);
+ outputFile = cmdLine.getOptionValue(CLIConstants.CLI_PARAM_OUT);
+ outputDbConfigFile = cmdLine.getOptionValue(CLIConstants.CLI_PARAM_OUTDB);
+ overwriteData = cmdLine.hasOption(CLIConstants.CLI_PARAM_FORCE);
+
+ if (null == inputFile && null == inputDbConfigFile) {
+ throw new MissingOptionException("One of [-" + CLIConstants.CLI_PARAM_IN + ", -" + CLIConstants.CLI_PARAM_INDB + "] required.");
+ }
+
+ if (null == outputFile && null == outputDbConfigFile) {
+ throw new MissingOptionException("One of [-" + CLIConstants.CLI_PARAM_OUT + ", -" + CLIConstants.CLI_PARAM_OUTDB + "] required.");
+ }
+
+ if (null != inputFile && null != inputDbConfigFile) {
+ throw new MissingOptionException("Only one of [-" + CLIConstants.CLI_PARAM_IN + ", -" + CLIConstants.CLI_PARAM_INDB + "] allowed.");
+ }
+
+ if (null != outputFile && null != outputDbConfigFile) {
+ throw new MissingOptionException("Only one of [-" + CLIConstants.CLI_PARAM_OUT + ", -" + CLIConstants.CLI_PARAM_OUTDB + "] allowed.");
+ }
+
+ }
+
+} \ No newline at end of file