}
public ActionForward fillCandidacyInformation(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
final IndividualCandidacyProcessBean bean = getIndividualCandidacyProcessBean();
request.setAttribute(getIndividualCandidacyProcessBeanName(), bean);
if (!StringUtils.isEmpty(bean.getPersonBean().getSocialSecurityNumber())) {
Party existingSocialSecurityNumberParty =
Person.readByContributorNumber(bean.getPersonBean().getSocialSecurityNumber());
if (existingSocialSecurityNumberParty != null
&& existingSocialSecurityNumberParty != bean.getPersonBean().getPerson()) {
// found person with same contributor number
addActionMessage(request, "error.party.existing.contributor.number");
return mapping.findForward("fill-personal-information");
}
}
try {
DegreeOfficePublicCandidacyHashCode candidacyHashCode =
DegreeOfficePublicCandidacyHashCodeOperations.getUnusedOrCreateNewHashCode(getProcessType(),
getParentProcess(request), bean.getPersonBean().getEmail());
bean.setPublicCandidacyHashCode(candidacyHashCode);
} catch (HashCodeForEmailAndProcessAlreadyBounded e) {
addActionMessage(request, "error.candidacy.hash.code.already.bounded");
return mapping.findForward("fill-personal-information");
}