Example usage for org.apache.commons.lang BooleanUtils toBoolean

List of usage examples for org.apache.commons.lang BooleanUtils toBoolean

Introduction

In this page you can find the example usage for org.apache.commons.lang BooleanUtils toBoolean.

Prototype

public static boolean toBoolean(String str) 

Source Link

Document

Converts a String to a boolean (optimised for performance).

'true', 'on' or 'yes' (case insensitive) will return true.

Usage

From source file:org.kuali.student.enrollment.class2.acal.controller.HolidayCalendarController.java

/**
 * This is starting page before we enter any Holiday management activities.
 *
 * @param form//from   w w w. j  a va  2  s .  com
 * @param request
 * @param response
 * @return
 */

@Override
@RequestMapping(method = RequestMethod.GET, params = "methodToCall=start")
public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form, HttpServletRequest request,
        HttpServletResponse response) {
    HolidayCalendarForm hcForm = (HolidayCalendarForm) form;

    String hcId = request.getParameter(CalendarConstants.CALENDAR_ID);

    String readOnlyView = request.getParameter(CalendarConstants.READ_ONLY_VIEW);
    hcForm.getView().setReadOnly(BooleanUtils.toBoolean(readOnlyView));

    if ((hcId != null) && !hcId.trim().isEmpty()) {
        try {
            getHolidayCalendar(hcId, hcForm);
        } catch (Exception ex) {
            throw new RuntimeException("unable to getHolidayCalendar ");
        }
    }

    return getUIFModelAndView(form);
}

From source file:org.kuali.student.enrollment.class2.acal.service.impl.AcademicCalendarViewHelperServiceImpl.java

/**
 * This method is being called by KRAD to populate keydate group types drop down. There would be no reference
 * for this method in the code as it has it's reference at the AcademicTermPage.xml page
 *
 * @param field//from  ww  w. j a v  a2s.c om
 * @param acalForm
 */
