public boolean processSaveAwardDetailsAndDates( AwardDetailsAndDatesSaveEvent awardDetailsAndDatesSaveEvent) { boolean valid = true; Award award = awardDetailsAndDatesSaveEvent.getAward(); if (award.getAnticipatedTotal().isLessThan(award.getObligatedTotal())) { valid = false; reportError(ANTICIPATED_AMOUNT_PROPERTY_NAME, KeyConstants.ERROR_ANTICIPATED_AMOUNT); } if (award.getObligatedTotal().isLessThan(KualiDecimal.ZERO)) { valid = false; reportError(OBLIGATED_AMOUNT_PROPERTY_NAME, KeyConstants.ERROR_OBLIGATED_AMOUNT_NEGATIVE); } if (award.getAnticipatedTotal().isLessThan(KualiDecimal.ZERO)) { valid = false; reportError(ANTICIPATED_AMOUNT_PROPERTY_NAME, KeyConstants.ERROR_ANTICIPATED_AMOUNT_NEGATIVE); } if (award.getObligatedTotal().isGreaterThan(new KualiDecimal(0)) && // award.getAwardEffectiveDate() == null) { award .getAwardAmountInfos() .get(award.getAwardAmountInfos().size() - 1) .getCurrentFundEffectiveDate() == null) { valid = false; reportError(AWARD_EFFECTIVE_DATE_PROPERTY_NAME, KeyConstants.ERROR_AWARD_EFFECTIVE_DATE); } if (award.getObligatedTotal().isGreaterThan(new KualiDecimal(0)) && // award.getObligationExpirationDate() == null) { award .getAwardAmountInfos() .get(award.getAwardAmountInfos().size() - 1) .getObligationExpirationDate() == null) { valid = false; reportError( OBLIGATION_EXPIRATION_DATE_PROPERTY_NAME, KeyConstants.ERROR_OBLIGATION_EXPIRATION_DATE); } return valid; }