aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java')
-rw-r--r--id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java31
1 files changed, 23 insertions, 8 deletions
diff --git a/id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java b/id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java
index a313107ad..6110f41ea 100644
--- a/id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java
+++ b/id/server/moa-id-commons/src/main/java/com/datentechnik/moa/id/conf/MigrateConfiguration.java
@@ -33,10 +33,16 @@ import com.fasterxml.jackson.core.JsonProcessingException;
*/
public class MigrateConfiguration {
+ public static boolean isOverwriteData = false;
+
public static void main(String[] args) {
MOAIDConfCLI cli = new MOAIDConfCLI();
MigrateConfigurationParams parsedParameters = cli.parse(args);
+
+ // consider settings of force switch
+ isOverwriteData = parsedParameters.isOverwriteData();
+
try {
if (!parsedParameters.isInputDB() && (parsedParameters.getInputTarget() != null)) {
// read input from file
@@ -52,12 +58,6 @@ public class MigrateConfiguration {
// input from file and output to a database is desired
readFromFileWriteToDB(inStream, parsedParameters.getOutputDBConfig());
}
- } catch (FileNotFoundException e) {
- System.out.println("Could not find the input file.");
- System.exit(1);
- } catch (IOException e) {
- System.out.println("Could not read from the input file.");
- System.exit(1);
}
} else if (parsedParameters.getInputDBConfig() != null) {
@@ -79,6 +79,12 @@ public class MigrateConfiguration {
} catch (JAXBException e) {
System.out.println("MOA-ID XML configuration can not be loaded from given file.");
System.exit(1);
+ } catch (FileNotFoundException e) {
+ System.out.println("Could not find the input file.");
+ System.exit(1);
+ } catch (IOException e) {
+ System.out.println("Could not read from the input file.");
+ System.exit(1);
}
}
@@ -131,7 +137,7 @@ public class MigrateConfiguration {
Properties result = new Properties();
boolean prettyPrint = true;
- com.datentechnik.moa.id.conf.persistence.JsonMapper mapper = new JsonMapper(prettyPrint);
+ JsonMapper mapper = new JsonMapper(prettyPrint);
// serialize config to JSON
String oaJson = mapper.serialize(config.getOnlineApplication());
@@ -195,6 +201,9 @@ public class MigrateConfiguration {
// write to output stream
result.store(outStream, null);
+ System.out.println("Old XML configuration written to:");
+ System.out.println(outFile.getAbsolutePath());
+
} catch (FileNotFoundException e) {
System.out.println("Could not find the output file.");
System.exit(1);
@@ -237,7 +246,13 @@ public class MigrateConfiguration {
Object value = mapper.deserialize(json, null);
// add to database
- dbConfiguration.set(key, value);
+ boolean result = dbConfiguration.set(key, value, isOverwriteData);
+ if (!result) {
+ System.out.println("Could NOT persist the configuration file's information in the database.");
+ System.out.println("The database already contains a configuration (see force switch if you want to override data.)");
+ System.exit(1);
+ }
+ System.out.println("Data has been successfully written to the database.");
}
}