aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2015-07-21 15:28:56 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2015-07-21 15:28:56 +0200
commita10034425b325acaf9796183d1206979664e483d (patch)
tree2f56b3a1b77e7fcdbb8e30d91482cc8f49f45cc9
parent9ba025cd5aa7eefd4dc9dd1cc276e26045bf6d35 (diff)
downloadmoa-id-spss-a10034425b325acaf9796183d1206979664e483d.tar.gz
moa-id-spss-a10034425b325acaf9796183d1206979664e483d.tar.bz2
moa-id-spss-a10034425b325acaf9796183d1206979664e483d.zip
fix problems in configuration GUI
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/MOAIDConfigurationModul.java7
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/exception/ConfigurationValidationException.java25
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesAuthenticationInformationTask.java19
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesProtocolOpenIDTask.java2
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesTargetTask.java20
-rw-r--r--id/moa-id-webgui/src/main/resources/gui/types/oa.json33
6 files changed, 88 insertions, 18 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 80ee9d8c1..9238ea3df 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
@@ -191,10 +191,9 @@ public class MOAIDConfigurationModul implements ConfigurationModul{
} catch (ConfigurationValidationException e) {
logger.warn("Validation of MOA-ID configuration FAILED.");
- //TODO: update ConfigurationStorageException to add specific information of validation errors
- throw new ConfigurationStorageException(
- "Configuration validation finds " + e.getValidationErrors().size() + " errors!",
- e, false, false);
+ //TODO: update ConfigurationStorageException to add specific information of validation errors
+ throw new ConfigurationStorageException(e.getFormatedErrorMessage(),
+ e, false, false);
}
try {
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/exception/ConfigurationValidationException.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/exception/ConfigurationValidationException.java
index 859f2e45e..1b5020eb3 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/exception/ConfigurationValidationException.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/exception/ConfigurationValidationException.java
@@ -22,8 +22,13 @@
*/
package at.gv.egovernment.moa.id.config.webgui.exception;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
import java.util.List;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+
/**
* @author tlenz
*
@@ -46,4 +51,24 @@ public class ConfigurationValidationException extends Exception {
}
+ /**
+ * @return
+ */
+ public String getFormatedErrorMessage() {
+
+ ArrayNode valuesArray = JsonNodeFactory.instance.arrayNode();
+ for (ValidationObjectIdentifier el : errors) {
+ valuesArray.add(el.getMessage());
+ }
+
+ try {
+ return new String(valuesArray.toString().getBytes(), "ISO-8859-1");
+
+ } catch (UnsupportedEncodingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return valuesArray.textValue();
+ }
+ }
+
}
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesAuthenticationInformationTask.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesAuthenticationInformationTask.java
index d061ce29b..8e8feefe0 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesAuthenticationInformationTask.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesAuthenticationInformationTask.java
@@ -24,6 +24,7 @@ package at.gv.egovernment.moa.id.config.webgui.validation.task.impl;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
@@ -33,6 +34,7 @@ import org.slf4j.LoggerFactory;
import at.gv.egiz.components.configuration.api.Configuration;
import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationTaskValidationException;
import at.gv.egovernment.moa.id.config.webgui.exception.ValidationObjectIdentifier;
@@ -76,7 +78,22 @@ public class ServicesAuthenticationInformationTask extends AbstractTaskValidator
@Override
public Map<String, String> postProcessing(Map<String, String> input,
List<String> keysToDelete, Configuration dbconfig) {
- return null;
+ Map<String, String> newConfigValues = new HashMap<String, String>();
+
+ //normalize CSV encoded value string of mandate profiles
+ String mandateProfiles = input.get(MOAIDConfigurationConstants.SERVICE_AUTH_MANDATES_OVS_PROFILES);
+ if (MiscUtil.isNotEmpty(mandateProfiles)) {
+ newConfigValues.put(
+ MOAIDConfigurationConstants.SERVICE_AUTH_MANDATES_OVS_PROFILES,
+ KeyValueUtils.normalizeCSVValueString(mandateProfiles));
+
+ }
+
+ if (newConfigValues.isEmpty())
+ return null;
+ else
+ return newConfigValues;
+
}
/* (non-Javadoc)
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesProtocolOpenIDTask.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesProtocolOpenIDTask.java
index e8cdbba90..51f93adca 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesProtocolOpenIDTask.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesProtocolOpenIDTask.java
@@ -71,7 +71,7 @@ public class ServicesProtocolOpenIDTask extends AbstractTaskValidator implements
*/
@Override
public String getName() {
- return "Service - General Configuration Task";
+ return "Service - Protocol OpenID-Connect Task";
}
/* (non-Javadoc)
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesTargetTask.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesTargetTask.java
index 766032f1f..5d23a60f6 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesTargetTask.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/ServicesTargetTask.java
@@ -168,15 +168,17 @@ public class ServicesTargetTask extends AbstractTaskValidator implements ITaskVa
//check PublicURL Prefix allows PublicService
String uniqueID = input.get(MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER);
- if (!ValidationHelper.isPublicServiceAllowed(input.get(uniqueID))) {
- log.warn("PublicURLPrefix does not allow PublicService: " + uniqueID);
- errors.add(new ValidationObjectIdentifier(
- MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET,
- "PublicService - Target",
- LanguageHelper.getErrorString("validation.general.target.publicserviceurl",
- new Object[] {uniqueID}) ));
-
- }
+
+ //TODO: reactivate if Role based user management is complete!
+// if (!ValidationHelper.isPublicServiceAllowed(input.get(uniqueID))) {
+// log.warn("PublicURLPrefix does not allow PublicService: " + uniqueID);
+// errors.add(new ValidationObjectIdentifier(
+// MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET,
+// "PublicService - Target",
+// LanguageHelper.getErrorString("validation.general.target.publicserviceurl",
+// new Object[] {uniqueID}) ));
+//
+// }
//check Target
check = input.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET);
diff --git a/id/moa-id-webgui/src/main/resources/gui/types/oa.json b/id/moa-id-webgui/src/main/resources/gui/types/oa.json
index 282ffb090..8f04c59d5 100644
--- a/id/moa-id-webgui/src/main/resources/gui/types/oa.json
+++ b/id/moa-id-webgui/src/main/resources/gui/types/oa.json
@@ -468,9 +468,14 @@
},
"minqaalevel" : {
"id": "http://www.egiz.gv.at/dynUI/OA/auth/stork/minqaa",
- "type": "boolean",
- "format" : "checkbox",
- "title": "Minimum QAA Level"
+ "type": "string",
+ "title": "Minimum QAA Level",
+ "enum": [
+ "4",
+ "3",
+ "2",
+ "1"
+ ]
},
"countries" : {
"type": "array",
@@ -533,6 +538,28 @@
}
}
},
+ "reversion.log": {
+ "id": "http://www.egiz.gv.at/dynUI/oa/reversion/log",
+ "type": "object",
+ "title": "Reversion Logging",
+ "description": "Service specific reversion logging",
+ "options": {
+ "collapsed": true
+ },
+ "properties": {
+ "enabled": {
+ "id": "http://www.egiz.gv.at/dynUI/oa/reversion/log/enabled",
+ "type": "boolean",
+ "format" : "checkbox",
+ "title": "Enabled"
+ },
+ "eventcodes": {
+ "id": "http://www.egiz.gv.at/dynUI/oa/reversion/log/eventcodes",
+ "type": "string",
+ "title": "EventCodes (CSV)"
+ }
+ }
+ },
"protocols": {
"id": "http://www.egiz.gv.at/dynUI/oa/protocols",
"type": "object",