Example usage for org.apache.commons.collections4 CollectionUtils isEmpty

List of usage examples for org.apache.commons.collections4 CollectionUtils isEmpty

Introduction

In this page you can find the example usage for org.apache.commons.collections4 CollectionUtils isEmpty.

Prototype

public static boolean isEmpty(final Collection<?> coll) 

Source Link

Document

Null-safe check if the specified collection is empty.

Usage

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;
}