Example usage for com.liferay.portal.kernel.util StringPool LIKE

List of usage examples for com.liferay.portal.kernel.util StringPool LIKE

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util StringPool LIKE.

Prototype

String LIKE

To view the source code for com.liferay.portal.kernel.util StringPool LIKE.

Click Source Link

Usage

From source file:com.liferay.calendar.service.persistence.CalendarBookingFinderImpl.java

License:Open Source License

protected int doCountByC_G_C_C_P_T_D_L_S_E_S(long companyId, long[] groupIds, long[] calendarIds,
        long[] calendarResourceIds, long parentCalendarBookingId, String[] titles, String[] descriptions,
        String[] locations, long startTime, long endTime, int[] statuses, boolean andOperator,
        boolean inlineSQLHelper) throws SystemException {

    titles = CustomSQLUtil.keywords(titles);
    descriptions = CustomSQLUtil.keywords(descriptions, false);
    locations = CustomSQLUtil.keywords(locations);

    Session session = null;//from ww w. java 2 s  .  c om

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_BY_C_G_C_C_P_T_D_L_S_E_S);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarBooking.class.getName(),
                    "CalendarBooking.calendarBookingId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_ID$]", getCalendarIds(calendarIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = StringUtil.replace(sql, "[$STATUS$]", getStatuses(statuses));

        if (parentCalendarBookingId < 0) {
            sql = StringUtil.replace(sql, "(parentCalendarBookingId = ?) AND", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceKeywords(sql, "lower(title)", StringPool.LIKE, false, titles);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(location)", StringPool.LIKE, true, locations);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarIds)) {
            qPos.add(calendarIds);
        }

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        if (parentCalendarBookingId >= 0) {
            qPos.add(parentCalendarBookingId);
        }

        qPos.add(titles, 2);
        qPos.add(descriptions, 2);
        qPos.add(locations, 2);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(startTime);
        qPos.add(endTime);

        if (ArrayUtil.isNotEmpty(statuses)) {
            qPos.add(statuses);
        }

        Iterator<Long> itr = q.iterate();

        if (itr.hasNext()) {
            Long count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.CalendarBookingFinderImpl.java

License:Open Source License

protected List<CalendarBooking> doFindByC_G_C_C_P_T_D_L_S_E_S(long companyId, long[] groupIds,
        long[] calendarIds, long[] calendarResourceIds, long parentCalendarBookingId, String[] titles,
        String[] descriptions, String[] locations, long startTime, long endTime, boolean recurring,
        int[] statuses, boolean andOperator, int start, int end, OrderByComparator orderByComparator,
        boolean inlineSQLHelper) throws SystemException {

    titles = CustomSQLUtil.keywords(titles);
    descriptions = CustomSQLUtil.keywords(descriptions, false);
    locations = CustomSQLUtil.keywords(locations);

    Session session = null;/*from   w  w w  .j  a v  a  2 s. c o m*/

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(FIND_BY_C_G_C_C_P_T_D_L_S_E_S);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarBooking.class.getName(),
                    "CalendarBooking.calendarBookingId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_ID$]", getCalendarIds(calendarIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = StringUtil.replace(sql, "[$RECURRENCE$]", getRecurrence(recurring));
        sql = StringUtil.replace(sql, "[$STATUS$]", getStatuses(statuses));

        if (parentCalendarBookingId < 0) {
            sql = StringUtil.replace(sql, "(parentCalendarBookingId = ?) AND", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceKeywords(sql, "lower(title)", StringPool.LIKE, false, titles);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(location)", StringPool.LIKE, true, locations);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        StringBundler sb = new StringBundler();

        if (orderByComparator != null) {
            appendOrderByComparator(sb, "CalendarBooking.", orderByComparator);
        }

        sql = StringUtil.replace(sql, "[$ORDER_BY$]", sb.toString());

        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("CalendarBooking", CalendarBookingImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);

        if (ArrayUtil.isNotEmpty(groupIds)) {
            qPos.add(groupIds);
        }

        if (ArrayUtil.isNotEmpty(calendarIds)) {
            qPos.add(calendarIds);
        }

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        if (parentCalendarBookingId >= 0) {
            qPos.add(parentCalendarBookingId);
        }

        qPos.add(titles, 2);
        qPos.add(descriptions, 2);
        qPos.add(locations, 2);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(startTime);
        qPos.add(endTime);

        if (ArrayUtil.isNotEmpty(statuses)) {
            qPos.add(statuses);
        }

        return (List<CalendarBooking>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.CalendarFinderImpl.java

License:Open Source License

protected int doCountByC_G_C_N_D(long companyId, long[] groupIds, long[] calendarResourceIds, String[] names,
        String[] descriptions, boolean andOperator, boolean inlineSQLHelper) throws SystemException {

    if (groupIds == null) {
        groupIds = new long[0];
    }// w  w w .j  a v  a 2  s.  co m

    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_BY_C_G_C_N_D);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, Calendar.class.getName(),
                    "Calendar.calendarId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        qPos.add(names, 2);
        qPos.add(descriptions, 2);

        Iterator<Long> itr = q.iterate();

        if (itr.hasNext()) {
            Long count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.CalendarFinderImpl.java

License:Open Source License

protected List<Calendar> doFindByC_G_C_N_D(long companyId, long[] groupIds, long[] calendarResourceIds,
        String[] names, String[] descriptions, boolean andOperator, int start, int end,
        OrderByComparator orderByComparator, boolean inlineSQLHelper) throws SystemException {

    if (groupIds == null) {
        groupIds = new long[0];
    }/*from   ww  w.j a  v a  2s  . c o m*/

    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(FIND_BY_C_G_C_N_D);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, Calendar.class.getName(),
                    "Calendar.calendarId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        StringBundler sb = new StringBundler();

        if (orderByComparator != null) {
            appendOrderByComparator(sb, "Calendar.", orderByComparator);
        }

        sql = StringUtil.replace(sql, "[$ORDER_BY$]", sb.toString());

        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("Calendar", CalendarImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        qPos.add(names, 2);
        qPos.add(descriptions, 2);

        return (List<Calendar>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.CalendarResourceFinderImpl.java

License:Open Source License

protected int doCountByC_G_C_C_N_D_A(long companyId, long[] groupIds, long[] classNameIds, String[] codes,
        String[] names, String[] descriptions, boolean active, boolean andOperator, boolean inlineSQLHelper)
        throws SystemException {

    codes = CustomSQLUtil.keywords(codes);
    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;/*from www  .  j a  v a 2s .  c  o  m*/

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_BY_C_G_C_C_N_D_A);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarResource.class.getName(),
                    "CalendarResource.calendarResourceId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CLASS_NAME_ID$]", getClassNameIds(classNameIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(code_)", StringPool.LIKE, false, codes);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(classNameIds)) {
            qPos.add(classNameIds);
        }

        qPos.add(codes, 2);
        qPos.add(names, 2);
        qPos.add(descriptions, 2);
        qPos.add(active);

        Iterator<Long> itr = q.iterate();

        if (itr.hasNext()) {
            Long count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.CalendarResourceFinderImpl.java

License:Open Source License

protected List<CalendarResource> doFindByC_G_C_C_N_D_A(long companyId, long[] groupIds, long[] classNameIds,
        String[] codes, String[] names, String[] descriptions, boolean active, boolean andOperator, int start,
        int end, OrderByComparator orderByComparator, boolean inlineSQLHelper) throws SystemException {

    codes = CustomSQLUtil.keywords(codes);
    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;/*  w w w  .j  av a 2s .c o  m*/

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(FIND_BY_C_G_C_C_N_D_A);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarResource.class.getName(),
                    "CalendarResource.calendarResourceId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CLASS_NAME_ID$]", getClassNameIds(classNameIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(code_)", StringPool.LIKE, false, codes);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, true, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        StringBundler sb = new StringBundler();

        if (orderByComparator != null) {
            appendOrderByComparator(sb, "CalendarResource.", orderByComparator);
        }

        sql = StringUtil.replace(sql, "[$ORDER_BY$]", sb.toString());

        SQLQuery q = session.createSQLQuery(sql);

        q.addEntity("CalendarResource", CalendarResourceImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(classNameIds)) {
            qPos.add(classNameIds);
        }

        qPos.add(codes, 2);
        qPos.add(names, 2);
        qPos.add(descriptions, 2);
        qPos.add(active);

        return (List<CalendarResource>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.impl.CalendarBookingFinderImpl.java

License:Open Source License

protected int doCountByC_G_C_C_P_T_D_L_S_E_S(long companyId, long[] groupIds, long[] calendarIds,
        long[] calendarResourceIds, long parentCalendarBookingId, String[] titles, String[] descriptions,
        String[] locations, long startTime, long endTime, int[] statuses, boolean andOperator,
        boolean inlineSQLHelper) {

    titles = CustomSQLUtil.keywords(titles);
    descriptions = CustomSQLUtil.keywords(descriptions, false);
    locations = CustomSQLUtil.keywords(locations);

    Session session = null;//from  w  w w.  j  av  a 2 s.c  o m

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_BY_C_G_C_C_P_T_D_L_S_E_S);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarBooking.class.getName(),
                    "CalendarBooking.calendarBookingId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_ID$]", getCalendarIds(calendarIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = StringUtil.replace(sql, "[$STATUS$]", getStatuses(statuses));

        if (parentCalendarBookingId < 0) {
            sql = StringUtil.replace(sql, "(parentCalendarBookingId = ?) AND", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceKeywords(sql, "lower(title)", StringPool.LIKE, false, titles);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(location)", StringPool.LIKE, true, locations);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarIds)) {
            qPos.add(calendarIds);
        }

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        if (parentCalendarBookingId >= 0) {
            qPos.add(parentCalendarBookingId);
        }

        qPos.add(titles, 2);
        qPos.add(descriptions, 2);
        qPos.add(locations, 2);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(startTime);
        qPos.add(endTime);

        if (ArrayUtil.isNotEmpty(statuses)) {
            qPos.add(statuses);
        }

        Iterator<Long> itr = q.iterate();

        if (itr.hasNext()) {
            Long count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.impl.CalendarBookingFinderImpl.java

License:Open Source License

protected List<CalendarBooking> doFindByC_G_C_C_P_T_D_L_S_E_S(long companyId, long[] groupIds,
        long[] calendarIds, long[] calendarResourceIds, long parentCalendarBookingId, String[] titles,
        String[] descriptions, String[] locations, long startTime, long endTime, boolean recurring,
        int[] statuses, boolean andOperator, int start, int end,
        OrderByComparator<CalendarBooking> orderByComparator, boolean inlineSQLHelper) {

    titles = CustomSQLUtil.keywords(titles);
    descriptions = CustomSQLUtil.keywords(descriptions, false);
    locations = CustomSQLUtil.keywords(locations);

    Session session = null;/*from   ww w  . j ava2s .  com*/

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(FIND_BY_C_G_C_C_P_T_D_L_S_E_S);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, CalendarBooking.class.getName(),
                    "CalendarBooking.calendarBookingId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_ID$]", getCalendarIds(calendarIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = StringUtil.replace(sql, "[$RECURRENCE$]", getRecurrence(recurring));
        sql = StringUtil.replace(sql, "[$STATUS$]", getStatuses(statuses));

        if (parentCalendarBookingId < 0) {
            sql = StringUtil.replace(sql, "(parentCalendarBookingId = ?) AND", StringPool.BLANK);
        }

        sql = CustomSQLUtil.replaceKeywords(sql, "lower(title)", StringPool.LIKE, false, titles);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(location)", StringPool.LIKE, true, locations);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        StringBundler sb = new StringBundler();

        if (orderByComparator != null) {
            appendOrderByComparator(sb, "CalendarBooking.", orderByComparator);
        }

        sql = StringUtil.replace(sql, "[$ORDER_BY$]", sb.toString());

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addEntity("CalendarBooking", CalendarBookingImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);

        if (ArrayUtil.isNotEmpty(groupIds)) {
            qPos.add(groupIds);
        }

        if (ArrayUtil.isNotEmpty(calendarIds)) {
            qPos.add(calendarIds);
        }

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        if (parentCalendarBookingId >= 0) {
            qPos.add(parentCalendarBookingId);
        }

        qPos.add(titles, 2);
        qPos.add(descriptions, 2);
        qPos.add(locations, 2);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(endTime);
        qPos.add(endTime);
        qPos.add(startTime);
        qPos.add(startTime);
        qPos.add(endTime);

        if (ArrayUtil.isNotEmpty(statuses)) {
            qPos.add(statuses);
        }

        return (List<CalendarBooking>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.impl.CalendarFinderImpl.java

License:Open Source License

protected int doCountByC_G_C_N_D(long companyId, long[] groupIds, long[] calendarResourceIds, String[] names,
        String[] descriptions, boolean andOperator, boolean inlineSQLHelper) {

    if (groupIds == null) {
        groupIds = new long[0];
    }// www.ja  v  a2  s.  c om

    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(COUNT_BY_C_G_C_N_D);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, Calendar.class.getName(),
                    "Calendar.calendarId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        qPos.add(names, 2);
        qPos.add(descriptions, 2);

        Iterator<Long> itr = q.iterate();

        if (itr.hasNext()) {
            Long count = itr.next();

            if (count != null) {
                return count.intValue();
            }
        }

        return 0;
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.calendar.service.persistence.impl.CalendarFinderImpl.java

License:Open Source License

protected List<Calendar> doFindByC_G_C_N_D(long companyId, long[] groupIds, long[] calendarResourceIds,
        String[] names, String[] descriptions, boolean andOperator, int start, int end,
        OrderByComparator<Calendar> orderByComparator, boolean inlineSQLHelper) {

    if (groupIds == null) {
        groupIds = new long[0];
    }/* w  w w. j  av  a  2 s.c om*/

    names = CustomSQLUtil.keywords(names);
    descriptions = CustomSQLUtil.keywords(descriptions, false);

    Session session = null;

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(FIND_BY_C_G_C_N_D);

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, Calendar.class.getName(),
                    "Calendar.calendarId", groupIds);
        }

        sql = StringUtil.replace(sql, "[$GROUP_ID$]", getGroupIds(groupIds));
        sql = StringUtil.replace(sql, "[$CALENDAR_RESOURCE_ID$]", getCalendarResourceIds(calendarResourceIds));
        sql = CustomSQLUtil.replaceKeywords(sql, "lower(name)", StringPool.LIKE, false, names);
        sql = CustomSQLUtil.replaceKeywords(sql, "description", StringPool.LIKE, false, descriptions);
        sql = CustomSQLUtil.replaceAndOperator(sql, andOperator);

        StringBundler sb = new StringBundler();

        if (orderByComparator != null) {
            appendOrderByComparator(sb, "Calendar.", orderByComparator);
        }

        sql = StringUtil.replace(sql, "[$ORDER_BY$]", sb.toString());

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addEntity("Calendar", CalendarImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(companyId);
        qPos.add(groupIds);

        if (ArrayUtil.isNotEmpty(calendarResourceIds)) {
            qPos.add(calendarResourceIds);
        }

        qPos.add(names, 2);
        qPos.add(descriptions, 2);

        return (List<Calendar>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}