aboutsummaryrefslogtreecommitdiff
path: root/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java')
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java48
1 files changed, 34 insertions, 14 deletions
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java
index 72e2321e9..0ec230324 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java
@@ -45,6 +45,9 @@ import at.gv.egiz.components.configuration.meta.api.MetadataConfiguration;
import at.gv.egiz.components.configuration.meta.api.SchemaEntry;
import at.gv.egiz.components.configuration.meta.api.impl.BaseMetadataConfiguration;
import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfigurationImpl;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationValidationException;
import at.gv.egovernment.moa.id.config.webgui.validation.MOAIDConfigurationValidator;
@@ -57,7 +60,7 @@ public class MOAIDConfigurationModul implements ConfigurationModul{
private static final String MODULE_NAME = "MOAIDConfigurationModul";
- private static Configuration config;
+ private static MOAIDConfiguration config;
private static Configuration meta;
private static MetadataConfiguration metadata = null;
@@ -76,23 +79,29 @@ public class MOAIDConfigurationModul implements ConfigurationModul{
}
@Autowired
- public void setDatabaseConfiguration(Configuration dbconfig) {
+ public void setDatabaseConfiguration(MOAIDConfiguration dbconfig) {
config = dbconfig;
}
/**
+ * @throws Exception
*
*/
- public MOAIDConfigurationModul() {
- loadType("general", "/gui/types/general.json");
-
-// loadType("oa", "/gui/types/oa.json");
-
- //TODO: load correct types
-// loadType("vidp", "/gui/types/oa.json");
-// loadType("iidp", "/gui/types/oa.json");
-// loadType("gateway", "/gui/types/oa.json");
+ public MOAIDConfigurationModul() throws Exception {
+ loadType("general", "/gui/types/general.json");
+ loadType("moaidoa", "/gui/types/oa.json");
+ loadType("moaidvidp", "/gui/types/vidp.json");
+ loadType("moaidiidp", "/gui/types/iidp.json");
+ loadType("moaidgateway", "/gui/types/gateway.json");
+ try {
+ MOAIDWebGUIConfiguration.getInstance();
+
+ } catch (at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException e) {
+ logger.error("MOA-ID WebGUI initialization FAILED! (Reason: {})", e.getMessage());
+ throw new Exception(e);
+
+ }
}
@@ -146,8 +155,19 @@ public class MOAIDConfigurationModul implements ConfigurationModul{
@Override
public String buildArrayIdentifier(String arrayId, int refCounter,
Map<String, String> properties) throws ConfigurationException {
- // TODO Auto-generated method stub
- return null;
+ logger.trace("Search next free list index for key: " + arrayId);
+
+ if (arrayId.startsWith(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES)) {
+ String[] allListKeys = config.findConfigurationId(arrayId + ".%." + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER);
+ int freeIndex = KeyValueUtils.findNextFreeListCounter(allListKeys, arrayId) + refCounter;
+ logger.debug("Found free listIndex: " + freeIndex + " for serviceKey: " + arrayId);
+ return String.valueOf(freeIndex);
+
+ } else {
+ logger.warn("Actually, only services are from type array and need an index.");
+ throw new ConfigurationException("Actually, only services are from type array and need an index.");
+
+ }
}
/* (non-Javadoc)
@@ -203,7 +223,7 @@ public class MOAIDConfigurationModul implements ConfigurationModul{
Iterator<String> deleteInterator = deleted.iterator();
while (deleteInterator.hasNext()) {
String el = deleteInterator.next();
- try {
+ try {
config.deleteIds(el);
logger.trace("Delete key {}", el);