@SuppressWarnings("unused")
public void populateKeyDateGroupTypes(InputField field, AcademicCalendarForm acalForm) {

    boolean isAddLine = BooleanUtils
            .toBoolean((Boolean) field.getContext().get(UifConstants.ContextVariableNames.IS_ADD_LINE));
    if (!isAddLine) {
        return;
    }

    List<KeyValue> keyValues = new ArrayList<KeyValue>();
    keyValues.add(new ConcreteKeyValue("", "Select Keydate Group Type"));

    CollectionGroup collectionGroup = (CollectionGroup) field.getContext()
            .get(UifConstants.ContextVariableNames.COLLECTION_GROUP);
    AcademicTermWrapper termWrapper = ObjectPropertyUtils.getPropertyValue(acalForm,
            collectionGroup.getBindingInfo().getBindByNamePrefix());

    try {
        List<TypeInfo> keyDateGroupTypes = getAcalService()
                .getKeyDateTypesForTermType(termWrapper.getTermType(), createContextInfo());
        for (TypeInfo keyDateGroupType : keyDateGroupTypes) {
            if (!termWrapper.isKeyDateGroupExists(keyDateGroupType.getKey())) {
                keyValues.add(new ConcreteKeyValue(keyDateGroupType.getKey(), keyDateGroupType.getName()));
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    ((SelectControl) field.getControl()).setOptions(keyValues);

}

From source file:org.kuali.student.enrollment.class2.courseoffering.controller.CourseOfferingControllerPopulateUIForm.java

protected static void continueFromCreateCopyCourseOfferingInfo(CourseOfferingCreateWrapper coWrapper,
        CourseInfo course, TermInfo term) {

    ContextInfo contextInfo = ContextUtils.createDefaultContextInfo();
    int firstValue = 0;

    try {//from w  w w  .j a  va2  s .  c  o m
        List<CourseOfferingInfo> courseOfferingInfos = CourseOfferingManagementUtil.getCourseOfferingService()
                .getCourseOfferingsByCourseAndTerm(course.getId(), term.getId(), contextInfo);

        coWrapper.setCourse(course);
        coWrapper
                .setCreditCount(
                        CourseOfferingViewHelperUtil
                                .trimTrailing0(CourseOfferingManagementUtil.getLrcService()
                                        .getResultValue(course.getCreditOptions().get(firstValue)
                                                .getResultValueKeys().get(firstValue), contextInfo)
                                        .getValue()));
        coWrapper.setShowAllSections(true);
        coWrapper.setShowCopyCourseOffering(false);
        coWrapper.setShowTermOfferingLink(true);

        coWrapper.setContextBar(CourseOfferingContextBar.NEW_INSTANCE(coWrapper.getTerm(),
                coWrapper.getSocInfo(), CourseOfferingManagementUtil.getStateService(),
                CourseOfferingManagementUtil.getAcademicCalendarService(), contextInfo));

        coWrapper.getExistingTermOfferings().clear();
        coWrapper.getExistingOfferingsInCurrentTerm().clear();

        for (CourseOfferingInfo courseOfferingInfo : courseOfferingInfos) {
            if (StringUtils.equals(courseOfferingInfo.getStateKey(),
                    LuiServiceConstants.LUI_CO_STATE_OFFERED_KEY)) {
                CourseOfferingEditWrapper co = new CourseOfferingEditWrapper(courseOfferingInfo);
                co.setGradingOption(
                        CourseOfferingManagementUtil.getGradingOption(courseOfferingInfo.getGradingOptionId()));
                coWrapper.getExistingOfferingsInCurrentTerm().add(co);
            }
        }

        //Get past 5 years CO
        Calendar termStart = Calendar.getInstance();
        termStart.setTime(term.getStartDate());
        String termYear = Integer.toString(termStart.get(Calendar.YEAR));
        String termMonth = Integer.toString((termStart.get(Calendar.MONTH) + 1));
        String termDayOfMonth = Integer.toString((termStart.getActualMaximum(Calendar.DAY_OF_MONTH)));

        org.kuali.student.r2.core.search.dto.SearchRequestInfo searchRequest = new org.kuali.student.r2.core.search.dto.SearchRequestInfo(
                CourseOfferingHistorySearchImpl.PAST_CO_SEARCH.getKey());
        searchRequest.addParam(CourseOfferingHistorySearchImpl.COURSE_ID, coWrapper.getCourse().getId());

        searchRequest.addParam(CourseOfferingHistorySearchImpl.TARGET_DAY_OF_MONTH_PARAM, termDayOfMonth);
        searchRequest.addParam(CourseOfferingHistorySearchImpl.TARGET_MONTH_PARAM, termMonth);
        searchRequest.addParam(CourseOfferingHistorySearchImpl.TARGET_YEAR_PARAM, termYear);
        searchRequest.addParam(CourseOfferingHistorySearchImpl.SearchParameters.CROSS_LIST_SEARCH_ENABLED,
                BooleanUtils.toStringTrueFalse(true));
        org.kuali.student.r2.core.search.dto.SearchResultInfo searchResult = CourseOfferingManagementUtil
                .getSearchService().search(searchRequest, null);

        List<String> courseOfferingIds = new ArrayList<String>(searchResult.getTotalResults());

        /* Checks whether the course is cross-listed and Set the codes that are cross listed to the cross-listed list */

        for (org.kuali.student.r2.core.search.dto.SearchResultRowInfo row : searchResult.getRows()) {
            for (SearchResultCellInfo cellInfo : row.getCells()) {
                String value = StringUtils.EMPTY;
                if (cellInfo.getValue() != null) {
                    value = cellInfo.getValue();
                }
                if (CourseOfferingHistorySearchImpl.SearchResultColumns.CO_ID.equals(cellInfo.getKey())) {
                    courseOfferingIds.add(value);
                } else if (CourseOfferingHistorySearchImpl.SearchResultColumns.IS_CROSS_LISTED
                        .equals(cellInfo.getValue())) {
                    coWrapper.setCrossListedCo(BooleanUtils.toBoolean(value));
                } else if (CourseOfferingHistorySearchImpl.SearchResultColumns.CROSS_LISTED_COURSES
                        .equals(cellInfo.getKey())) {
                    coWrapper.setAlternateCOCodes(Arrays.asList(StringUtils.split(value, ",")));
                }

            }
        }

        /*
         * Avoid duplicates in case there is a cross Listed
         */
        HashSet hs = new HashSet();
        hs.addAll(courseOfferingIds);
        courseOfferingIds.clear();
        courseOfferingIds.addAll(hs);

        courseOfferingInfos = CourseOfferingManagementUtil.getCourseOfferingService()
                .getCourseOfferingsByIds(courseOfferingIds, contextInfo);

        for (CourseOfferingInfo courseOfferingInfo : courseOfferingInfos) {
            CourseOfferingEditWrapper co = new CourseOfferingEditWrapper(courseOfferingInfo);
            TermInfo termInfo = CourseOfferingManagementUtil.getAcademicCalendarService()
                    .getTerm(courseOfferingInfo.getTermId(), contextInfo);
            co.setTerm(termInfo);
            co.setGradingOption(
                    CourseOfferingManagementUtil.getGradingOption(courseOfferingInfo.getGradingOptionId()));
            co.setAlternateCOCodes(coWrapper.getAlternateCOCodes());
            coWrapper.getExistingTermOfferings().add(co);
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingManagementViewHelperServiceImpl.java

/**
 * This method loads all the course offerings for a term and course code.
 *
 * @param termInfo   Term Info/*  w  ww.  ja  v  a2s  .  c om*/
 * @param courseCode Course Code
 * @param form       Input Form
 * @throws Exception
 */
public void loadCourseOfferingsByTermAndCourseCode(TermInfo termInfo, String courseCode,
        CourseOfferingManagementForm form) throws Exception {

    SearchRequestInfo searchRequest = new SearchRequestInfo(
            CourseOfferingManagementSearchImpl.CO_MANAGEMENT_SEARCH.getKey());
    searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.COURSE_CODE, courseCode);
    searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.ATP_ID, termInfo.getId());
    searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.CROSS_LIST_SEARCH_ENABLED,
            BooleanUtils.toStringTrueFalse(true));

    // Check to see if the "exact co code match" param has been set. If so, add a query param.
    boolean isExactMatchSearch = BooleanUtils.toBoolean(form.getViewRequestParameters()
            .get(CourseOfferingManagementSearchImpl.SearchParameters.IS_EXACT_MATCH_CO_CODE_SEARCH));
    if (isExactMatchSearch) {
        searchRequest.addParam(
                CourseOfferingManagementSearchImpl.SearchParameters.IS_EXACT_MATCH_CO_CODE_SEARCH,
                BooleanUtils.toStringTrueFalse(true));
    }

    loadCourseOfferings(searchRequest, form);

    if (form.getCourseOfferingResultList().isEmpty()) {
        LOG.error("Error: Can't find any Course Offering for a course code: {}  in term: {}", courseCode,
                termInfo.getName());
        GlobalVariables.getMessageMap().putError(KRADConstants.GLOBAL_ERRORS,
                CourseOfferingConstants.COURSEOFFERING_MSG_ERROR_NO_COURSE_OFFERING_IS_FOUND, "course code",
                courseCode, termInfo.getName());
    }

    form.setContextBar(CourseOfferingContextBar.NEW_INSTANCE(form.getTermInfo(), form.getSocStateKey(),
            getStateService(), CourseOfferingManagementUtil.getAcademicCalendarService(), createContextInfo()));
}

From source file:org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingManagementViewHelperServiceImpl.java

/**
 * This method fetches all the course offerings for a term and course/subject code.
 *
 * @param searchRequest search request/*from   w w w . j av a2  s  . c o  m*/
 * @param form          input form
 * @throws Exception
 * @see CourseOfferingManagementSearchImpl Actual CO search happens here
 */
protected void loadCourseOfferings(SearchRequestInfo searchRequest, CourseOfferingDisplayUI form)
        throws Exception {

    ContextInfo contextInfo = createContextInfo();

    SearchResultInfo searchResult = CourseOfferingManagementUtil.getSearchService().search(searchRequest,
            contextInfo);

    if (form instanceof ScheduleOfClassesSearchForm) {
        ((ScheduleOfClassesSearchForm) form).getCoDisplayWrapperList().clear();
    } else {
        ((CourseOfferingManagementForm) form).getCourseOfferingResultList().clear();
    }

    for (SearchResultRowInfo row : searchResult.getRows()) {
        CourseOfferingListSectionWrapper coListWrapper = new CourseOfferingListSectionWrapper();
        if (form instanceof ScheduleOfClassesSearchForm) {
            coListWrapper = new CourseOfferingDisplayWrapper();
            ((ScheduleOfClassesSearchForm) form).getCoDisplayWrapperList()
                    .add((CourseOfferingDisplayWrapper) coListWrapper);
        } else {
            ((CourseOfferingManagementForm) form).getCourseOfferingResultList().add(coListWrapper);
        }

        for (SearchResultCellInfo cellInfo : row.getCells()) {

            String value = StringUtils.EMPTY;
            if (cellInfo.getValue() != null) {
                value = cellInfo.getValue();
            }

            if (CourseOfferingManagementSearchImpl.SearchResultColumns.CODE.equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingCode(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.DESC.equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingDesc(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.STATE.equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingStateKey(value);
                coListWrapper.setCourseOfferingStateDisplay(getStateInfo(value).getName());
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CREDIT_OPTION
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingCreditOptionKey(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.GRADING_OPTION
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingGradingOptionKey(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.GRADING_OPTION_NAME
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingGradingOptionDisplay(cellInfo.getValue());
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CREDIT_OPTION_NAME
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingCreditOptionDisplay(cellInfo.getValue());
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.DEPLOYMENT_ORG_ID
                    .equals(cellInfo.getKey())) {
                coListWrapper.setAdminOrg(cellInfo.getValue());
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CO_ID.equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingId(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.SUBJECT_AREA
                    .equals(cellInfo.getKey())) {
                coListWrapper.setSubjectArea(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.IS_CROSS_LISTED
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCrossListed(BooleanUtils.toBoolean(value));
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CROSS_LISTED_COURSES
                    .equals(cellInfo.getKey())) {
                coListWrapper.setAlternateCOCodes(Arrays.asList(StringUtils.split(value, ",")));
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.OWNER_CODE
                    .equals(cellInfo.getKey())) {
                coListWrapper.setOwnerCode(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.OWNER_ALIASES
                    .equals(cellInfo.getKey())) {
                coListWrapper.setOwnerAliases(Arrays.asList(StringUtils.split(value, ",")));
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.DESC_FORMATTED
                    .equals(cellInfo.getKey())) {
                coListWrapper.setCourseOfferingFormatedDesc(value);
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.HAS_STUDENT_SELECTABLE_PASSFAIL
                    .equals(cellInfo.getKey())) {
                coListWrapper.setStudentSelectablePassFail(BooleanUtils.toBoolean(value));
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CAN_AUDIT_COURSE
                    .equals(cellInfo.getKey())) {
                coListWrapper.setAuditCourse(BooleanUtils.toBoolean(value));
            } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.IS_HONORS_COURSE
                    .equals(cellInfo.getKey())) {
                coListWrapper.setHonorsCourse(BooleanUtils.toBoolean(value));
            }

        }
    }
}

From source file:org.kuali.student.enrollment.class2.courseoffering.service.impl.CourseOfferingManagementViewHelperServiceImpl.java

/**
 * This method loads the previous and next course offerings for navigation purpose.
 *
 * @param form input form//from   w  ww .j  av a  2  s  .c  o  m
 */
public void loadPreviousAndNextCourseOffering(CourseOfferingManagementForm form) {
    try {
        ContextInfo contextInfo = createContextInfo();

        /**
         * Get all the course offerings for a term and subject area.
         */
        SearchRequestInfo searchRequest = new SearchRequestInfo(
                CourseOfferingManagementSearchImpl.CO_MANAGEMENT_SEARCH.getKey());
        searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.SUBJECT_AREA,
                form.getSubjectCode());
        searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.ATP_ID,
                form.getTermInfo().getId());
        searchRequest.addParam(CourseOfferingManagementSearchImpl.SearchParameters.CROSS_LIST_SEARCH_ENABLED,
                BooleanUtils.toStringTrueFalse(true));

        SearchResultInfo searchResult = CourseOfferingManagementUtil.getSearchService().search(searchRequest,
                contextInfo);
        List<CourseOfferingWrapper> availableCOs = new ArrayList<CourseOfferingWrapper>();

        for (SearchResultRowInfo row : searchResult.getRows()) {

            String courseOfferingCode = "";
            String courseOfferingId = "";
            String courseOfferingDesc = "";
            boolean isCrossListed = false;
            List<String> alternateCodes = null;
            String ownerCode = "";

            for (SearchResultCellInfo cellInfo : row.getCells()) {

                String value = StringUtils.EMPTY;
                if (cellInfo.getValue() != null) {
                    value = cellInfo.getValue();
                }

                if (CourseOfferingManagementSearchImpl.SearchResultColumns.CODE.equals(cellInfo.getKey())) {
                    courseOfferingCode = value;
                } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CO_ID
                        .equals(cellInfo.getKey())) {
                    courseOfferingId = value;
                } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.DESC
                        .equals(cellInfo.getKey())) {
                    courseOfferingDesc = value;
                } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.IS_CROSS_LISTED
                        .equals(cellInfo.getKey())) {
                    isCrossListed = BooleanUtils.toBoolean(value);
                } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.CROSS_LISTED_COURSES
                        .equals(cellInfo.getKey())) {
                    alternateCodes = Arrays.asList(StringUtils.split(value, ","));
                } else if (CourseOfferingManagementSearchImpl.SearchResultColumns.OWNER_CODE
                        .equals(cellInfo.getKey())) {
                    ownerCode = value;
                }

            }

            CourseOfferingWrapper coWrapper = new CourseOfferingWrapper(isCrossListed, courseOfferingCode,
                    courseOfferingDesc, alternateCodes, courseOfferingId);
            coWrapper.setOwnerCode(ownerCode);
            availableCOs.add(coWrapper);
        }

        /**
         * Find the current course offering index and set the previous and next course offerings if exists.
         */
        for (CourseOfferingWrapper coWrapper : availableCOs) {
            if (StringUtils.equals(coWrapper.getCourseOfferingCode(),
                    form.getCurrentCourseOfferingWrapper().getCourseOfferingCode())) {
                int currentIndex = availableCOs.indexOf(coWrapper);
                form.setInputCode(coWrapper.getCourseOfferingCode());
                if (currentIndex > 0) {
                    form.setPreviousCourseOfferingWrapper(availableCOs.get(currentIndex - 1));
                } else {
                    form.setPreviousCourseOfferingWrapper(null);
                }
                if (currentIndex < availableCOs.size() - 1) {
                    form.setNextCourseOfferingWrapper(availableCOs.get(currentIndex + 1));
                } else {
                    form.setNextCourseOfferingWrapper(null);
                }
                break;
            }
        }

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:org.kuali.student.r2.core.class1.search.CourseOfferingManagementSearchImpl.java

protected SearchResultInfo searchForCourseBySubjectCodeAndTerm(SearchRequestInfo searchRequestInfo,
        ContextInfo contextInfo) throws MissingParameterException, OperationFailedException {

    long start = System.currentTimeMillis();

    SearchRequestHelper requestHelper = new SearchRequestHelper(searchRequestInfo);

    String searchCourseCode = requestHelper.getParamAsString(SearchParameters.COURSE_CODE);
    String searchSubjectArea = requestHelper.getParamAsString(SearchParameters.SUBJECT_AREA);
    String searchAtpId = requestHelper.getParamAsString(SearchParameters.ATP_ID);
    boolean enableCrossListSearch = BooleanUtils
            .toBoolean(requestHelper.getParamAsString(SearchParameters.CROSS_LIST_SEARCH_ENABLED));
    boolean includePassFailAndAuditRecords = BooleanUtils
            .toBoolean(requestHelper.getParamAsString(SearchParameters.INCLUDE_PASSFAIL_AUDIT_HONORS_RESULTS));

    /**//from  w  ww  .j  a  v  a2 s. c  o m
     * Build the search query based on the parameters.
     */
    String query = buildSearchQuery(requestHelper);

    /**
     * Get the results
     */
    long startQ1 = System.currentTimeMillis();
    List<Object[]> results = getEntityManager().createQuery(query).getResultList();
    LOGGER.info("*********BigQueryTime**********{} ms", System.currentTimeMillis() - startQ1);

    SearchResultInfo resultInfo = new SearchResultInfo();
    resultInfo.setTotalResults(results.size());
    resultInfo.setStartAt(0);

    Map<String, String> luiIds2AlternateCodes = new HashMap<String, String>();
    Map<String, SearchResultCellInfo> luiIds2OrgCells = new HashMap<String, SearchResultCellInfo>();

    /**
     * This is used to combine together all the rows returned for a single CO. If includePassFailAndAuditRecords is
     * enabled, for a CO, duplicate rows are returned. If includePassFailAndAuditRecords is
     * not enabled, this map never been used as the search returns only unique records.
     */
    Map<String, SearchResultRowInfo> luiIds2ResultRow = new HashMap<String, SearchResultRowInfo>(
            results.size());

    /**
     * Process search result.
     */
    for (Object[] result : results) {
        buildSearchResultRow(result, searchSubjectArea, searchCourseCode, enableCrossListSearch,
                includePassFailAndAuditRecords, luiIds2ResultRow, luiIds2OrgCells, luiIds2AlternateCodes,
                resultInfo);
    }

    if (enableCrossListSearch) {
        buildCrossListSearchResult(resultInfo, luiIds2AlternateCodes);
    }

    long end = System.currentTimeMillis();
    LOGGER.info("******TIME TAKEN TO SEARCH CO FOR (Subject Area={},Term={},Course={})*************{} ms",
            searchSubjectArea, searchAtpId, searchCourseCode, end - start);

    resultInfo.setStartAt(0);
    luiIds2AlternateCodes.clear();
    luiIds2OrgCells.clear();
    luiIds2ResultRow.clear();

    return resultInfo;
}

From source file:org.kuali.student.r2.core.class1.search.CourseOfferingManagementSearchImpl.java

/**
 * This method builds the query to fetch the CourseOfferings based on the search parameters.
 *
 * @param requestHelper/*from  w ww. ja va 2 s .c  o  m*/
 * @return
 * @throws MissingParameterException
 * @throws OperationFailedException 
 */
private String buildSearchQuery(SearchRequestHelper requestHelper)
        throws MissingParameterException, OperationFailedException {

    String searchCourseCode = requestHelper.getParamAsString(SearchParameters.COURSE_CODE);
    String searchSubjectArea = requestHelper.getParamAsString(SearchParameters.SUBJECT_AREA);
    String searchAtpId = requestHelper.getParamAsString(SearchParameters.ATP_ID);
    boolean isExactMatchSearch = BooleanUtils
            .toBoolean(requestHelper.getParamAsString(SearchParameters.IS_EXACT_MATCH_CO_CODE_SEARCH));
    List<String> filterCOStates = requestHelper.getParamAsList(SearchParameters.FILTER_CO_STATES);
    List<String> coIds = requestHelper.getParamAsList(SearchParameters.CO_IDS);
    String departmentId = requestHelper.getParamAsString(SearchParameters.DEPARTMENT_ID);
    String description = requestHelper.getParamAsString(SearchParameters.DESCRIPTION);
    String cluId = requestHelper.getParamAsString(SearchParameters.CLU_ID);
    boolean includePassFailAuditAndHonorsResults = BooleanUtils
            .toBoolean(requestHelper.getParamAsString(SearchParameters.INCLUDE_PASSFAIL_AUDIT_HONORS_RESULTS));

    if (StringUtils.isBlank(searchAtpId)) {
        throw new MissingParameterException("Term code is required to search course offerings");
    }

    String query = "SELECT" + "    ident.code," + "    ident.longName," + "    lui.luiState,"
            + "    lrc_rvg1.id," + "    lrc_rvg2.id," + "    lui.id," + "    ident.division,"
            + "    ident.type," + "    unitsDeployment.orgId," + "    lrc_rvg1.name," + "    lrc_rvg2.name, "
            + "    lui.formatted";

    if (includePassFailAuditAndHonorsResults) {
        query = query + ", luiCodes.type , luiCodes.value ";
    }

    query = query + "    FROM" + "    LuiIdentifierEntity ident, " + "    LuiEntity lui ";

    /*
     If the department id is supplied, join KSEN_LUI_UNITS_CONT_OWNER
     */
    if (StringUtils.isNotBlank(departmentId)) {
        query = query + "    JOIN lui.luiContentOwner dept ";
    }

    if (includePassFailAuditAndHonorsResults) {
        query = query + "    LEFT JOIN lui.luiCodes luiCodes with luiCodes.type = '"
                + LuiServiceConstants.HONORS_LU_CODE + "' ";
    }

    query = query + "    LEFT JOIN lui.luiUnitsDeployment unitsDeployment, "
            + "    IN(lui.resultValuesGroupKeys) lui_rvg1," + "    ResultValuesGroupEntity lrc_rvg1, "
            + "    IN(lui.resultValuesGroupKeys) lui_rvg2," + "    ResultValuesGroupEntity lrc_rvg2 ";

    query = query + "    WHERE" + "    lui.id = ident.lui.id" + "    AND lui.luiType = '"
            + LuiServiceConstants.COURSE_OFFERING_TYPE_KEY + "' " + "    AND lui.atpId = '" + searchAtpId + "' "
            + "    AND lrc_rvg1.id = lui_rvg1" + "    AND lrc_rvg1.resultScaleId = '"
            + LrcServiceConstants.RESULT_SCALE_KEY_CREDIT_DEGREE + "' " + "    AND lrc_rvg2.id = lui_rvg2"
            + "    AND lrc_rvg2.resultScaleId IN (" + "'" + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_ADMIN
            + "'," + "'" + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_LETTER + "'," + "'"
            + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_LETTER_PLUS_MINUS + "'," + "'"
            + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_PF + "'," + "'"
            + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_PNP + "'," + "'"
            + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_COMPLETED + "'," + "'"
            + LrcServiceConstants.RESULT_SCALE_KEY_GRADE_PERCENTAGE + "')";

    if (!includePassFailAuditAndHonorsResults) {
        query = query +
        //Exclude these two types that can cause duplicates.
        // audit and passfail are moved into different fields, after that there can be only one grading option
        // of Satisfactory, Letter, or Percentage
                "    AND lrc_rvg2 NOT IN ('" + LrcServiceConstants.RESULT_GROUP_KEY_GRADE_AUDIT + "'," + "'"
                + LrcServiceConstants.RESULT_GROUP_KEY_GRADE_PASSFAIL + "') ";
    }
    List<String> crosslistedLuiIds = getCrossListedLuiIds(searchCourseCode, searchSubjectArea, searchAtpId,
            isExactMatchSearch);
    query = query + getLuiIdentifierSubQuery(searchCourseCode, searchSubjectArea, isExactMatchSearch,
            crosslistedLuiIds);

    if (coIds != null && !coIds.isEmpty()) {
        String coIdsAsString = "'" + StringUtils.join(coIds, "','") + "'";
        query = query + " AND lui.id in (" + coIdsAsString + ") ";
    }

    /**
     * Search by department
     */
    if (StringUtils.isNotBlank(departmentId)) {
        query = query + "  AND dept = '" + departmentId + "'  ";
    }

    /*
     Search by description
     */
    if (StringUtils.isNotBlank(description)) {
        query = query + "   AND (lui.plain LIKE '%" + description + "%' OR ident.longName LIKE '%" + description
                + "%') ";
    }

    /**
     * Search by cluId
     */
    if (StringUtils.isNotBlank(cluId)) {
        query = query + "  AND lui.cluId = '" + cluId + "'  ";
    }

    /**
     * Filter results based on the Lui States
     */
    if (filterCOStates != null && !filterCOStates.isEmpty()) {
        String filterCOStatesAsString = "'" + StringUtils.join(filterCOStates, "','") + "'";
        query = query + " AND lui.luiState in (" + filterCOStatesAsString + ") ";
    }

    query = query + " ORDER BY ident.code";

    return query;
}

From source file:org.kuali.student.r2.core.class1.search.CourseOfferingManagementSearchImpl.java

/**
 * Builds the crosslist details for each CO.
 *
 * @param resultInfo//from   ww  w. j  a v a  2s.co m
 * @param luiIds2AlternateCodes
 */
private void buildCrossListSearchResult(SearchResultInfo resultInfo,
        Map<String, String> luiIds2AlternateCodes) {

    /**
     * If the result needs all the alternate code, iterate all the result set rows and look for
     * the matching Lui. If found, get all the alternate code and add it to the existing result
     * set.
     */
    for (SearchResultRowInfo row : resultInfo.getRows()) {

        String courseOfferingCode = row.getCells().get(0).getValue();
        String courseOfferingId = row.getCells().get(5).getValue();
        boolean isCrossListed = BooleanUtils.toBoolean(row.getCells().get(7).getValue());

        String alternateCodes = luiIds2AlternateCodes.get(courseOfferingId);
        String ownerCode;
        String ownerAliases;
        if (!isCrossListed) {
            alternateCodes = StringUtils.remove(alternateCodes, courseOfferingCode + OWNER_UI_SUFFIX);
            ownerCode = courseOfferingCode;
        } else {
            alternateCodes = StringUtils.remove(alternateCodes, courseOfferingCode);
            String partOfCodes = alternateCodes.substring(0, alternateCodes.indexOf(OWNER_UI_SUFFIX));
            int idx = alternateCodes.substring(0, alternateCodes.indexOf(OWNER_UI_SUFFIX)).lastIndexOf(",");
            if (idx >= 0) {
                ownerCode = partOfCodes.substring(idx + 1);
            } else {
                ownerCode = partOfCodes.substring(0);
            }
        }

        ownerAliases = StringUtils.remove(luiIds2AlternateCodes.get(courseOfferingId),
                ownerCode + OWNER_UI_SUFFIX);
        row.addCell(SearchResultColumns.OWNER_CODE, ownerCode);
        row.addCell(SearchResultColumns.OWNER_ALIASES, ownerAliases);
        row.addCell(SearchResultColumns.CROSS_LISTED_COURSES, alternateCodes);

    }
}

From source file:org.lexevs.dao.database.ibatis.sqlmap.NumericBooleanTypeHandler.java

public Object getResult(ResultGetter getter) throws SQLException {
    String booleanString = getter.getString();

    if (StringUtils.isNotBlank(booleanString)) {
        if (StringUtils.isNumeric(booleanString)) {
            return BooleanUtils.toBoolean(Integer.valueOf(getter.getString()));
        } else {//from w  w  w. j a v a2s.  c o m
            return BooleanUtils.toBoolean(getter.getString());
        }
    } else {
        return null;
    }
}