List of usage examples for org.springframework.validation BindException getTarget
@Override
public Object getTarget()
From source file:edu.wisc.my.stats.web.DynamicMultiPageFormController.java
/** * @see org.springframework.web.servlet.mvc.AbstractFormController#showForm(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.springframework.validation.BindException) *//* ww w. j a v a 2 s.c o m*/ @Override protected final ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors) throws Exception { //Call showPage with the inital page final Object command = errors.getTarget(); final int initialPage = this.getInitialPage(request, command); return this.showPage(request, errors, initialPage); }
From source file:edu.wisc.my.stats.web.DynamicMultiPageFormController.java
protected final ModelAndView showPage(HttpServletRequest request, BindException errors, int page) throws Exception { //Check for valid page number final Object command = errors.getTarget(); final int pageCount = this.getPageCount(request, command); if (page < 0 || page > pageCount) { throw new ServletException("Invalid wizard page number: " + page); }/*from w w w . j a v a 2s . co m*/ //Set page number as request attribute this.addPageNumberToRequest(request, page, true); //Add page number to model final Map<Object, Object> controlModel = this.createControlModel(page); //Get the viewName (based on the current page) final String viewName = this.getViewName(request, errors.getTarget(), page); return this.showForm(request, errors, viewName, controlModel); }
From source file:org.openmrs.web.controller.person.PersonFormController.java
/** * Redirects to the patient form if the given personId points to a patient. * /*from www .j ava 2 s . c om*/ * @see org.springframework.web.servlet.mvc.SimpleFormController#showForm(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse, org.springframework.validation.BindException) */ @Override protected ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors) throws Exception { Object person = errors.getTarget(); if (person instanceof Patient) { Patient patient = (Patient) person; // Redirect if we are not already in the patient form if (!getFormView().contains("patient")) { return new ModelAndView(new RedirectView("../patients/patient.form?patientId=" + patient.getId())); } } return super.showForm(request, response, errors); }
From source file:org.openmrs.web.controller.person.PersonFormController.java
/** * Redirects to the patient form if the given personId points to a patient. * /*from w w w . j a va 2 s.com*/ * @see org.springframework.web.servlet.mvc.SimpleFormController#showForm(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse, org.springframework.validation.BindException, * java.util.Map) */ @Override protected ModelAndView showForm(HttpServletRequest request, HttpServletResponse response, BindException errors, Map controlModel) throws Exception { Object person = errors.getTarget(); if (person instanceof Patient) { Patient patient = (Patient) person; // Redirect if we are not already in the patient form if (!getFormView().contains("patient")) { return new ModelAndView(new RedirectView("../patients/patient.form?patientId=" + patient.getId())); } } return super.showForm(request, response, errors, controlModel); }
From source file:com.asual.summer.core.ErrorResolver.java
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception e) {/*w w w . j a v a2 s. com*/ if (e instanceof BindException) { BindException be = (BindException) e; Map<String, Map<String, Object>> errors = new HashMap<String, Map<String, Object>>(); for (FieldError fe : (List<FieldError>) be.getFieldErrors()) { Map<String, Object> error = new HashMap<String, Object>(); Object[] args = fe.getArguments(); String key = fe.isBindingFailure() ? fe.getCodes()[2].replaceFirst("typeMismatch", "conversion") : "validation." + fe.getCodes()[2]; String message = ResourceUtils.getMessage(key, args); if (message == null) { if (!fe.isBindingFailure()) { if (key.split("\\.").length > 3) { message = ResourceUtils .getMessage(key.substring(0, key.indexOf(".", key.indexOf(".") + 1)) + key.substring(key.lastIndexOf(".")), args); } if (message == null && key.split("\\.").length > 2) { message = ResourceUtils .getMessage(key.substring(0, key.indexOf(".", key.indexOf(".") + 1)), args); } } else if (fe.isBindingFailure() && key.split("\\.").length > 2) { message = ResourceUtils.getMessage( key.substring(0, key.indexOf(".")) + key.substring(key.lastIndexOf(".")), args); } else { message = fe.getDefaultMessage(); } } error.put("message", message != null ? message : "Error (" + key + ")"); error.put("value", fe.getRejectedValue()); errors.put(fe.getField(), error); } for (ObjectError oe : (List<ObjectError>) be.getGlobalErrors()) { Map<String, Object> error = new HashMap<String, Object>(); Object[] args = oe.getArguments(); String key = "global" + (oe.getCodes() != null ? "." + oe.getCodes()[2] : ""); String message = ResourceUtils.getMessage(key, args); if (message == null) { if (key.split("\\.").length > 3) { message = ResourceUtils.getMessage(key.substring(0, key.indexOf(".", key.indexOf(".") + 1)) + key.substring(key.lastIndexOf(".")), args); } if (message == null && key.split("\\.").length > 2) { message = ResourceUtils.getMessage(key.substring(0, key.indexOf(".", key.indexOf(".") + 1)), args); } if (message == null) { message = oe.getDefaultMessage(); } } error.put("message", message != null ? message : "Error (" + key + ")"); error.put("value", oe.getObjectName()); errors.put(oe.getObjectName(), error); } String form = (String) RequestUtils.getParameter("_form"); if (form != null) { if (request.getAttribute(ERRORS) == null) { request.setAttribute(ERRORS, errors); request.setAttribute(be.getObjectName(), be.getTarget()); return new ModelAndView(new InternalResourceView( form.concat(form.contains("?") ? "&" : "?").concat("_error=true"))); } } else { List<String> pairs = new ArrayList<String>(); for (String key : errors.keySet()) { pairs.add(key + "=" + errors.get(key).get("message")); } try { response.sendError(HttpServletResponse.SC_BAD_REQUEST, StringUtils.join(pairs, ";")); } catch (IOException ioe) { logger.error(ioe.getMessage(), ioe); } } } return null; }
From source file:org.webcurator.ui.admin.controller.AgencyController.java
@Override protected ModelAndView processFormSubmission(HttpServletRequest aReq, HttpServletResponse aRes, Object aCommand, BindException aError) throws Exception { ModelAndView mav = null;/*from w w w. j a v a 2s . c o m*/ AgencyCommand agencyCmd = (AgencyCommand) aCommand; if (agencyCmd != null) { if (aError.hasErrors()) { mav = new ModelAndView(); mav = populateAgencyList(); mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newAgency"); } else if (AgencyCommand.ACTION_NEW.equals(agencyCmd.getActionCommand())) { //Display the Create Agency screen mav = populateAgencyList(); mav.setViewName("newAgency"); } else if (AgencyCommand.ACTION_SAVE.equals(agencyCmd.getActionCommand())) { //Save the new Agency details boolean update = false; Agency agency = new Agency(); if (agencyCmd.getOid() != null) { update = true; agency.setOid(agencyCmd.getOid()); } agency.setName(agencyCmd.getName()); agency.setAddress(agencyCmd.getAddress()); agency.setPhone(agencyCmd.getPhone()); agency.setFax(agencyCmd.getFax()); agency.setEmail(agencyCmd.getEmail()); agency.setAgencyURL(agencyCmd.getAgencyURL()); agency.setAgencyLogoURL(agencyCmd.getAgencyLogoURL()); agency.setShowTasks(agencyCmd.getShowTasks()); agency.setDefaultDescriptionType(agencyCmd.getDescriptionType()); agencyUserManager.updateAgency(agency, update); mav = populateAgencyList(); if (update == true) { mav.addObject(Constants.GBL_MESSAGES, messageSource.getMessage("agency.updated", new Object[] { agencyCmd.getName() }, Locale.getDefault())); } else { mav.addObject(Constants.GBL_MESSAGES, messageSource.getMessage("agency.created", new Object[] { agencyCmd.getName() }, Locale.getDefault())); } } else if (AgencyCommand.ACTION_VIEW.equals(agencyCmd.getActionCommand()) || AgencyCommand.ACTION_EDIT.equals(agencyCmd.getActionCommand())) { Agency agency = agencyUserManager.getAgencyByOid(agencyCmd.getOid()); AgencyCommand populatedCmd = new AgencyCommand(); populatedCmd.setOid(agency.getOid()); populatedCmd.setName(agency.getName()); populatedCmd.setAddress(agency.getAddress()); populatedCmd.setPhone(agency.getPhone()); populatedCmd.setFax(agency.getFax()); populatedCmd.setEmail(agency.getEmail()); populatedCmd.setAgencyURL(agency.getAgencyURL()); populatedCmd.setAgencyLogoURL(agency.getAgencyLogoURL()); populatedCmd.setShowTasks(agency.getShowTasks()); populatedCmd.setViewOnlyMode(AgencyCommand.ACTION_VIEW.equals(agencyCmd.getActionCommand())); populatedCmd.setDescriptionType(agency.getDefaultDescriptionType()); mav = new ModelAndView(); mav = populateAgencyList(); mav.addObject(Constants.GBL_CMD_DATA, populatedCmd); mav.setViewName("newAgency"); } } else { log.warn("No Action provided for AgencyController."); mav = populateAgencyList(); } mav.addObject("descriptionTypes", typeList); return mav; }
From source file:org.webcurator.ui.admin.controller.CreateFlagController.java
@Override protected ModelAndView processFormSubmission(HttpServletRequest aReq, HttpServletResponse aRes, Object aCommand, BindException aError) throws Exception { ModelAndView mav = null;/*from ww w . j a v a 2 s .c o m*/ CreateFlagCommand flagCmd = (CreateFlagCommand) aCommand; if (flagCmd != null) { if (aError.hasErrors()) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateFlagCommand.MDL_AGENCIES, agencies); String mode = flagCmd.getMode(); if (CreateFlagCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateFlagCommand.ACTION_EDIT, mode); } mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newFlag"); } else if (CreateFlagCommand.ACTION_NEW.equals(flagCmd.getAction())) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateFlagCommand.MDL_AGENCIES, agencies); mav.setViewName("newFlag"); } else if (CreateFlagCommand.ACTION_VIEW.equals(flagCmd.getAction()) || CreateFlagCommand.ACTION_EDIT.equals(flagCmd.getAction())) { //View/Edit an existing flag mav = new ModelAndView(); Long flagOid = flagCmd.getOid(); Flag flag = agencyUserManager.getFlagByOid(flagOid); CreateFlagCommand editCmd = new CreateFlagCommand(); editCmd.setOid(flagOid); editCmd.setAgencyOid(flag.getAgency().getOid()); editCmd.setName(flag.getName()); editCmd.setRgb(flag.getRgb()); editCmd.setMode(flagCmd.getAction()); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateFlagCommand.MDL_AGENCIES, agencies); mav.addObject(Constants.GBL_CMD_DATA, editCmd); mav.setViewName("newFlag"); } else if (CreateFlagCommand.ACTION_SAVE.equals(flagCmd.getAction())) { try { Flag flag = new Flag(); boolean update = (flagCmd.getOid() != null); if (update == true) { // Update an existing flag object by loading it in first flag = agencyUserManager.getFlagByOid(flagCmd.getOid()); } else { // Save the newly created flag object //load Agency Long agencyOid = flagCmd.getAgencyOid(); Agency agency = agencyUserManager.getAgencyByOid(agencyOid); flag.setAgency(agency); } flag.setRgb(flagCmd.getRgb()); String complementColour = null; if (flagCmd.getRgb().equals("000000")) { complementColour = "ffffff"; } else { complementColour = getComplementColour(flagCmd.getRgb()); } flag.setComplementRgb(complementColour); flag.setName(flagCmd.getName()); agencyUserManager.updateFlag(flag, update); List flags = agencyUserManager.getFlagForLoggedInUser(); List agencies = null; if (authorityManager.hasPrivilege(Privilege.MANAGE_FLAGS, Privilege.SCOPE_ALL)) { agencies = agencyUserManager.getAgencies(); } else { User loggedInUser = AuthUtil.getRemoteUserObject(); Agency usersAgency = loggedInUser.getAgency(); agencies = new ArrayList<Agency>(); agencies.add(usersAgency); } mav = new ModelAndView(); String message; if (update == true) { message = messageSource.getMessage("flag.updated", new Object[] { flagCmd.getName() }, Locale.getDefault()); } else { message = messageSource.getMessage("flag.created", new Object[] { flagCmd.getName() }, Locale.getDefault()); } String agencyFilter = (String) aReq.getSession().getAttribute(FlagCommand.MDL_AGENCYFILTER); if (agencyFilter == null) { agencyFilter = AuthUtil.getRemoteUserObject().getAgency().getName(); } mav.addObject(FlagCommand.MDL_AGENCYFILTER, agencyFilter); mav.addObject(FlagCommand.MDL_LOGGED_IN_USER, AuthUtil.getRemoteUserObject()); mav.addObject(FlagCommand.MDL_FLAGS, flags); mav.addObject(FlagCommand.MDL_AGENCIES, agencies); mav.addObject(Constants.GBL_MESSAGES, message); mav.setViewName("viewFlags"); } catch (DataAccessException e) { e.printStackTrace(); } } } else { log.warn("No Action provided for CreateFlagController."); } return mav; }
From source file:org.webcurator.ui.admin.controller.CreateQaIndicatorController.java
@Override protected ModelAndView processFormSubmission(HttpServletRequest aReq, HttpServletResponse aRes, Object aCommand, BindException aError) throws Exception { ModelAndView mav = null;/*from www . j a v a 2 s.c om*/ CreateQaIndicatorCommand indicatorCmd = (CreateQaIndicatorCommand) aCommand; if (indicatorCmd != null) { if (aError.hasErrors()) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateQaIndicatorCommand.MDL_AGENCIES, agencies); mav.addObject(CreateQaIndicatorCommand.MDL_UNITS, IndicatorCriteria.UNITS); String mode = indicatorCmd.getMode(); if (CreateQaIndicatorCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateQaIndicatorCommand.ACTION_EDIT, mode); } mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newIndicator"); } else if (CreateQaIndicatorCommand.ACTION_NEW.equals(indicatorCmd.getAction())) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateQaIndicatorCommand.MDL_AGENCIES, agencies); mav.addObject(CreateQaIndicatorCommand.MDL_UNITS, IndicatorCriteria.UNITS); mav.setViewName("newIndicator"); } else if (CreateQaIndicatorCommand.ACTION_VIEW.equals(indicatorCmd.getAction()) || CreateQaIndicatorCommand.ACTION_EDIT.equals(indicatorCmd.getAction())) { //View/Edit an existing indicator mav = new ModelAndView(); Long indicatorOid = indicatorCmd.getOid(); IndicatorCriteria indicator = agencyUserManager.getIndicatorCriteriaByOid(indicatorOid); CreateQaIndicatorCommand editCmd = new CreateQaIndicatorCommand(); editCmd.setOid(indicatorOid); editCmd.setAgencyOid(indicator.getAgency().getOid()); editCmd.setName(indicator.getName()); editCmd.setDescription(indicator.getDescription()); editCmd.setUpperLimit(indicator.getUpperLimit()); editCmd.setLowerLimit(indicator.getLowerLimit()); editCmd.setUpperLimitPercentage(indicator.getUpperLimitPercentage()); editCmd.setLowerLimitPercentage(indicator.getLowerLimitPercentage()); editCmd.setUnit(indicator.getUnit()); editCmd.setShowDelta(indicator.getShowDelta()); editCmd.setEnableReport(indicator.getEnableReport()); editCmd.setMode(indicatorCmd.getAction()); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateQaIndicatorCommand.MDL_AGENCIES, agencies); mav.addObject(CreateQaIndicatorCommand.MDL_UNITS, IndicatorCriteria.UNITS); mav.addObject(Constants.GBL_CMD_DATA, editCmd); mav.setViewName("newIndicator"); } else if (CreateQaIndicatorCommand.ACTION_SAVE.equals(indicatorCmd.getAction())) { try { IndicatorCriteria indicator = new IndicatorCriteria(); boolean update = (indicatorCmd.getOid() != null); if (update == true) { // Update an existing indicator object by loading it in first indicator = agencyUserManager.getIndicatorCriteriaByOid(indicatorCmd.getOid()); } else { // Save the newly created indicator object //load Agency Long agencyOid = indicatorCmd.getAgencyOid(); Agency agency = agencyUserManager.getAgencyByOid(agencyOid); indicator.setAgency(agency); } indicator.setName(indicatorCmd.getName()); indicator.setDescription(indicatorCmd.getDescription()); indicator.setUpperLimit(indicatorCmd.getUpperLimit()); indicator.setLowerLimit(indicatorCmd.getLowerLimit()); indicator.setUpperLimitPercentage(indicatorCmd.getUpperLimitPercentage()); indicator.setLowerLimitPercentage(indicatorCmd.getLowerLimitPercentage()); indicator.setUnit(indicatorCmd.getUnit()); Boolean showDelta = indicatorCmd.getShowDelta(); if (showDelta == null) showDelta = false; indicator.setShowDelta(showDelta); Boolean enableReport = indicatorCmd.getEnableReport(); if (enableReport == null) enableReport = false; indicator.setEnableReport(enableReport); agencyUserManager.updateIndicatorCriteria(indicator, update); List indicators = agencyUserManager.getIndicatorCriteriaForLoggedInUser(); List agencies = null; if (authorityManager.hasPrivilege(Privilege.MANAGE_INDICATORS, Privilege.SCOPE_ALL)) { agencies = agencyUserManager.getAgencies(); } else { User loggedInUser = AuthUtil.getRemoteUserObject(); Agency usersAgency = loggedInUser.getAgency(); agencies = new ArrayList<Agency>(); agencies.add(usersAgency); } mav = new ModelAndView(); String message; if (update == true) { message = messageSource.getMessage("indicator.updated", new Object[] { indicatorCmd.getName() }, Locale.getDefault()); } else { message = messageSource.getMessage("indicator.created", new Object[] { indicatorCmd.getName() }, Locale.getDefault()); } String agencyFilter = (String) aReq.getSession() .getAttribute(QaIndicatorCommand.MDL_AGENCYFILTER); if (agencyFilter == null) { agencyFilter = AuthUtil.getRemoteUserObject().getAgency().getName(); } mav.addObject(QaIndicatorCommand.MDL_AGENCYFILTER, agencyFilter); mav.addObject(QaIndicatorCommand.MDL_LOGGED_IN_USER, AuthUtil.getRemoteUserObject()); mav.addObject(QaIndicatorCommand.MDL_QA_INDICATORS, indicators); mav.addObject(QaIndicatorCommand.MDL_AGENCIES, agencies); mav.addObject(CreateQaIndicatorCommand.MDL_UNITS, IndicatorCriteria.UNITS); mav.addObject(Constants.GBL_MESSAGES, message); mav.setViewName("viewIndicators"); } catch (DataAccessException e) { e.printStackTrace(); } } } else { log.warn("No Action provided for CreateQaIndicatorController."); } return mav; }
From source file:org.webcurator.ui.admin.controller.CreateRejReasonController.java
@Override protected ModelAndView processFormSubmission(HttpServletRequest aReq, HttpServletResponse aRes, Object aCommand, BindException aError) throws Exception { ModelAndView mav = null;/*from w w w. ja v a 2s . c o m*/ CreateRejReasonCommand reasonCmd = (CreateRejReasonCommand) aCommand; if (reasonCmd != null) { if (aError.hasErrors()) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateRejReasonCommand.MDL_AGENCIES, agencies); String mode = reasonCmd.getMode(); if (CreateRejReasonCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateRejReasonCommand.ACTION_EDIT, mode); } mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newReason"); } else if (CreateRejReasonCommand.ACTION_NEW.equals(reasonCmd.getAction())) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateRejReasonCommand.MDL_AGENCIES, agencies); mav.setViewName("newReason"); } else if (CreateRejReasonCommand.ACTION_VIEW.equals(reasonCmd.getAction()) || CreateRejReasonCommand.ACTION_EDIT.equals(reasonCmd.getAction())) { //View/Edit an existing reason mav = new ModelAndView(); Long reasonOid = reasonCmd.getOid(); RejReason reason = agencyUserManager.getRejReasonByOid(reasonOid); CreateRejReasonCommand editCmd = new CreateRejReasonCommand(); editCmd.setOid(reasonOid); editCmd.setAgencyOid(reason.getAgency().getOid()); editCmd.setName(reason.getName()); editCmd.setAvailableForTargets(reason.isAvailableForTargets()); editCmd.setAvailableForTIs(reason.isAvailableForTIs()); editCmd.setMode(reasonCmd.getAction()); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateRejReasonCommand.MDL_AGENCIES, agencies); mav.addObject(Constants.GBL_CMD_DATA, editCmd); mav.setViewName("newReason"); } else if (CreateRejReasonCommand.ACTION_SAVE.equals(reasonCmd.getAction())) { try { RejReason reason = new RejReason(); boolean update = (reasonCmd.getOid() != null); if (update == true) { // Update an existing reason object by loading it in first reason = agencyUserManager.getRejReasonByOid(reasonCmd.getOid()); } else { // Save the newly created reason object //load Agency Long agencyOid = reasonCmd.getAgencyOid(); Agency agency = agencyUserManager.getAgencyByOid(agencyOid); reason.setAgency(agency); } reason.setAvailableForTargets(reasonCmd.isAvailableForTargets()); reason.setAvailableForTIs(reasonCmd.isAvailableForTIs()); reason.setName(reasonCmd.getName()); agencyUserManager.updateRejReason(reason, update); List reasons = agencyUserManager.getRejReasonsForLoggedInUser(); List agencies = null; if (authorityManager.hasPrivilege(Privilege.MANAGE_REASONS, Privilege.SCOPE_ALL)) { agencies = agencyUserManager.getAgencies(); } else { User loggedInUser = AuthUtil.getRemoteUserObject(); Agency usersAgency = loggedInUser.getAgency(); agencies = new ArrayList<Agency>(); agencies.add(usersAgency); } mav = new ModelAndView(); String message; if (update == true) { message = messageSource.getMessage("reason.updated", new Object[] { reasonCmd.getName() }, Locale.getDefault()); } else { message = messageSource.getMessage("reason.created", new Object[] { reasonCmd.getName() }, Locale.getDefault()); } String agencyFilter = (String) aReq.getSession() .getAttribute(RejReasonCommand.MDL_AGENCYFILTER); if (agencyFilter == null) { agencyFilter = AuthUtil.getRemoteUserObject().getAgency().getName(); } mav.addObject(RejReasonCommand.MDL_AGENCYFILTER, agencyFilter); mav.addObject(RejReasonCommand.MDL_LOGGED_IN_USER, AuthUtil.getRemoteUserObject()); mav.addObject(RejReasonCommand.MDL_REASONS, reasons); mav.addObject(RejReasonCommand.MDL_AGENCIES, agencies); mav.addObject(Constants.GBL_MESSAGES, message); mav.setViewName("viewReasons"); } catch (DataAccessException e) { mav = new ModelAndView(); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateRejReasonCommand.MDL_AGENCIES, agencies); String mode = reasonCmd.getMode(); if (CreateRejReasonCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateRejReasonCommand.ACTION_EDIT, mode); } aError.reject("user.duplicate"); mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newReason"); } } } else { log.warn("No Action provided for CreateRejReasonController."); } return mav; }
From source file:org.webcurator.ui.admin.controller.CreateUserController.java
@Override protected ModelAndView processFormSubmission(HttpServletRequest aReq, HttpServletResponse aRes, Object aCommand, BindException aError) throws Exception { CreateUserCommand userCmd = (CreateUserCommand) aCommand; ModelAndView mav = new ModelAndView(); mav.addObject(UserCommand.MDL_LOGGED_IN_USER, AuthUtil.getRemoteUserObject()); if (userCmd != null) { if (aError.hasErrors()) { List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateUserCommand.MDL_AGENCIES, agencies); String mode = userCmd.getMode(); if (CreateUserCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateUserCommand.ACTION_EDIT, mode); }/*from ww w. ja v a 2 s.co m*/ mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newUser"); } else if (CreateUserCommand.ACTION_NEW.equals(userCmd.getAction())) { List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateUserCommand.MDL_AGENCIES, agencies); mav.setViewName("newUser"); } else if (CreateUserCommand.ACTION_VIEW.equals(userCmd.getAction()) || CreateUserCommand.ACTION_EDIT.equals(userCmd.getAction())) { //View/Edit an existing user Long userOid = userCmd.getOid(); User user = agencyUserManager.getUserByOid(userOid); CreateUserCommand editCmd = new CreateUserCommand(); editCmd.setOid(userOid); editCmd.setActive(user.isActive()); editCmd.setAddress(user.getAddress()); editCmd.setAgencyOid(user.getAgency().getOid()); editCmd.setUsername(user.getUsername()); editCmd.setFirstname(user.getFirstname()); editCmd.setLastname(user.getLastname()); editCmd.setTitle(user.getTitle()); editCmd.setPhone(user.getPhone()); editCmd.setEmail(user.getEmail()); editCmd.setNotificationsByEmail(user.isNotificationsByEmail()); editCmd.setTasksByEmail(user.isTasksByEmail()); editCmd.setExternalAuth(user.isExternalAuth()); editCmd.setNotifyOnGeneral(user.isNotifyOnGeneral()); editCmd.setNotifyOnHarvestWarnings(user.isNotifyOnHarvestWarnings()); editCmd.setMode(userCmd.getAction()); List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateUserCommand.MDL_AGENCIES, agencies); List assignedRoles = agencyUserManager.getAssociatedRolesForUser(userCmd.getOid()); mav.addObject(CreateUserCommand.MDL_ASSIGNED_ROLES, assignedRoles); mav.addObject(Constants.GBL_CMD_DATA, editCmd); mav.setViewName("newUser"); } else if (CreateUserCommand.ACTION_SAVE.equals(userCmd.getAction())) { try { User user = new User(); boolean update = (userCmd.getOid() != null); if (update == true) { // Update an existing user object by loading it in first user = agencyUserManager.getUserByOid(userCmd.getOid()); } else { // Save the newly created User object user.setActive(true); //load Agency Long agencyOid = userCmd.getAgencyOid(); Agency agency = agencyUserManager.getAgencyByOid(agencyOid); user.setAgency(agency); user.setExternalAuth(userCmd.isExternalAuth()); // Only set the password for WCT Authenticating users if (userCmd.isExternalAuth() == false) { String pwd = userCmd.getPassword(); String encodedPwd = passwordEncoder.encodePassword(pwd, saltSource.getSystemWideSalt()); user.setPassword(encodedPwd); // force a password change only for WCT users, not LDAP users user.setForcePasswordChange(true); } user.setRoles(null); } user.setAddress(userCmd.getAddress()); user.setEmail(userCmd.getEmail()); user.setFirstname(userCmd.getFirstname()); user.setLastname(userCmd.getLastname()); user.setNotificationsByEmail(userCmd.isNotificationsByEmail()); user.setTasksByEmail(userCmd.isTasksByEmail()); user.setPhone(userCmd.getPhone()); user.setTitle(userCmd.getTitle()); user.setUsername(userCmd.getUsername()); user.setNotifyOnGeneral(userCmd.isNotifyOnGeneral()); user.setNotifyOnHarvestWarnings(userCmd.isNotifyOnHarvestWarnings()); agencyUserManager.updateUser(user, update); List userDTOs = agencyUserManager.getUserDTOsForLoggedInUser(); List agencies = null; if (authorityManager.hasPrivilege(Privilege.MANAGE_USERS, Privilege.SCOPE_ALL)) { agencies = agencyUserManager.getAgencies(); } else { User loggedInUser = AuthUtil.getRemoteUserObject(); Agency usersAgency = loggedInUser.getAgency(); agencies = new ArrayList<Agency>(); agencies.add(usersAgency); } String message; if (update == true) { message = messageSource.getMessage("user.updated", new Object[] { userCmd.getUsername() }, Locale.getDefault()); } else { message = messageSource.getMessage("user.created", new Object[] { userCmd.getUsername() }, Locale.getDefault()); } String agencyFilter = (String) aReq.getSession().getAttribute(UserCommand.MDL_AGENCYFILTER); if (agencyFilter == null) { agencyFilter = AuthUtil.getRemoteUserObject().getAgency().getName(); } mav.addObject(UserCommand.MDL_AGENCYFILTER, agencyFilter); mav.addObject(UserCommand.MDL_USERS, userDTOs); mav.addObject(UserCommand.MDL_AGENCIES, agencies); mav.addObject(Constants.GBL_MESSAGES, message); mav.setViewName("viewUsers"); } catch (DataAccessException e) { List agencies = agencyUserManager.getAgenciesForLoggedInUser(); mav.addObject(CreateUserCommand.MDL_AGENCIES, agencies); String mode = userCmd.getMode(); if (CreateUserCommand.ACTION_EDIT.equals(mode)) { mav.addObject(CreateUserCommand.ACTION_EDIT, mode); } aError.reject("user.duplicate"); mav.addObject(Constants.GBL_CMD_DATA, aError.getTarget()); mav.addObject(Constants.GBL_ERRORS, aError); mav.setViewName("newUser"); } } } else { log.warn("No Action provided for CreateUserController."); return null; } return mav; }