aboutsummaryrefslogtreecommitdiff
path: root/id/moa-id-webgui/src/main/java/at/gv/egovernment
diff options
context:
space:
mode:
Diffstat (limited to 'id/moa-id-webgui/src/main/java/at/gv/egovernment')
-rw-r--r--id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/GeneralMOAIDConfigurationTask.java64
1 files changed, 50 insertions, 14 deletions
diff --git a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/GeneralMOAIDConfigurationTask.java b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/GeneralMOAIDConfigurationTask.java
index 0e9411042..1c3e0fe13 100644
--- a/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/GeneralMOAIDConfigurationTask.java
+++ b/id/moa-id-webgui/src/main/java/at/gv/egovernment/moa/id/config/webgui/validation/task/impl/GeneralMOAIDConfigurationTask.java
@@ -29,6 +29,7 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -114,14 +115,32 @@ public class GeneralMOAIDConfigurationTask extends AbstractTaskValidator impleme
}
check = input.get(KeyValueUtils.removePrefixFromKey(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX, getKeyPrefix()));
+ String isVirtualIDPEnabled = input.get(KeyValueUtils.removePrefixFromKey(MOAIDConfigurationConstants.GENERAL_ISVIRTUALIDPSENABLED, getKeyPrefix()));
if (MiscUtil.isNotEmpty(check)) {
- if (!ValidationHelper.validateURL(check)) {
- log.info("Public URL Prefix is not valid");
- errors.add(new ValidationObjectIdentifier(
- MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX,
- "Public URL Prefix",
- LanguageHelper.getErrorString("validation.general.publicURLprefix.valid")));
- }
+ String[] preFixList = check.split(",");
+ if (isVirtualIDPEnabled != null && Boolean.valueOf(isVirtualIDPEnabled)) {
+ for (String el : preFixList) {
+ if (!ValidationHelper.validateURL(el.trim())) {
+ log.info("Public URL Prefix is not valid");
+ errors.add(new ValidationObjectIdentifier(
+ MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX,
+ "Public URL Prefix",
+ LanguageHelper.getErrorString("validation.general.publicURLprefix.valid", new Object[]{el})));
+ }
+ }
+ } else {
+ if (!ValidationHelper.validateURL(
+ StringUtils.chomp(preFixList[0].trim()))) {
+ log.info("Public URL Prefix " + preFixList[0] + " is not valid");
+ errors.add(new ValidationObjectIdentifier(
+ MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX,
+ "Public URL Prefix",
+ LanguageHelper.getErrorString("validation.general.publicURLprefix.valid", new Object[]{preFixList[0]})));
+
+ }
+
+ }
+
} else {
log.info("PublicURL Prefix is empty.");
errors.add(new ValidationObjectIdentifier(
@@ -511,15 +530,32 @@ public class GeneralMOAIDConfigurationTask extends AbstractTaskValidator impleme
Map<String, String> newConfigValues = new HashMap<String, String>();
- String pubURLPrefix = input.get(KeyValueUtils.removePrefixFromKey(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX, getKeyPrefix()));
- if(pubURLPrefix.endsWith("/")) {
- int length = pubURLPrefix.length();
- pubURLPrefix = pubURLPrefix.substring(0, length-1);
- newConfigValues.put(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX, pubURLPrefix);
+ String pubURLPrefix = input.get(KeyValueUtils.removePrefixFromKey(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX, getKeyPrefix()));
+ String normalizedPubURLPrefix = KeyValueUtils.normalizeCSVValueString(pubURLPrefix);
+ String[] normalizedPubURLPrefixList = normalizedPubURLPrefix.split(KeyValueUtils.CSV_DELIMITER);
+ String modifiedPubURLPrefixCSV = null;
+
+ for (String el : normalizedPubURLPrefixList) {
+ String newPubURLPrefix = el;
+ if(el.endsWith("/")) {
+ int length = el.length();
+ newPubURLPrefix = el.substring(0, length-1);
+ }
+
+ if (modifiedPubURLPrefixCSV == null)
+ modifiedPubURLPrefixCSV = newPubURLPrefix;
+ else
+ modifiedPubURLPrefixCSV += KeyValueUtils.CSV_DELIMITER + newPubURLPrefix;
+
+ }
+
+ if (!modifiedPubURLPrefixCSV.equals(pubURLPrefix)) {
+ newConfigValues.put(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX, modifiedPubURLPrefixCSV);
log.debug("Change key: " + MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX
+ " from value: " + input.get(MOAIDConfigurationConstants.GENERAL_PUBLICURLPREFIX)
- + " to value: " + pubURLPrefix);
- }
+ + " to value: " + modifiedPubURLPrefixCSV);
+ }
+
String ssoTarget = input.get(KeyValueUtils.removePrefixFromKey(MOAIDConfigurationConstants.GENERAL_AUTH_SSO_TARGET, getKeyPrefix()));
if (MiscUtil.isNotEmpty(ssoTarget)) {