private ActionForward doEndDateConfirmation( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, String questionId, String yesMethodName) throws Exception { List<ErrorMessage> errors = GlobalVariables.getMessageMap() .getErrorMessagesForProperty(ProposalHierarchyKeyConstants.FIELD_CHILD_NUMBER); List<String> proposalNumbers = new ArrayList<String>(); for (ErrorMessage error : errors) { if (error .getErrorKey() .equals(ProposalHierarchyKeyConstants.QUESTION_EXTEND_PROJECT_DATE_CONFIRM)) { proposalNumbers.add(error.getMessageParameters()[0]); } } String proposalNumberList = StringUtils.join(proposalNumbers, ','); StrutsConfirmation question = buildParameterizedConfirmationQuestion( mapping, form, request, response, questionId, ProposalHierarchyKeyConstants.QUESTION_EXTEND_PROJECT_DATE_CONFIRM, proposalNumberList); GlobalVariables.getMessageMap().getErrorMessages().clear(); GlobalVariables.getMessageMap().getWarningMessages().clear(); GlobalVariables.getMessageMap().getInfoMessages().clear(); return confirm(question, yesMethodName, "hierarchyActionCanceled"); }
/** * Retrieves validation errors from GlobalVariables MessageMap and appends to the given list of * RemotableAttributeError * * @param validationErrors list to append validation errors */ protected void retrieveValidationErrorsFromGlobalVariables( List<RemotableAttributeError> validationErrors) { // can we use KualiConfigurationService? It seemed to be used elsewhere... ConfigurationService configurationService = CoreApiServiceLocator.getKualiConfigurationService(); if (GlobalVariables.getMessageMap().hasErrors()) { MessageMap deepCopy = (MessageMap) SerializationUtils.deepCopy(GlobalVariables.getMessageMap()); for (String errorKey : deepCopy.getErrorMessages().keySet()) { List<ErrorMessage> errorMessages = deepCopy.getErrorMessages().get(errorKey); if (CollectionUtils.isNotEmpty(errorMessages)) { List<String> errors = new ArrayList<String>(); for (ErrorMessage errorMessage : errorMessages) { // need to materialize the message from it's parameters so we can send it back to the // framework String error = MessageFormat.format( configurationService.getPropertyValueAsString(errorMessage.getErrorKey()), errorMessage.getMessageParameters()); errors.add(error); } RemotableAttributeError remotableAttributeError = RemotableAttributeError.Builder.create(errorKey, errors).build(); validationErrors.add(remotableAttributeError); } } // we should now strip the error messages from the map because they have moved to // validationErrors GlobalVariables.getMessageMap().clearErrorMessages(); } }
/** * @see * org.kuali.rice.kns.maintenance.KualiMaintainableImpl#processAfterEdit(org.kuali.rice.kns.document.MaintenanceDocument, * java.util.Map) */ @Override public void processAfterEdit(MaintenanceDocument document, Map<String, String[]> parameters) { List<ErrorMessage> errorMessages = null; AgencyStagingData agency = (AgencyStagingData) document.getNewMaintainableObject().getBusinessObject(); if (TemConstants.ExpenseImportTypes.IMPORT_BY_TRIP.equals(agency.getImportBy())) { errorMessages = getExpenseImportByTripService().validateAgencyData(agency); } else if (TemConstants.ExpenseImportTypes.IMPORT_BY_TRAVELLER.equals(agency.getImportBy())) { errorMessages = getExpenseImportByTravelerService().validateAgencyData(agency); } if (errorMessages.isEmpty()) { agency.setErrorCode(AgencyStagingDataErrorCodes.AGENCY_NO_ERROR); } MessageMap messageMap = GlobalVariables.getMessageMap(); for (ErrorMessage message : errorMessages) { messageMap.putError( KFSConstants.GLOBAL_ERRORS, message.getErrorKey(), message.getMessageParameters()); } updateCreditCardAgency( (AgencyStagingData) document.getNewMaintainableObject().getBusinessObject()); super.processAfterEdit(document, parameters); }
public ActionMessages getRequestMessages() { ActionMessages requestErrors = new ActionMessages(); for (Iterator<String> iter = getMessagePropertyNames().iterator(); iter.hasNext(); ) { String property = iter.next(); List errorList = (List) getMessagesForProperty(property); for (Iterator iterator = errorList.iterator(); iterator.hasNext(); ) { ErrorMessage errorMessage = (ErrorMessage) iterator.next(); // add ActionMessage with any parameters requestErrors.add( property, new ActionMessage(errorMessage.getErrorKey(), errorMessage.getMessageParameters())); } } return requestErrors; }
@SuppressWarnings("unchecked") public List<AwardSyncLog> getLogsFromSaveErrors(AwardSyncStatus awardStatus) { List<AwardSyncLog> result = new ArrayList<AwardSyncLog>(); Map<String, ? extends List<ErrorMessage>> errors = GlobalVariables.getMessageMap().getErrorMessages(); for (Map.Entry<String, ? extends List<ErrorMessage>> entry : errors.entrySet()) { Iterator<ErrorMessage> iter = entry.getValue().iterator(); while (iter.hasNext()) { ErrorMessage curMessage = iter.next(); awardStatus.addValidationLog( expandErrorString(curMessage.getErrorKey(), curMessage.getMessageParameters()), false, curMessage.getErrorKey()); } } errors.clear(); return result; }