aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java71
1 files changed, 39 insertions, 32 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
index a8992e6b8..b683a95f9 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ImportExportAction.java
@@ -103,34 +103,42 @@ implements ServletRequestAware, ServletResponseAware {
return Constants.STRUTS_ERROR_VALIDATION;
}
log.debug("OpenSAML successfully initialized");
-
-
- MOAIDConfiguration moaconfig;
try {
- log.warn("WARNING! The legacy import deletes the hole old config");
-
- List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
- if (oas != null && oas.size() > 0) {
- for (OnlineApplication oa : oas)
- ConfigurationDBUtils.delete(oa);
- }
+
+ MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
-
- moaconfig = BuildFromLegacyConfig.build(fileUpload, "");
+ MOAIDConfiguration moaconfig;
+ try {
+ log.warn("WARNING! The legacy import deletes the hole old config");
+
+ moaconfig = BuildFromLegacyConfig.build(fileUpload, "", moaidconfig);
- } catch (ConfigurationException e) {
- log.info("Legacy configuration has an Import Error", e);
- addActionError(LanguageHelper.getErrorString("errors.importexport.legacyimport", new Object[] {e.getMessage()}));
- return Constants.STRUTS_ERROR_VALIDATION;
- }
+ } catch (ConfigurationException e) {
+ log.info("Legacy configuration has an Import Error", e);
+ addActionError(LanguageHelper.getErrorString("errors.importexport.legacyimport", new Object[] {e.getMessage()}));
+ ConfigurationDBUtils.closeSession();
+ return Constants.STRUTS_ERROR_VALIDATION;
+ }
//check if XML config should be use
log.warn("WARNING! MOA-ID 2.0 is started with XML configuration. This setup overstrike the actual configuration in the Database!");
- try {
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
+
+
if (moaidconfig != null)
ConfigurationDBUtils.delete(moaidconfig);
+
+ List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
+ if (oas != null && oas.size() > 0) {
+ for (OnlineApplication oa : oas)
+ ConfigurationDBUtils.delete(oa);
+ }
+
+ oas = moaconfig.getOnlineApplication();
+ for (OnlineApplication oa : oas)
+ ConfigurationDBUtils.save(oa);
+
+ moaconfig.setOnlineApplication(null);
ConfigurationDBUtils.save(moaconfig);
} catch (MOADatabaseException e) {
@@ -227,19 +235,7 @@ implements ServletRequestAware, ServletResponseAware {
addActionError(LanguageHelper.getErrorString("errors.importexport.nofile"));
return Constants.STRUTS_ERROR_VALIDATION;
}
-
- log.warn("WARNING! The XML import deletes the hole old config");
-
- List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
- if (oas != null && oas.size() > 0) {
- for (OnlineApplication oa : oas)
- ConfigurationDBUtils.delete(oa);
- }
- MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
- if (moaidconfig != null)
- ConfigurationDBUtils.delete(moaidconfig);
-
-
+
log.info("Load configuration from MOA-ID 2.x XML configuration");
try {
@@ -247,6 +243,17 @@ implements ServletRequestAware, ServletResponseAware {
Unmarshaller m = jc.createUnmarshaller();
MOAIDConfiguration moaconfig = (MOAIDConfiguration) m.unmarshal(fileUpload);
+
+ log.warn("WARNING! The XML import deletes the hole old config");
+ List<OnlineApplication> oas = ConfigurationDBRead.getAllOnlineApplications();
+ if (oas != null && oas.size() > 0) {
+ for (OnlineApplication oa : oas)
+ ConfigurationDBUtils.delete(oa);
+ }
+ MOAIDConfiguration moaidconfig = ConfigurationDBRead.getMOAIDConfiguration();
+ if (moaidconfig != null)
+ ConfigurationDBUtils.delete(moaidconfig);
+
List<OnlineApplication> importoas = moaconfig.getOnlineApplication();
for (OnlineApplication importoa : importoas) {
ConfigurationDBUtils.saveOrUpdate(importoa);