diff options
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.java | 31 |
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."); } } |