}
public ActionForward uploadPhoto(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) throws IOException {
final PhdProgramCandidacyProcessBean bean = getCandidacyBean();
final PhotographUploadBean photo = getRenderedObject("uploadPhotoBean");
if (!RenderUtils.getViewState("uploadPhotoBean").isValid()) {
addErrorMessage(request, "error.photo.upload.invalid.information");
return uploadPhotoInvalid(mapping, actionForm, request, response);
}
if (ContentType.getContentType(photo.getContentType()) == null) {
addErrorMessage(request, "error.photo.upload.unsupported.file");
return uploadPhotoInvalid(mapping, actionForm, request, response);
}
try {
photo.processImage();
UploadOwnPhoto.upload(photo, bean.getIndividualProgramProcess().getPerson());
} catch (final UnableToProcessTheImage e) {
addErrorMessage(request, "error.photo.upload.unable.to.process.image");
photo.deleteTemporaryFiles();
return uploadPhotoInvalid(mapping, actionForm, request, response);
} catch (final DomainException e) {
addErrorMessage(request, e.getKey(), e.getArgs());
photo.deleteTemporaryFiles();
return uploadPhotoInvalid(mapping, actionForm, request, response);
}
return viewCandidacy(mapping, actionForm, request, response, bean.getProcess().getCandidacyHashCode());
}