diff options
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2')
5 files changed, 126 insertions, 129 deletions
| diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java index c6d24e34..c2fc44b9 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java @@ -183,7 +183,7 @@ public class Constants {    public static final String COUNTRY_CODE_DE = "DE";    public static final String COUNTRY_CODE_IT = "IT"; -  public static final String TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK = "TASK_CreateNewErnpEntryTask"; +  public static final String TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK = "TASK_CreateNewErnpEntryTask";    public static final String TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK =        "TASK_GenerateOtherLoginMethodGuiTask";    public static final String TRANSITION_TO_GENERATE_GUI_QUERY_AUSTRIAN_RESIDENCE_TASK = diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/RegisterSearchService.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/RegisterSearchService.java index a3062d0d..6a41893b 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/RegisterSearchService.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/service/RegisterSearchService.java @@ -30,14 +30,14 @@ public class RegisterSearchService {     *     * @param initialSearchResult Result of initial register search     * @param specificDetailSearchResult Result of last register search -   * @param eidData Received eidas data +   * @param eidasData Received eidas data     * @param pendingReq Pending request     * @return The bpk     * @throws TaskExecutionException if an error occurs during the register update     */    public String step7aKittProcess(MergedRegisterSearchResult initialSearchResult,                                    MergedRegisterSearchResult specificDetailSearchResult, -                                  SimpleEidasData eidData, IRequest pendingReq) throws TaskExecutionException { +                                  SimpleEidasData eidasData, IRequest pendingReq) throws TaskExecutionException {      try {        if (initialSearchResult.getResultCount() != 0) {          throw new WorkflowException("initialSearchResult.getResultCount() != 0"); @@ -46,10 +46,10 @@ public class RegisterSearchService {          throw new WorkflowException("countrySpecificDetailSearchResult.getResultCount() != 1");        }        if (specificDetailSearchResult.getResultsZmr().size() == 1) { -        zmrClient.update(specificDetailSearchResult.getResultsZmr().get(0), eidData); +        zmrClient.update(specificDetailSearchResult.getResultsZmr().get(0), eidasData);        }        if (specificDetailSearchResult.getResultsErnp().size() == 1) { -        ernpClient.update(specificDetailSearchResult.getResultsErnp().get(0), eidData); +        ernpClient.update(specificDetailSearchResult.getResultsErnp().get(0), eidasData);        }        return specificDetailSearchResult.getBpk();      } catch (WorkflowException e) { @@ -57,39 +57,54 @@ public class RegisterSearchService {      }    } -  public MergedRegisterSearchResult searchWithMds(SimpleEidasData eidData) { +  /** +   * Search with MDS (Given Name, Family Name, Date of Birth) in ZMR and ERnP. +   */ +  public MergedRegisterSearchResult searchWithMds(SimpleEidasData eidasData) {      List<RegisterResult> resultsZmr = -        zmrClient.searchWithMds(eidData.getGivenName(), eidData.getFamilyName(), eidData.getDateOfBirth()); +        zmrClient.searchWithMds(eidasData.getGivenName(), eidasData.getFamilyName(), eidasData.getDateOfBirth());      List<RegisterResult> resultsErnp = -        ernpClient.searchWithMds(eidData.getGivenName(), eidData.getFamilyName(), eidData.getDateOfBirth()); +        ernpClient.searchWithMds(eidasData.getGivenName(), eidasData.getFamilyName(), eidasData.getDateOfBirth());      return new MergedRegisterSearchResult(resultsZmr, resultsErnp);    } -  public MergedRegisterSearchResult searchWithPersonIdentifier(SimpleEidasData eidData) { -    List<RegisterResult> resultsZmr = zmrClient.searchWithPersonIdentifier(eidData.getPseudonym()); -    List<RegisterResult> resultsErnp = ernpClient.searchWithPersonIdentifier(eidData.getPseudonym()); +  /** +   * Search with Person Identifier (eIDAS Pseudonym) in ZMR and ERnP. +   */ +  public MergedRegisterSearchResult searchWithPersonIdentifier(SimpleEidasData eidasData) { +    List<RegisterResult> resultsZmr = zmrClient.searchWithPersonIdentifier(eidasData.getPseudonym()); +    List<RegisterResult> resultsErnp = ernpClient.searchWithPersonIdentifier(eidasData.getPseudonym());      return new MergedRegisterSearchResult(resultsZmr, resultsErnp);    } -  public MergedRegisterSearchResult searchItSpecific(SimpleEidasData eidData) { -    List<RegisterResult> resultsZmr = zmrClient.searchItSpecific(eidData.getTaxNumber()); -    List<RegisterResult> resultsErnb = ernpClient.searchItSpecific(eidData.getTaxNumber()); +  /** +   * Search with Tax Number in ZMR and ERnP. +   */ +  public MergedRegisterSearchResult searchItSpecific(SimpleEidasData eidasData) { +    List<RegisterResult> resultsZmr = zmrClient.searchItSpecific(eidasData.getTaxNumber()); +    List<RegisterResult> resultsErnb = ernpClient.searchItSpecific(eidasData.getTaxNumber());      return new MergedRegisterSearchResult(resultsZmr, resultsErnb);    } -  public MergedRegisterSearchResult searchDeSpecific(SimpleEidasData eidData) { +  /** +   * Search with Given Name, Family Name, Date of Birth, Place of Birth and Birth Name in ZMR and ERnP. +   */ +  public MergedRegisterSearchResult searchDeSpecific(SimpleEidasData eidasData) {      List<RegisterResult> resultsZmr = -        zmrClient.searchDeSpecific(eidData.getGivenName(), eidData.getFamilyName(), eidData.getDateOfBirth(), -            eidData.getPlaceOfBirth(), eidData.getBirthName()); +        zmrClient.searchDeSpecific(eidasData.getGivenName(), eidasData.getFamilyName(), eidasData.getDateOfBirth(), +            eidasData.getPlaceOfBirth(), eidasData.getBirthName());      List<RegisterResult> resultsErnb = -        ernpClient.searchDeSpecific(eidData.getGivenName(), eidData.getFamilyName(), eidData.getDateOfBirth(), -            eidData.getPlaceOfBirth(), eidData.getBirthName()); +        ernpClient.searchDeSpecific(eidasData.getGivenName(), eidasData.getFamilyName(), eidasData.getDateOfBirth(), +            eidasData.getPlaceOfBirth(), eidasData.getBirthName());      return new MergedRegisterSearchResult(resultsZmr, resultsErnb);    } -  public MergedRegisterSearchResult searchWithBpkZp(String bpkzp) { -    List<RegisterResult> resultsZmr = zmrClient.searchWithBpkZp(bpkzp); -    List<RegisterResult> resultsErnp = ernpClient.searchWithBpkZp(bpkzp); +  /** +   * Search with BPK-ZP in BMR and ERnP. +   */ +  public MergedRegisterSearchResult searchWithBpkZp(String bpkZp) { +    List<RegisterResult> resultsZmr = zmrClient.searchWithBpkZp(bpkZp); +    List<RegisterResult> resultsErnp = ernpClient.searchWithBpkZp(bpkZp);      return new MergedRegisterSearchResult(resultsZmr, resultsErnp);    }  } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java index 4fdf3cd2..8a2cac0d 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/InitialSearchTask.java @@ -44,6 +44,7 @@ import eu.eidas.auth.commons.protocol.eidas.impl.PostalAddress;  import lombok.extern.slf4j.Slf4j;  import org.apache.commons.lang3.StringUtils;  import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable;  import org.joda.time.DateTime;  import org.springframework.stereotype.Component; @@ -91,114 +92,115 @@ public class InitialSearchTask extends AbstractAuthServletTask {        final String bpk = step2RegisterSearchWithPersonIdentifier(executionContext, eidasData, authProcessData);        authProcessData.setGenericDataToSession(DATA_RESULT_MATCHING_BPK, bpk);        authProcessData.setGenericDataToSession(DATA_SIMPLE_EIDAS, eidasData); +    } catch (final TaskExecutionException e) { +      log.error("Initial search failed", e); +      throw e;      } catch (final Exception e) { -      log.error("Initial search FAILED.", e); -      throw new TaskExecutionException(pendingReq, "Initial search FAILED.", e); +      log.error("Initial search failed", e); +      throw new TaskExecutionException(pendingReq, "Initial search failed", e);      }    }    private String step2RegisterSearchWithPersonIdentifier( -      ExecutionContext executionContext, SimpleEidasData eidData, AuthProcessDataWrapper authProcessData) -      throws TaskExecutionException { +      ExecutionContext executionContext, SimpleEidasData eidasData, AuthProcessDataWrapper authProcessData) +      throws TaskExecutionException, EaafStorageException, ManualFixNecessaryException {      log.trace("Starting step2RegisterSearchWithPersonIdentifier"); -    String personIdentifier = eidData.getPseudonym(); -    MergedRegisterSearchResult result = registerSearchService.searchWithPersonIdentifier(eidData); -    //store data in session -    try { -      authProcessData.setGenericDataToSession(DATA_INITIAL_REGISTER_RESULT, result); -    } catch (EaafStorageException e) { -      throw new TaskExecutionException(pendingReq, "Initial search - Kitt Process necessary.", e); -    } -    if (result.getResultCount() == 0) { -      return step5CheckAndPerformCountrySpecificSearchIfPossible(executionContext, result, eidData); -    } else if (result.getResultCount() == 1) { -      return step3CheckRegisterUpdateNecessary(result, eidData); +    String personIdentifier = eidasData.getPseudonym(); +    MergedRegisterSearchResult registerData = registerSearchService.searchWithPersonIdentifier(eidasData); +    authProcessData.setGenericDataToSession(DATA_INITIAL_REGISTER_RESULT, registerData); +    switch (registerData.getResultCount()) { +      case 0: +        return step5CheckAndPerformCountrySpecificSearchIfPossible(executionContext, registerData, eidasData); +      case 1: +        return step3CheckRegisterUpdateNecessary(registerData, eidasData); +      default: +        throw new ManualFixNecessaryException(personIdentifier);      } -    throw new TaskExecutionException(pendingReq, "Initial search - Kitt Process necessary.", -        new ManualFixNecessaryException(personIdentifier));    } -  private String step3CheckRegisterUpdateNecessary(MergedRegisterSearchResult result, SimpleEidasData eidData) -      throws TaskExecutionException { +  private String step3CheckRegisterUpdateNecessary(MergedRegisterSearchResult registerData, SimpleEidasData eidasData) +      throws ManualFixNecessaryException {      log.trace("Starting step3CheckRegisterUpdateNecessary");      try { -      if (eidData.equalsRegisterData(result)) { -        //No update necessary, just return bpk -        return result.getBpk(); +      if (eidasData.equalsRegisterData(registerData)) { +        return registerData.getBpk();        } else { -        return step4UpdateRegisterData(result, eidData); +        return step4UpdateRegisterData(registerData, eidasData);        }      } catch (WorkflowException e) { -      throw new TaskExecutionException(pendingReq, "Initial search - Kitt Process necessary.", e); +      throw new ManualFixNecessaryException(eidasData);      }    } -  private String step4UpdateRegisterData(MergedRegisterSearchResult result, -                                         SimpleEidasData eidData) throws WorkflowException { +  private String step4UpdateRegisterData(MergedRegisterSearchResult registerData, SimpleEidasData eidasData) +      throws WorkflowException {      log.trace("Starting step4UpdateRegisterData"); -    log.debug("Update {} with {}", result, eidData); +    log.debug("Update {} with {}", registerData, eidasData);      //TODO wann rechtlich möglich? -    return result.getBpk(); +    return registerData.getBpk();    }    private String step5CheckAndPerformCountrySpecificSearchIfPossible( -      ExecutionContext executionContext, MergedRegisterSearchResult result, SimpleEidasData eidData) -      throws TaskExecutionException { +      ExecutionContext executionContext, MergedRegisterSearchResult registerData, SimpleEidasData eidasData) +      throws TaskExecutionException, ManualFixNecessaryException {      log.trace("Starting step5CheckAndPerformCountrySpecificSearchIfPossible"); -    String citizenCountry = eidData.getCitizenCountryCode(); -    CountrySpecificDetailSearchProcessor foundHandler = null; -    for (final CountrySpecificDetailSearchProcessor el : handlers) { -      if (el.canHandle(citizenCountry, eidData)) { -        log.debug("Found suitable country specific search handler for {} by using: {}", citizenCountry, el.getName()); -        foundHandler = el; -        break; -      } -    } -    if (foundHandler == null) { -      return step8RegisterSearchWithMds(executionContext, eidData); +    CountrySpecificDetailSearchProcessor specificHandler = findSpecificProcessor(eidasData); +    if (specificHandler != null) { +      return step6CountrySpecificSearch(executionContext, specificHandler, registerData, eidasData);      } else { -      return step6CountrySpecificSearch(executionContext, foundHandler, result, eidData); +      return step8RegisterSearchWithMds(executionContext, eidasData);      }    } +  @Nullable +  private CountrySpecificDetailSearchProcessor findSpecificProcessor(SimpleEidasData eidasData) { +    final String citizenCountry = eidasData.getCitizenCountryCode(); +    for (final CountrySpecificDetailSearchProcessor processor : handlers) { +      if (processor.canHandle(citizenCountry, eidasData)) { +        log.debug("Found suitable search handler for {} by using: {}", citizenCountry, processor.getName()); +        return processor; +      } +    } +    return null; +  } +    private String step6CountrySpecificSearch(ExecutionContext executionContext, -                                            CountrySpecificDetailSearchProcessor countrySpecificDetailSearchProcessor, -                                            MergedRegisterSearchResult initialSearchResult, -                                            SimpleEidasData eidData) throws TaskExecutionException { +                                            CountrySpecificDetailSearchProcessor processor, +                                            MergedRegisterSearchResult registerData, +                                            SimpleEidasData eidasData) +      throws TaskExecutionException, ManualFixNecessaryException {      log.trace("Starting step6CountrySpecificSearch"); -    MergedRegisterSearchResult countrySpecificDetailSearchResult = -        countrySpecificDetailSearchProcessor.search(eidData); - -    switch (countrySpecificDetailSearchResult.getResultCount()) { +    MergedRegisterSearchResult countrySearchResult = processor.search(eidasData); +    switch (countrySearchResult.getResultCount()) {        case 0: -        return step8RegisterSearchWithMds(executionContext, eidData); +        return step8RegisterSearchWithMds(executionContext, eidasData);        case 1: -        return step7aKittProcess(initialSearchResult, countrySpecificDetailSearchResult, eidData); +        return step7aKittProcess(registerData, countrySearchResult, eidasData);        default: -        throw new TaskExecutionException(pendingReq, "Detail search - Kitt Process necessary.", -            new ManualFixNecessaryException(eidData)); +        throw new ManualFixNecessaryException(eidasData);      }    } -  private String step7aKittProcess(MergedRegisterSearchResult initialSearchResult, +  private String step7aKittProcess(MergedRegisterSearchResult registerData,                                     MergedRegisterSearchResult countrySpecificDetailSearchResult, -                                   SimpleEidasData eidData) throws TaskExecutionException { +                                   SimpleEidasData eidasData) throws TaskExecutionException {      log.trace("Starting step7aKittProcess"); -    return registerSearchService.step7aKittProcess(initialSearchResult, countrySpecificDetailSearchResult, -        eidData, pendingReq); +    return registerSearchService.step7aKittProcess(registerData, countrySpecificDetailSearchResult, +        eidasData, pendingReq);    } -  private String step8RegisterSearchWithMds(ExecutionContext executionContext, SimpleEidasData eidData) { +  private String step8RegisterSearchWithMds(ExecutionContext executionContext, SimpleEidasData eidasData) {      log.trace("Starting step8RegisterSearchWithMds"); -    MergedRegisterSearchResult mdsSearchResult = registerSearchService.searchWithMds(eidData); -    if (mdsSearchResult.getResultCount() == 0) { -      executionContext.put(TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK, true); +    MergedRegisterSearchResult registerData = registerSearchService.searchWithMds(eidasData); +    if (registerData.getResultCount() == 0) { +      executionContext.put(TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK, true);      } else {        executionContext.put(TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK, true);      }      // todo das suchergebnis auch noch speichern für später!      //TODO implement next phase and return correct value +    // TODO what to return?      return null;    } @@ -207,30 +209,26 @@ public class InitialSearchTask extends AbstractAuthServletTask {        throws EidasAttributeException {      final ILightResponse eidasResponse = authProcessData          .getGenericDataFromSession(DATA_FULL_EIDAS_RESPONSE, ILightResponse.class); -    return convertSimpleMapToSimpleData(convertEidasAttrToSimpleMap(eidasResponse.getAttributes().getAttributeMap())); +    Map<String, Object> simpleMap = convertEidasAttrToSimpleMap(eidasResponse.getAttributes().getAttributeMap()); +    return convertSimpleMapToSimpleData(simpleMap);    }    private SimpleEidasData convertSimpleMapToSimpleData(Map<String, Object> eidasAttrMap)        throws EidasAttributeException {      SimpleEidasData result = new SimpleEidasData(); -      result.setCitizenCountryCode(processCountryCode(eidasAttrMap.get(eIDAS_ATTR_PERSONALIDENTIFIER))); -      // MDS attributes      result.setPseudonym(processPseudonym(eidasAttrMap.get(eIDAS_ATTR_PERSONALIDENTIFIER)));      result.setFamilyName(processFamilyName(eidasAttrMap.get(eIDAS_ATTR_CURRENTFAMILYNAME)));      result.setGivenName(processGivenName(eidasAttrMap.get(eIDAS_ATTR_CURRENTGIVENNAME)));      result.setDateOfBirth(processDateOfBirthToString(eidasAttrMap.get(eIDAS_ATTR_DATEOFBIRTH))); -      // additional attributes      result.setPlaceOfBirth(processPlaceOfBirth(eidasAttrMap.get(eIDAS_ATTR_PLACEOFBIRTH)));      result.setBirthName(processBirthName(eidasAttrMap.get(eIDAS_ATTR_BIRTHNAME)));      result.setAddress(processAddress(eidasAttrMap.get(eIDAS_ATTR_CURRENTADDRESS))); -      if (eidasAttrMap.containsKey(eIDAS_ATTR_TAXREFERENCE)) {        result.setTaxNumber(processTaxReference(eidasAttrMap.get(eIDAS_ATTR_TAXREFERENCE)));      } -      //TODO other additional attributes      return result;    } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java index 2020274a..7dcf62ac 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/tasks/ReceiveAustrianResidenceGuiResponseTask.java @@ -104,7 +104,7 @@ public class ReceiveAustrianResidenceGuiResponseTask extends AbstractAuthServlet        step18_RegisterSearch(street, city, zipcode);//TODO also MDS?      } else {        //step 20 or for now (phase 1) step 9 -      executionContext.put(Constants.TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK, true); +      executionContext.put(Constants.TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK, true);      } diff --git a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java index 4dd6b92e..c9f123dc 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java @@ -131,9 +131,7 @@ public class InitialSearchTaskTest {      Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertEquals("Wrong bpk", bPk, randomBpk);    } @@ -150,9 +148,7 @@ public class InitialSearchTaskTest {          new RegisterResult(randomBpk, randomIdentifier, newRandomGivenName, randomFamilyName, randomBirthDate)));      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertEquals("Wrong bpk", bPk, randomBpk);    } @@ -174,7 +170,7 @@ public class InitialSearchTaskTest {          () -> task.execute(pendingReq, executionContext));      Throwable origE = exception.getOriginalException(); -    Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException)); +    Assert.assertTrue("Wrong exception", (origE instanceof ManualFixNecessaryException));    } @@ -196,7 +192,7 @@ public class InitialSearchTaskTest {          () -> task.execute(pendingReq, executionContext));      Throwable origE = exception.getOriginalException(); -    Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException)); +    Assert.assertTrue("Wrong exception", (origE instanceof ManualFixNecessaryException));    }    /** @@ -210,9 +206,7 @@ public class InitialSearchTaskTest {          new RegisterResult(randomBpk, randomIdentifier, randomGivenName, randomFamilyName, randomBirthDate)));      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertEquals("Wrong bpk", bPk, randomBpk);    } @@ -228,9 +222,7 @@ public class InitialSearchTaskTest {      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertEquals("Wrong bpk", bPk, randomBpk);    } @@ -257,9 +249,7 @@ public class InitialSearchTaskTest {      task.execute(pendingReq1, executionContext); -    String bPk = (String) -        pendingReq1.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq1);      Assert.assertEquals("Wrong bpk", bPk, randomBpk);    } @@ -287,9 +277,7 @@ public class InitialSearchTaskTest {      task.execute(pendingReq1, executionContext); -    String resultBpk = (String) -        pendingReq1.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String resultBpk = readBpkFromSessionData(pendingReq1);      Assert.assertEquals("Wrong bpk", resultBpk, randomBpk);    } @@ -325,7 +313,7 @@ public class InitialSearchTaskTest {          () -> task.execute(pendingReq1, executionContext));      Throwable origE = exception.getOriginalException(); -    Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException)); +    Assert.assertTrue("Wrong exception", (origE instanceof ManualFixNecessaryException));    }    /** @@ -358,7 +346,7 @@ public class InitialSearchTaskTest {          () -> task.execute(pendingReq1, executionContext));      Throwable origE = exception.getOriginalException(); -    Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException)); +    Assert.assertTrue("Wrong exception", (origE instanceof ManualFixNecessaryException));    }    /** @@ -372,14 +360,12 @@ public class InitialSearchTaskTest {      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertNull("Wrong bpk", bPk);      Boolean transitionGUI = (Boolean) executionContext.get(Constants.TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK);      Assert.assertNull("Wrong transition", transitionGUI); -    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK); +    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK);      Assert.assertTrue("Wrong transition", transitionErnb);    } @@ -398,13 +384,11 @@ public class InitialSearchTaskTest {      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertNull("Wrong bpk", bPk);      Boolean transitionGUI = (Boolean) executionContext.get(Constants.TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK);      Assert.assertTrue("Wrong transition", transitionGUI); -    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK); +    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK);      Assert.assertNull("Wrong transition", transitionErnb);    } @@ -423,13 +407,11 @@ public class InitialSearchTaskTest {      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertNull("Wrong bpk", bPk);      Boolean transitionGUI = (Boolean) executionContext.get(Constants.TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK);      Assert.assertTrue("Wrong transition", transitionGUI); -    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK); +    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK);      Assert.assertNull("Wrong transition", transitionErnb);    } @@ -450,13 +432,11 @@ public class InitialSearchTaskTest {      task.execute(pendingReq, executionContext); -    String bPk = (String) -        pendingReq.getSessionData(AuthProcessDataWrapper.class) -            .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +    String bPk = readBpkFromSessionData(pendingReq);      Assert.assertNull("Wrong bpk", bPk);      Boolean transitionGUI = (Boolean) executionContext.get(Constants.TRANSITION_TO_GENERATE_OTHER_LOGIN_METHOD_GUI_TASK);      Assert.assertTrue("Wrong transition", transitionGUI); -    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNB_ENTRY_TASK); +    Boolean transitionErnb = (Boolean) executionContext.get(Constants.TRANSITION_TO_CREATE_NEW_ERNP_ENTRY_TASK);      Assert.assertNull("Wrong transition", transitionErnb);    } @@ -538,4 +518,8 @@ public class InitialSearchTaskTest {          .attributeValueMarshaller(marshaller).build();    } +  private String readBpkFromSessionData(TestRequestImpl pendingReq) { +    return (String) pendingReq.getSessionData(AuthProcessDataWrapper.class) +        .getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK); +  }  } | 
