List of usage examples for org.apache.commons.collections4 CollectionUtils isEmpty
public static boolean isEmpty(final Collection<?> coll)
From source file:org.kuali.coeus.common.budget.impl.period.BudgetPeriodRule.java
private boolean isValidNewBudgetPeriod(Budget budget, BudgetPeriod newBudgetPeriod, String errorPathPrefix) { MessageMap errorMap = GlobalVariables.getMessageMap(); boolean validNewBudgetPeriod = true; List<BudgetPeriod> budgetPeriods = budget.getBudgetPeriods(); Date previousPeriodStartDate = null; Date previousPeriodEndDate = null; Date periodStartDate = null;/*w w w.ja v a 2s . c o m*/ Date periodEndDate = null; Date newPeriodStartDate = null; Date newPeriodEndDate = null; int index = 0; /* check new budget period */ newPeriodStartDate = newBudgetPeriod.getStartDate(); newPeriodEndDate = newBudgetPeriod.getEndDate(); errorMap.addToErrorPath(errorPathPrefix); if (newPeriodStartDate == null) { saveErrors("ERROR_PERIOD_START_REQUIRED", errorMap); validNewBudgetPeriod = false; } if (newPeriodEndDate == null) { saveErrors("ERROR_PERIOD_END_REQUIRED", errorMap); validNewBudgetPeriod = false; } errorMap.removeFromErrorPath(errorPathPrefix); if (CollectionUtils.isEmpty(budgetPeriods)) { newBudgetPeriod.setBudgetPeriod(1); } /* if dates are valid, check further where we can insert this new date */ if (validNewBudgetPeriod) { int totalBudgetPeriods = budgetPeriods.size() - 1; errorMap.addToErrorPath(errorPathPrefix); for (BudgetPeriod budgetPeriod : budgetPeriods) { Date validDateBefore; periodStartDate = budgetPeriod.getStartDate(); periodEndDate = budgetPeriod.getEndDate(); String dateCompareValue = null; /* check first record */ if (previousPeriodStartDate == null) { validDateBefore = budget.getStartDate(); } else { validDateBefore = previousPeriodEndDate; } /* check if entered new period already exists in budget periods list */ int periodNum = index; String[] newPeriodDateParams = { periodNum + "", periodNum + 1 + "" }; String invalidErrorMessage = null; if (index == 0 || index == totalBudgetPeriods) { invalidErrorMessage = "ERROR_NEW_PERIOD_INVALID"; } else { invalidErrorMessage = "ERROR_NEW_PERIOD_VALID"; } if ((newPeriodStartDate.compareTo(periodStartDate) == 0) || (newPeriodEndDate.compareTo(periodEndDate) == 0)) { saveErrors(invalidErrorMessage, errorMap, newPeriodDateParams); validNewBudgetPeriod = false; break; } else if (newPeriodStartDate.before(periodStartDate) || (index == totalBudgetPeriods && newPeriodStartDate.after(periodEndDate))) { /* check if new period start date is before current period start date */ boolean lastRecord = false; if (index == totalBudgetPeriods) { lastRecord = true; if (newPeriodStartDate.after(periodEndDate)) { periodNum = index + 1; } } /* check new budget period */ if (newPeriodStartDate.before(budget.getStartDate())) { dateCompareValue = "ERROR_PERIOD_START_BEFORE_PROJECT_START"; } else if (newPeriodStartDate.after(budget.getEndDate())) { dateCompareValue = "ERROR_NEW_PERIOD_START_AFTER_PROJECT_END"; } else if (newPeriodEndDate.after(budget.getEndDate())) { dateCompareValue = "ERROR_NEW_PERIOD_END_DATE"; } else if (newPeriodStartDate.before(validDateBefore)) { dateCompareValue = invalidErrorMessage; } else if ((index < totalBudgetPeriods) && newPeriodEndDate.after(periodStartDate)) { if (!lastRecord) { dateCompareValue = invalidErrorMessage; } else { dateCompareValue = "ERROR_NEW_PERIOD_PROJECT_END"; } } if (dateCompareValue != null) { saveErrors(dateCompareValue, errorMap, newPeriodDateParams); validNewBudgetPeriod = false; } else { newBudgetPeriod.setBudgetPeriod(periodNum + 1); } break; } else if (newPeriodStartDate.compareTo(periodEndDate) <= 0) { dateCompareValue = "ERROR_NEW_PERIOD_START_BEFORE_PREVIOUS_END"; saveErrors(dateCompareValue, errorMap, newPeriodDateParams); validNewBudgetPeriod = false; break; } previousPeriodStartDate = budgetPeriod.getStartDate(); previousPeriodEndDate = budgetPeriod.getEndDate(); index++; } errorMap.removeFromErrorPath(errorPathPrefix); } return validNewBudgetPeriod; }
From source file:org.kuali.coeus.common.budget.impl.personnel.BudgetPersonnelRule.java
protected boolean processCheckJobCodeObjectCodeCombo(Budget budget, BudgetPersonnelDetails newBudgetPersonnelDetails, boolean save) { List<ValidCeJobCode> validCostElements = null; boolean isValid = false; validCostElements = getApplicableCostElements(budget, newBudgetPersonnelDetails, save); if (CollectionUtils.isEmpty(validCostElements)) { isValid = true;// w ww . j ava 2 s . co m } else { for (ValidCeJobCode validCeJobCode : validCostElements) { if (validCeJobCode.getCostElement().equalsIgnoreCase(newBudgetPersonnelDetails.getCostElement())) { isValid = true; break; } } } return isValid; }
From source file:org.kuali.coeus.common.budget.impl.rate.BudgetRatesServiceImpl.java
@Override public boolean checkActivityTypeChange(Collection<BudgetRate> allPropRates, String activityTypeCode) { if (CollectionUtils.isNotEmpty(allPropRates)) { Equals equalsActivityType = new Equals("activityTypeCode", activityTypeCode); QueryList<BudgetRate> matchActivityTypePropRates = new QueryList<>(allPropRates) .filter(equalsActivityType); if (CollectionUtils.isEmpty(matchActivityTypePropRates) || allPropRates.size() != matchActivityTypePropRates.size()) { return true; }// w w w . j a v a 2s. c om } return false; }
From source file:org.kuali.coeus.common.budget.impl.struts.BudgetVersionsAction.java
@Override public ActionForward docHandler(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { final ActionForward forward = super.docHandler(mapping, form, request, response); final BudgetForm budgetForm = (BudgetForm) form; Budget budget = budgetForm.getBudget(); BudgetParentDocument parentDocument = budget.getBudgetParent().getDocument(); BudgetParent budgetParent = budget.getBudgetParent(); AwardBudgetService awardBudgetService = KcServiceLocator.getService(AwardBudgetService.class); BudgetRatesService budgetService = KcServiceLocator.getService(BudgetRatesService.class); Collection<BudgetRate> savedBudgetRates = budgetService.getSavedBudgetRates(budget); Collection<BudgetRate> allPropRates = budgetService.getSavedBudgetRates(budget); if (isAwardBudget(budget)) { Award award = (Award) budget.getBudgetParent().getDocument().getBudgetParent(); if (awardBudgetService.checkRateChange(savedBudgetRates, award)) { return confirm( syncAwardBudgetRateConfirmationQuestion(mapping, form, request, response, KeyConstants.QUESTION_SYNCH_AWARD_RATE), CONFIRM_SYNCH_AWARD_RATES, NO_SYNCH_AWARD_RATES); }/*from w w w . java 2s . c o m*/ } if (budgetService.checkActivityTypeChange(allPropRates, budgetParent.getActivityTypeCode())) { //Rates-Refresh Scenario-2 budget.setRateClassTypesReloaded(true); return confirm( syncBudgetRateConfirmationQuestion(mapping, form, request, response, KeyConstants.QUESTION_SYNCH_BUDGET_RATE), CONFIRM_SYNCH_BUDGET_RATE_BUDGET_DOCUMENT, NO_SYNCH_BUDGET_RATE_BUDGET_DOCUMENT); } else if (CollectionUtils.isEmpty(allPropRates)) { //Throw Empty Rates message return confirm( syncBudgetRateConfirmationQuestion(mapping, form, request, response, KeyConstants.QUESTION_NO_RATES_ATTEMPT_SYNCH), CONFIRM_SYNCH_BUDGET_RATE_BUDGET_DOCUMENT, NO_SYNCH_BUDGET_RATE_BUDGET_DOCUMENT); } return forward; }
From source file:org.kuali.coeus.common.budget.impl.struts.BudgetVersionsAction.java
/** * This method opens a budget version.// ww w .j a v a 2 s . com * * @param mapping * @param form * @param request * @param response * @return ActionForward * @throws Exception */ public ActionForward openBudgetVersion(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { BudgetForm budgetForm = (BudgetForm) form; BudgetRatesService budgetService = KcServiceLocator.getService(BudgetRatesService.class); if (!"TRUE".equals(budgetForm.getEditingMode().get(AuthorizationConstants.EditMode.VIEW_ONLY))) { save(mapping, form, request, response); } AwardBudgetDocument budgetDoc = budgetForm.getBudgetDocument(); Budget budget = budgetDoc.getBudget(); BudgetParentDocument budgetParentDocument = getBudgetParentDocument(budgetForm); BudgetParent budgetParent = budgetParentDocument.getBudgetParent(); Budget budgetToOpen = budgetParentDocument.getBudgetDocumentVersion(getSelectedLine(request)); DocumentService documentService = KcServiceLocator.getService(DocumentService.class); AwardBudgetDocument awardBudgetDocument = (AwardBudgetDocument) documentService .getByDocumentHeaderId(budgetToOpen.getDocumentNumber()); Budget budgetOpen = awardBudgetDocument.getBudget(); String routeHeaderId = awardBudgetDocument.getDocumentHeader().getWorkflowDocument().getDocumentId(); Collection<BudgetRate> allPropRates = budgetService.getSavedBudgetRates(budgetOpen); if (getBudgetRateService().performSyncFlag(budgetOpen)) { budget.setRateClassTypesReloaded(true); } if (budgetService.checkActivityTypeChange(allPropRates, budgetParent.getActivityTypeCode())) { //Rates-Refresh Scenario-2 budget.setRateClassTypesReloaded(true); return confirm( syncBudgetRateConfirmationQuestion(mapping, form, request, response, KeyConstants.QUESTION_SYNCH_BUDGET_RATE), CONFIRM_SYNCH_BUDGET_RATE, NO_SYNCH_BUDGET_RATE); } else if (CollectionUtils.isEmpty(allPropRates)) { //Throw Empty Rates message return confirm( syncBudgetRateConfirmationQuestion(mapping, form, request, response, KeyConstants.QUESTION_NO_RATES_ATTEMPT_SYNCH), CONFIRM_SYNCH_BUDGET_RATE, NO_SYNCH_BUDGET_RATE); } String forward = buildForwardUrl(routeHeaderId); return new ActionForward(forward, true); }
From source file:org.kuali.coeus.common.impl.krms.KcValidationActionTypeServiceImpl.java
@Override public List<RemotableAttributeField> getAttributeFields(@WebParam(name = "krmsTypeId") String krmsTypeId) throws RiceIllegalArgumentException { List<RemotableAttributeField> results = new ArrayList<RemotableAttributeField>(); KrmsTypeDefinition krmsType = getKrmsTypeRepositoryService().getTypeById(krmsTypeId); if (krmsType == null) { throw new RiceIllegalArgumentException("krmsTypeId must be a valid id of a KRMS type"); } else {/*from w ww. j a v a 2 s .c om*/ List<KrmsTypeAttribute> typeAttributes = krmsType.getAttributes(); Map<String, Integer> attribDefIdSequenceNumbers = new TreeMap<String, Integer>(); Map<String, String> unsortedIdLables = new TreeMap<String, String>(); if (!CollectionUtils.isEmpty(typeAttributes)) { // translate the attribute and store the sort code in our map Map<String, String> keyLabels = new TreeMap<String, String>(); keyLabels.put(ValidationActionType.WARNING.getCode(), "Warning Action"); keyLabels.put(ValidationActionType.ERROR.getCode(), "Error Action"); KrmsAttributeDefinition attributeDefinition = null; RadioButtonTypeServiceUtil util = new RadioButtonTypeServiceUtil(); for (KrmsTypeAttribute typeAttribute : typeAttributes) { attributeDefinition = getKrmsTypeRepositoryService() .getAttributeDefinitionById(typeAttribute.getAttributeDefinitionId()); if (ValidationActionTypeService.VALIDATIONS_ACTION_TYPE_CODE_ATTRIBUTE .equals(attributeDefinition.getName())) { RemotableAttributeField attributeField = translateTypeAttribute(attributeDefinition, keyLabels); results.add(attributeField); } if (ValidationActionTypeService.VALIDATIONS_ACTION_MESSAGE_ATTRIBUTE .equals(attributeDefinition.getName())) { RemotableAttributeField attributeField = createMessageField(attributeDefinition); results.add(attributeField); } if (KcKrmsConstants.ValidationAction.VALIDATIONS_ACTION_AREA_ATTRIBUTE .equals(attributeDefinition.getName()) || KcKrmsConstants.ValidationAction.VALIDATIONS_ACTION_SECTION_ATTRIBUTE .equals(attributeDefinition.getName()) || KcKrmsConstants.ValidationAction.VALIDATIONS_ACTION_NAVIGATE_TO_PAGE_ID_ATTRIBUTE .equals(attributeDefinition.getName()) || KcKrmsConstants.ValidationAction.VALIDATIONS_ACTION_NAVIGATE_TO_SECTION_ID_ATTRIBUTE .equals(attributeDefinition.getName())) { RemotableAttributeField attributeField = createTextField(attributeDefinition); results.add(attributeField); } } } } return results; }
From source file:org.kuali.coeus.common.impl.mail.KcEmailServiceImpl.java
public void sendEmailWithAttachments(String from, Set<String> toAddresses, String subject, Set<String> ccAddresses, Set<String> bccAddresses, String body, boolean htmlMessage, List<EmailAttachment> attachments) { if (mailSender != null) { if (CollectionUtils.isEmpty(toAddresses) && CollectionUtils.isEmpty(ccAddresses) && CollectionUtils.isEmpty(bccAddresses)) { return; }//from w w w . j av a 2s .co m MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = null; try { helper = new MimeMessageHelper(message, true, DEFAULT_ENCODING); helper.setFrom(from); if (StringUtils.isNotBlank(subject)) { helper.setSubject(subject); } else { LOG.warn("Sending message with empty subject."); } if (isEmailTestEnabled()) { helper.setText(getTestMessageBody(body, toAddresses, ccAddresses, bccAddresses), true); String toAddress = getEmailNotificationTestAddress(); if (StringUtils.isNotBlank(getEmailNotificationTestAddress())) { helper.addTo(toAddress); } } else { helper.setText(body, htmlMessage); if (CollectionUtils.isNotEmpty(toAddresses)) { for (String toAddress : toAddresses) { try { helper.addTo(toAddress); } catch (Exception ex) { LOG.warn("Could not set to address:", ex); } } } if (CollectionUtils.isNotEmpty(ccAddresses)) { for (String ccAddress : ccAddresses) { try { helper.addCc(ccAddress); } catch (Exception ex) { LOG.warn("Could not set to address:", ex); } } } if (CollectionUtils.isNotEmpty(bccAddresses)) { for (String bccAddress : bccAddresses) { try { helper.addBcc(bccAddress); } catch (Exception ex) { LOG.warn("Could not set to address:", ex); } } } } if (CollectionUtils.isNotEmpty(attachments)) { for (EmailAttachment attachment : attachments) { try { helper.addAttachment(attachment.getFileName(), new ByteArrayResource(attachment.getContents()), attachment.getMimeType()); } catch (Exception ex) { LOG.warn("Could not set to address:", ex); } } } executorService.execute(() -> mailSender.send(message)); } catch (MessagingException ex) { LOG.error("Failed to create mime message helper.", ex); } } else { LOG.info( "Failed to send email due to inability to obtain valid email mailSender, please check your configuration."); } }
From source file:org.kuali.coeus.common.impl.ynq.YnqMaintainableImpl.java
/** * This is just trying to populate existing ynq that has no explanation * @see org.kuali.core.maintenance.KualiMaintainableImpl#getCoreSections(org.kuali.core.maintenance.Maintainable) */// ww w . j a v a 2 s . c o m @Override public List<Section> getCoreSections(MaintenanceDocument document, Maintainable oldMaintainable) { Ynq ynq = ((Ynq) getBusinessObject()); if (CollectionUtils.isEmpty(ynq.getYnqExplanations())) { initExplanation(); } return super.getCoreSections(document, oldMaintainable); }
From source file:org.kuali.coeus.common.questionnaire.impl.core.QuestionnaireLookupableHelperServiceImpl.java
/** * override edit/copy link and new 'view' link based on permission. * @see org.kuali.rice.kns.lookup.AbstractLookupableHelperServiceImpl#getCustomActionUrls(org.kuali.rice.krad.bo.BusinessObject, java.util.List) *//*from ww w . j av a 2 s .co m*/ @Override public List<HtmlData> getCustomActionUrls(BusinessObject businessObject, List pkNames) { List<HtmlData> htmlDataList = new ArrayList<HtmlData>(); Questionnaire questionnaire = (Questionnaire) businessObject; boolean hasModifyPermission = questionnaireAuthorizationService .hasPermission(PermissionConstants.MODIFY_QUESTIONNAIRE); boolean hasViewPermission = hasModifyPermission || questionnaireAuthorizationService.hasPermission(PermissionConstants.VIEW_QUESTIONNAIRE); if (hasModifyPermission && questionnaire.getQuestionnaireSeqId() != null && (CollectionUtils.isEmpty(questionnaireIds) || !questionnaireIds.contains(questionnaire.getQuestionnaireSeqId()))) { htmlDataList.add(getHtmlData(businessObject, KRADConstants.MAINTENANCE_EDIT_METHOD_TO_CALL, pkNames)); } if (hasModifyPermission && (questionnaire.getQuestionnaireSeqId() == null || (!CollectionUtils.isEmpty(questionnaireIds) && questionnaireIds.contains(questionnaire.getQuestionnaireSeqId())))) { AnchorHtmlData htmlData = (AnchorHtmlData) getHtmlData(businessObject, KRADConstants.MAINTENANCE_EDIT_METHOD_TO_CALL, pkNames); String workflowUrl = getKualiConfigurationService() .getPropertyValueAsString(KRADConstants.WORKFLOW_URL_KEY); htmlData.setHref(String.format(DOCHANDLER_LINK, workflowUrl, getDocumentNumber(questionnaire))); htmlData.setDisplayText("resume edit"); htmlDataList.add(htmlData); } if (hasViewPermission && questionnaire.getQuestionnaireSeqId() != null) { htmlDataList.add(getViewLink(businessObject, pkNames)); } if (hasModifyPermission && questionnaire.getQuestionnaireSeqId() != null) { htmlDataList.add(getHtmlData(businessObject, KRADConstants.MAINTENANCE_COPY_METHOD_TO_CALL, pkNames)); htmlDataList.add(getHtmlData(businessObject, KRADConstants.MAINTENANCE_DELETE_METHOD_TO_CALL, pkNames)); } return htmlDataList; }
From source file:org.kuali.coeus.common.questionnaire.impl.question.QuestionMaintenanceDocumentRule.java
private boolean validateMultipleChoiceOptions(Question question) { boolean isValid = true; if (CollectionUtils.isEmpty(question.getQuestionMultiChoices()) || question.getDisplayedAnswers() <= 0) { isValid = false;//from www .j a va 2 s .c om } for (int i = 0; i < question.getQuestionMultiChoices().size(); i++) { GlobalVariables.getMessageMap().addToErrorPath( "document.newMaintainableObject.businessObject.questionMultiChoices[" + i + "]"); try { dictionaryValidationService.validate(question.getQuestionMultiChoices().get(i)); } finally { GlobalVariables.getMessageMap().removeFromErrorPath( "document.newMaintainableObject.businessObject.questionMultiChoices[" + i + "]"); } } return isValid; }