/** * This method sets additional document information in the document header of the budget form. If * the document contained in the budget form is null then empty values will be placed for the * additional information. * * @param budgetForm the budget form */ private void setAdditionalDocumentHeaderInfo(final BudgetForm budgetForm) { assert budgetForm != null : "the budgetForm is null"; final BudgetDocument budgetDocument = budgetForm.getDocument(); Budget budget = budgetDocument.getBudget(); BudgetParentDocument parentDocument = budgetDocument.getParentDocument(); if (budget != null && parentDocument != null && parentDocument.getBudgetDocumentVersions() != null) { boolean setAdditionalInfo = false; for (final BudgetDocumentVersion budgetVersion : parentDocument.getBudgetDocumentVersions()) { if (budgetVersion .getBudgetVersionOverview() .getBudgetVersionNumber() .equals(budget.getBudgetVersionNumber())) { budgetForm .getDocInfo() .add( new HeaderField( BudgetForm.BUDGET_NAME_KEY, budgetVersion.getBudgetVersionOverview().getDocumentDescription())); setAdditionalInfo = true; break; } else { budgetForm .getDocInfo() .add(new HeaderField(BudgetForm.BUDGET_NAME_KEY, Constants.EMPTY_STRING)); } } if (!setAdditionalInfo) { budgetForm .getDocInfo() .add(new HeaderField(BudgetForm.BUDGET_NAME_KEY, Constants.EMPTY_STRING)); } if (budget.getBudgetVersionNumber() != null) { budgetForm .getDocInfo() .add( new HeaderField( BudgetForm.VERSION_NUMBER_KEY, budget.getBudgetVersionNumber().toString())); } else { budgetForm .getDocInfo() .add(new HeaderField(BudgetForm.VERSION_NUMBER_KEY, Constants.EMPTY_STRING)); } } }
public ActionForward versions( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { BudgetForm budgetForm = (BudgetForm) form; BudgetDocument budgetDocument = budgetForm.getBudgetDocument(); BudgetParentDocument parentDocument = budgetDocument.getParentDocument(); // proposal.refreshReferenceObject("budgetDocumentVersions"); budgetForm.setFinalBudgetVersion( getFinalBudgetVersion(parentDocument.getBudgetDocumentVersions())); setBudgetStatuses(parentDocument); return mapping.findForward(Constants.BUDGET_VERSIONS_PAGE); }
/** * This method checks budget versions business rules. * * @param budgetParentDocument the document * @param runDatactionaryValidation if dd validation should be run * @return true if valid false if not * @throws NullPointerException if the proposalDevelopmentDocument is null */ protected boolean processBudgetVersionsBusinessRule( final BudgetParentDocument budgetParentDocument, final boolean runDatactionaryValidation) { if (budgetParentDocument == null) { throw new NullPointerException("the parentDocument is null."); } boolean valid = true; final MessageMap errorMap = GlobalVariables.getMessageMap(); boolean finalVersionFound = false; final DictionaryValidationService dictionaryValidationService = getKnsDictionaryValidationService(); int index = 0; for (BudgetDocumentVersion budgetDocumentVersion : budgetParentDocument.getBudgetDocumentVersions()) { BudgetVersionOverview budgetVersion = budgetDocumentVersion.getBudgetVersionOverview(); if (runDatactionaryValidation) { dictionaryValidationService.validateBusinessObject(budgetVersion, true); } if (budgetVersion.isFinalVersionFlag()) { if (finalVersionFound) { errorMap.putError("finalVersionFlag", KeyConstants.ERROR_MULTIPLE_FINAL_BUDGETS); } else { finalVersionFound = true; } } final String budgetStatusCompleteCode = getParameterService() .getParameterValueAsString( BudgetDocument.class, Constants.BUDGET_STATUS_COMPLETE_CODE); if (budgetStatusCompleteCode.equalsIgnoreCase(budgetVersion.getBudgetStatus())) { if (!budgetVersion.isFinalVersionFlag()) { errorMap.putError( "budgetVersionOverview[" + index + "].budgetStatus", KeyConstants.ERROR_NO_FINAL_BUDGET); valid = false; } } index++; } return valid; }
/** {@inheritDoc} */ @Override public ActionForward reload( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { final ActionForward forward = super.reload(mapping, form, request, response); final BudgetForm budgetForm = (BudgetForm) form; BudgetDocument budgetDocument = budgetForm.getBudgetDocument(); BudgetParentDocument parentDocument = budgetDocument.getParentDocument(); budgetForm.setFinalBudgetVersion( getFinalBudgetVersion(parentDocument.getBudgetDocumentVersions())); setBudgetStatuses(budgetDocument.getParentDocument()); final BudgetTDCValidator tdcValidator = new BudgetTDCValidator(request); tdcValidator.validateGeneratingWarnings(budgetDocument.getParentDocument()); populateBudgetPrintForms(budgetDocument.getBudget()); return forward; }