aboutsummaryrefslogtreecommitdiff
path: root/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
diff options
context:
space:
mode:
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java')
-rw-r--r--eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java28
1 files changed, 24 insertions, 4 deletions
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
index ecf5007a..ab84a45f 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/SimpleEidasData.java
@@ -23,20 +23,32 @@
package at.asitplus.eidas.specific.modules.auth.eidas.v2.dao;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+
import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.WorkflowException;
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.service.RegisterSearchService.RegisterSearchResult;
import at.gv.e_government.reference.namespace.persondata._20020228.PostalAddressType;
import lombok.Builder;
import lombok.Data;
-import org.apache.commons.lang3.builder.EqualsBuilder;
@Data
@Builder
public class SimpleEidasData {
+ /**
+ * Full eIDAS personal identifier with prefix.
+ */
private final String personalIdentifier;
+
+ /**
+ * Citizen country-code from eIDAS personal-identifier.
+ */
private final String citizenCountryCode;
// MDS
+ /**
+ * eIDAS personal identifier without prefix.
+ */
private final String pseudonym;
private final String givenName;
private final String familyName;
@@ -55,16 +67,24 @@ public class SimpleEidasData {
* @return true or false depending of the data matches
* @throws WorkflowException if multiple results have been found
*/
- public boolean equalsRegisterData(MergedRegisterSearchResult result) throws WorkflowException {
+ public boolean equalsRegisterData(RegisterSearchResult result) throws WorkflowException {
+ /*TODO: maybe this is check is not valid, because only the minimum data-set (personalIdentifer, givenName,
+ * familyName, dateOfBirth) has to be always available. Any other attributes are optional.
+ * This check will always evaluate to false if register has more information as current eIDAS process!!!
+ */
+
return new EqualsBuilder()
- .append(result.getResult().getPseudonym(), pseudonym)
.append(result.getResult().getGivenName(), givenName)
.append(result.getResult().getFamilyName(), familyName)
.append(result.getResult().getDateOfBirth(), dateOfBirth)
.append(result.getResult().getPlaceOfBirth(), placeOfBirth)
.append(result.getResult().getBirthName(), birthName)
.append(result.getResult().getTaxNumber(), taxNumber)
- .isEquals();
+ .isEquals() && result.getResult().getPseudonym().stream()
+ .filter(el -> el.equals(pseudonym))
+ .findFirst()
+ .isPresent();
+
}
}