aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'id/ConfigWebTool/src/main/java')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java20
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java81
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java15
3 files changed, 50 insertions, 66 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
index 9e5ba684c..b1e268fef 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralStorkConfig.java
@@ -25,12 +25,14 @@ package at.gv.egovernment.moa.id.configuration.data;
import java.util.ArrayList;
import java.util.List;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS;
import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities;
import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
import at.gv.egovernment.moa.id.commons.db.dao.config.STORK;
import at.gv.egovernment.moa.id.commons.db.dao.config.StorkAttribute;
+
import org.apache.log4j.Logger;
public class GeneralStorkConfig {
@@ -88,6 +90,24 @@ public class GeneralStorkConfig {
}
public List<CPEPS> getCpepslist() {
+ if (null == cpepslist)
+ return null;
+
+ MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+
+ List<CPEPS> cpepss = dbconfig.getAuthComponentGeneral().getForeignIdentities().getSTORK().getCPEPS();
+
+ // make CountryCode "readonly"
+ for (CPEPS newone : cpepslist) {
+ for (CPEPS current : cpepss) {
+ if (null != newone)
+ if (current.getHjid().equals(newone.getHjid())) {
+ newone.setCountryCode(current.getCountryCode());
+ break;
+ }
+ }
+ }
+
return cpepslist;
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
index 0a308a354..0f1673c3a 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
@@ -237,20 +237,8 @@ public class EditGeneralConfigAction extends BasicAction {
} catch (Exception ex) {
ex.printStackTrace();
}
-
- MOAIDConfiguration oldconfig = ConfigurationDBRead.getMOAIDConfiguration();
- AuthComponentGeneral oldauth = null;
- if (oldconfig != null) {
- oldauth = oldconfig.getAuthComponentGeneral();
- }
-
-// MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
-// if (dbconfig == null) {
-// dbconfig = new MOAIDConfiguration();
-// isnewconfig = true;
-// }
- MOAIDConfiguration dbconfig = new MOAIDConfiguration();
+ MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
AuthComponentGeneral dbauth = dbconfig.getAuthComponentGeneral();
if (dbauth == null) {
@@ -486,23 +474,6 @@ public class EditGeneralConfigAction extends BasicAction {
dbchainingmodes.setSystemDefaultMode(
ChainingModeType.fromValue(moaconfig.getDefaultchainigmode()));
- if (oldconfig != null) {
- ChainingModes oldchainigmodes = oldconfig.getChainingModes();
- if (oldchainigmodes != null) {
- List<TrustAnchor> oldtrustanchor = oldchainigmodes.getTrustAnchor();
- if (oldtrustanchor != null) {
- List<TrustAnchor> trustanchor = new ArrayList<TrustAnchor>();
- for (TrustAnchor oldel : oldtrustanchor) {
- TrustAnchor TAel = new TrustAnchor();
- TAel.setX509IssuerName(oldel.getX509IssuerName());
- TAel.setX509SerialNumber(oldel.getX509SerialNumber());
- TAel.setMode(oldel.getMode());
- trustanchor.add(TAel);
- }
- dbchainingmodes.setTrustAnchor(trustanchor);
- }
- }
- }
IdentityLinkSigners idlsigners = dbauth.getIdentityLinkSigners();
if (idlsigners == null) {
@@ -525,43 +496,39 @@ public class EditGeneralConfigAction extends BasicAction {
forcon.setURL(moaconfig.getSzrgwURL());
}
- //TODO: Set STORK Config!!!
- if (oldauth != null) {
- ForeignIdentities oldforeign = oldauth.getForeignIdentities();
- if (oldforeign != null) {
- STORK oldstork = oldforeign.getSTORK();
- if (oldstork == null)
- oldstork = new STORK();
+ ForeignIdentities foreign = dbauth.getForeignIdentities();
+ if (foreign != null) {
+ STORK stork = foreign.getSTORK();
+ if (stork == null)
+ stork = new STORK();
try {
log.error("QAAAA " + storkconfig.getDefaultQaa());
- oldstork.setQualityAuthenticationAssuranceLevel(storkconfig.getDefaultQaa());
+ stork.setQualityAuthenticationAssuranceLevel(storkconfig.getDefaultQaa());
if (storkconfig.getAttributes() != null)
- oldstork.setAttributes(storkconfig.getAttributes());
+ stork.setAttributes(storkconfig.getAttributes());
else
- oldstork.setAttributes((List<StorkAttribute>) (new ArrayList<StorkAttribute>()));
+ stork.setAttributes((List<StorkAttribute>) (new ArrayList<StorkAttribute>()));
if (storkconfig.getCpepslist() != null)
- oldstork.setCPEPS(storkconfig.getCpepslist());
-
+
+ stork.setCPEPS(storkconfig.getCpepslist());
else
- oldstork.setCPEPS((List<CPEPS>) (new ArrayList<CPEPS>()));
+ stork.setCPEPS((List<CPEPS>) (new ArrayList<CPEPS>()));
- dbforeign.setSTORK(oldstork);
} catch (Exception e) {
e.printStackTrace();
}
try{
- log.error("CPEPS LIST: " + storkconfig.getCpepslist().size() );
- log.error("CPEPS 1:" + storkconfig.getCpepslist().get(0).getCountryCode() +storkconfig.getCpepslist().get(0).getURL());
+ log.info("CPEPS LIST: " + storkconfig.getCpepslist().size() );
+ log.trace("CPEPS 1:" + storkconfig.getCpepslist().get(0).getCountryCode() +storkconfig.getCpepslist().get(0).getURL());
} catch (Exception ex) {
- ex.printStackTrace();
+ log.info("CPEPS LIST is null");
}
}
- }
if (MiscUtil.isNotEmpty(moaconfig.getMandateURL())) {
OnlineMandates dbmandate = dbauth.getOnlineMandates();
@@ -604,7 +571,7 @@ public class EditGeneralConfigAction extends BasicAction {
}
moaauth.setTrustProfileID(moaconfig.getMoaspssAuthTrustProfile());
- moaauth.setVerifyTransformsInfoProfileID(moaconfig.getAuthTransformList());
+ moaauth.getVerifyTransformsInfoProfileID().set(0, moaconfig.getAuthTransformList().get(0));
SecurityLayer seclayertrans = dbauth.getSecurityLayer();
if (seclayertrans == null) {
@@ -621,19 +588,6 @@ public class EditGeneralConfigAction extends BasicAction {
elem.setTransformation(moatrans.get(key));
trans.add(elem);
}
- } else {
- if (oldauth != null) {
- SecurityLayer oldsectrans = oldauth.getSecurityLayer();
- if (oldsectrans != null) {
- List<TransformsInfoType> oldtranslist = oldsectrans.getTransformsInfo();
- for (TransformsInfoType oldel : oldtranslist) {
- TransformsInfoType elem = new TransformsInfoType();
- elem.setFilename(oldel.getFilename());
- elem.setTransformation(oldel.getTransformation());
- trans.add(elem);
- }
- }
- }
}
if (trans.size() > 0)
seclayertrans.setTransformsInfo(trans);
@@ -660,9 +614,6 @@ public class EditGeneralConfigAction extends BasicAction {
ConfigurationDBUtils.save(dbconfig);
- if (oldconfig != null)
- ConfigurationDBUtils.delete(oldconfig);
-
} catch (MOADatabaseException e) {
log.warn("MOAID Configuration can not be stored in Database", e);
return LanguageHelper.getErrorString("error.db.oa.store", request);
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
index 8bc916e5a..f7d61653d 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/StorkConfigValidator.java
@@ -28,6 +28,10 @@ public class StorkConfigValidator {
if (form.getCpepslist() != null) {
for(CPEPS current : form.getCpepslist()) {
+ // if an existing record got deleted
+ if(null == current)
+ continue;
+
// check country code
String check = current.getCountryCode();
if (MiscUtil.isNotEmpty(check)) {
@@ -46,7 +50,7 @@ public class StorkConfigValidator {
errors.add(LanguageHelper.getErrorString("validation.stork.cpeps.empty",
new Object[] {check}, request ));
}
-
+
// check url
check = current.getURL();
if (MiscUtil.isNotEmpty(check)) {
@@ -60,6 +64,15 @@ public class StorkConfigValidator {
new Object[] {check}, request ));
}
}
+
+ // ensure uniqueness of country code
+ for (CPEPS one : form.getCpepslist())
+ for (CPEPS another : form.getCpepslist())
+ if (null != one && null != another)
+ if (!one.equals(another) && one.getCountryCode().equals(another.getCountryCode())) {
+ errors.add(LanguageHelper.getErrorString("validation.stork.cpeps.duplicate", request));
+ break;
+ }
}
// check qaa