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

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

Introduction

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

Prototype

String BLANK

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

Click Source Link

Usage

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.DictionaryPersistenceImpl.java

License:Open Source License

/**
 * Returns an ordered range of all the dictionaries where synonym = ?.
 *
 * <p>/*from  w  w w . ja va 2 s .com*/
 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link at.graz.meduni.liferay.portlet.saat.model.impl.DictionaryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
 * </p>
 *
 * @param synonym the synonym
 * @param start the lower bound of the range of dictionaries
 * @param end the upper bound of the range of dictionaries (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching dictionaries
 * @throws SystemException if a system exception occurred
 */
@Override
public List<Dictionary> findBySynonym(String synonym, int start, int end, OrderByComparator orderByComparator)
        throws SystemException {
    boolean pagination = true;
    FinderPath finderPath = null;
    Object[] finderArgs = null;

    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) {
        pagination = false;
        finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_SYNONYM;
        finderArgs = new Object[] { synonym };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_SYNONYM;
        finderArgs = new Object[] { synonym, start, end, orderByComparator };
    }

    List<Dictionary> list = (List<Dictionary>) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if ((list != null) && !list.isEmpty()) {
        for (Dictionary dictionary : list) {
            if (!Validator.equals(synonym, dictionary.getSynonym())) {
                list = null;

                break;
            }
        }
    }

    if (list == null) {
        StringBundler query = null;

        if (orderByComparator != null) {
            query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(3);
        }

        query.append(_SQL_SELECT_DICTIONARY_WHERE);

        boolean bindSynonym = false;

        if (synonym == null) {
            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_1);
        } else if (synonym.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_3);
        } else {
            bindSynonym = true;

            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_2);
        }

        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(DictionaryModelImpl.ORDER_BY_JPQL);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindSynonym) {
                qPos.add(synonym);
            }

            if (!pagination) {
                list = (List<Dictionary>) QueryUtil.list(q, getDialect(), start, end, false);

                Collections.sort(list);

                list = new UnmodifiableList<Dictionary>(list);
            } else {
                list = (List<Dictionary>) QueryUtil.list(q, getDialect(), start, end);
            }

            cacheResult(list);

            FinderCacheUtil.putResult(finderPath, finderArgs, list);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return list;
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.DictionaryPersistenceImpl.java

License:Open Source License

protected Dictionary getBySynonym_PrevAndNext(Session session, Dictionary dictionary, String synonym,
        OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;//from w  w w  .  j  a  v a  2 s .  c o  m

    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }

    query.append(_SQL_SELECT_DICTIONARY_WHERE);

    boolean bindSynonym = false;

    if (synonym == null) {
        query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_1);
    } else if (synonym.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_3);
    } else {
        bindSynonym = true;

        query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_2);
    }

    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();

        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }

        for (int i = 0; i < orderByConditionFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByConditionFields[i]);

            if ((i + 1) < orderByConditionFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
                } else {
                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN);
                } else {
                    query.append(WHERE_LESSER_THAN);
                }
            }
        }

        query.append(ORDER_BY_CLAUSE);

        String[] orderByFields = orderByComparator.getOrderByFields();

        for (int i = 0; i < orderByFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByFields[i]);

            if ((i + 1) < orderByFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC_HAS_NEXT);
                } else {
                    query.append(ORDER_BY_DESC_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC);
                } else {
                    query.append(ORDER_BY_DESC);
                }
            }
        }
    } else {
        query.append(DictionaryModelImpl.ORDER_BY_JPQL);
    }

    String sql = query.toString();

    Query q = session.createQuery(sql);

    q.setFirstResult(0);
    q.setMaxResults(2);

    QueryPos qPos = QueryPos.getInstance(q);

    if (bindSynonym) {
        qPos.add(synonym);
    }

    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(dictionary);

        for (Object value : values) {
            qPos.add(value);
        }
    }

    List<Dictionary> list = q.list();

    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.DictionaryPersistenceImpl.java

License:Open Source License

/**
 * Returns the number of dictionaries where synonym = &#63;.
 *
 * @param synonym the synonym//  www . j a  va 2s. c o m
 * @return the number of matching dictionaries
 * @throws SystemException if a system exception occurred
 */
@Override
public int countBySynonym(String synonym) throws SystemException {
    FinderPath finderPath = FINDER_PATH_COUNT_BY_SYNONYM;

    Object[] finderArgs = new Object[] { synonym };

    Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if (count == null) {
        StringBundler query = new StringBundler(2);

        query.append(_SQL_COUNT_DICTIONARY_WHERE);

        boolean bindSynonym = false;

        if (synonym == null) {
            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_1);
        } else if (synonym.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_3);
        } else {
            bindSynonym = true;

            query.append(_FINDER_COLUMN_SYNONYM_SYNONYM_2);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindSynonym) {
                qPos.add(synonym);
            }

            count = (Long) q.uniqueResult();

            FinderCacheUtil.putResult(finderPath, finderArgs, count);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return count.intValue();
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICD10PersistenceImpl.java

License:Open Source License

/**
 * Returns an ordered range of all the i c d10s where code = &#63;.
 *
 * <p>//from ww w.j av a  2  s  . c  o  m
 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link at.graz.meduni.liferay.portlet.saat.model.impl.ICD10ModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
 * </p>
 *
 * @param code the code
 * @param start the lower bound of the range of i c d10s
 * @param end the upper bound of the range of i c d10s (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching i c d10s
 * @throws SystemException if a system exception occurred
 */
@Override
public List<ICD10> findByCode(String code, int start, int end, OrderByComparator orderByComparator)
        throws SystemException {
    boolean pagination = true;
    FinderPath finderPath = null;
    Object[] finderArgs = null;

    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) {
        pagination = false;
        finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CODE;
        finderArgs = new Object[] { code };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_CODE;
        finderArgs = new Object[] { code, start, end, orderByComparator };
    }

    List<ICD10> list = (List<ICD10>) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if ((list != null) && !list.isEmpty()) {
        for (ICD10 icd10 : list) {
            if (!Validator.equals(code, icd10.getCode())) {
                list = null;

                break;
            }
        }
    }

    if (list == null) {
        StringBundler query = null;

        if (orderByComparator != null) {
            query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(3);
        }

        query.append(_SQL_SELECT_ICD10_WHERE);

        boolean bindCode = false;

        if (code == null) {
            query.append(_FINDER_COLUMN_CODE_CODE_1);
        } else if (code.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_CODE_CODE_3);
        } else {
            bindCode = true;

            query.append(_FINDER_COLUMN_CODE_CODE_2);
        }

        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(ICD10ModelImpl.ORDER_BY_JPQL);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindCode) {
                qPos.add(code);
            }

            if (!pagination) {
                list = (List<ICD10>) QueryUtil.list(q, getDialect(), start, end, false);

                Collections.sort(list);

                list = new UnmodifiableList<ICD10>(list);
            } else {
                list = (List<ICD10>) QueryUtil.list(q, getDialect(), start, end);
            }

            cacheResult(list);

            FinderCacheUtil.putResult(finderPath, finderArgs, list);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return list;
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICD10PersistenceImpl.java

License:Open Source License

protected ICD10 getByCode_PrevAndNext(Session session, ICD10 icd10, String code,
        OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;/*from   ww w .j a  v  a 2s . c o  m*/

    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }

    query.append(_SQL_SELECT_ICD10_WHERE);

    boolean bindCode = false;

    if (code == null) {
        query.append(_FINDER_COLUMN_CODE_CODE_1);
    } else if (code.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_CODE_CODE_3);
    } else {
        bindCode = true;

        query.append(_FINDER_COLUMN_CODE_CODE_2);
    }

    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();

        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }

        for (int i = 0; i < orderByConditionFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByConditionFields[i]);

            if ((i + 1) < orderByConditionFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
                } else {
                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN);
                } else {
                    query.append(WHERE_LESSER_THAN);
                }
            }
        }

        query.append(ORDER_BY_CLAUSE);

        String[] orderByFields = orderByComparator.getOrderByFields();

        for (int i = 0; i < orderByFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByFields[i]);

            if ((i + 1) < orderByFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC_HAS_NEXT);
                } else {
                    query.append(ORDER_BY_DESC_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC);
                } else {
                    query.append(ORDER_BY_DESC);
                }
            }
        }
    } else {
        query.append(ICD10ModelImpl.ORDER_BY_JPQL);
    }

    String sql = query.toString();

    Query q = session.createQuery(sql);

    q.setFirstResult(0);
    q.setMaxResults(2);

    QueryPos qPos = QueryPos.getInstance(q);

    if (bindCode) {
        qPos.add(code);
    }

    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(icd10);

        for (Object value : values) {
            qPos.add(value);
        }
    }

    List<ICD10> list = q.list();

    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICD10PersistenceImpl.java

License:Open Source License

/**
 * Returns the number of i c d10s where code = &#63;.
 *
 * @param code the code/* www.  ja  va  2  s. c om*/
 * @return the number of matching i c d10s
 * @throws SystemException if a system exception occurred
 */
@Override
public int countByCode(String code) throws SystemException {
    FinderPath finderPath = FINDER_PATH_COUNT_BY_CODE;

    Object[] finderArgs = new Object[] { code };

    Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if (count == null) {
        StringBundler query = new StringBundler(2);

        query.append(_SQL_COUNT_ICD10_WHERE);

        boolean bindCode = false;

        if (code == null) {
            query.append(_FINDER_COLUMN_CODE_CODE_1);
        } else if (code.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_CODE_CODE_3);
        } else {
            bindCode = true;

            query.append(_FINDER_COLUMN_CODE_CODE_2);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindCode) {
                qPos.add(code);
            }

            count = (Long) q.uniqueResult();

            FinderCacheUtil.putResult(finderPath, finderArgs, count);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return count.intValue();
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICDO3PersistenceImpl.java

License:Open Source License

/**
 * Returns an ordered range of all the i c d o3s where code = &#63;.
 *
 * <p>/*from   ww  w . j a  v  a2  s  . c  o m*/
 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link at.graz.meduni.liferay.portlet.saat.model.impl.ICDO3ModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
 * </p>
 *
 * @param code the code
 * @param start the lower bound of the range of i c d o3s
 * @param end the upper bound of the range of i c d o3s (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching i c d o3s
 * @throws SystemException if a system exception occurred
 */
@Override
public List<ICDO3> findByCode(String code, int start, int end, OrderByComparator orderByComparator)
        throws SystemException {
    boolean pagination = true;
    FinderPath finderPath = null;
    Object[] finderArgs = null;

    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) {
        pagination = false;
        finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CODE;
        finderArgs = new Object[] { code };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_CODE;
        finderArgs = new Object[] { code, start, end, orderByComparator };
    }

    List<ICDO3> list = (List<ICDO3>) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if ((list != null) && !list.isEmpty()) {
        for (ICDO3 icdo3 : list) {
            if (!Validator.equals(code, icdo3.getCode())) {
                list = null;

                break;
            }
        }
    }

    if (list == null) {
        StringBundler query = null;

        if (orderByComparator != null) {
            query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(3);
        }

        query.append(_SQL_SELECT_ICDO3_WHERE);

        boolean bindCode = false;

        if (code == null) {
            query.append(_FINDER_COLUMN_CODE_CODE_1);
        } else if (code.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_CODE_CODE_3);
        } else {
            bindCode = true;

            query.append(_FINDER_COLUMN_CODE_CODE_2);
        }

        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(ICDO3ModelImpl.ORDER_BY_JPQL);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindCode) {
                qPos.add(code);
            }

            if (!pagination) {
                list = (List<ICDO3>) QueryUtil.list(q, getDialect(), start, end, false);

                Collections.sort(list);

                list = new UnmodifiableList<ICDO3>(list);
            } else {
                list = (List<ICDO3>) QueryUtil.list(q, getDialect(), start, end);
            }

            cacheResult(list);

            FinderCacheUtil.putResult(finderPath, finderArgs, list);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return list;
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICDO3PersistenceImpl.java

License:Open Source License

protected ICDO3 getByCode_PrevAndNext(Session session, ICDO3 icdo3, String code,
        OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;//from   w  ww  .  j  a  va2s  .c o  m

    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }

    query.append(_SQL_SELECT_ICDO3_WHERE);

    boolean bindCode = false;

    if (code == null) {
        query.append(_FINDER_COLUMN_CODE_CODE_1);
    } else if (code.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_CODE_CODE_3);
    } else {
        bindCode = true;

        query.append(_FINDER_COLUMN_CODE_CODE_2);
    }

    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();

        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }

        for (int i = 0; i < orderByConditionFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByConditionFields[i]);

            if ((i + 1) < orderByConditionFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN_HAS_NEXT);
                } else {
                    query.append(WHERE_LESSER_THAN_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(WHERE_GREATER_THAN);
                } else {
                    query.append(WHERE_LESSER_THAN);
                }
            }
        }

        query.append(ORDER_BY_CLAUSE);

        String[] orderByFields = orderByComparator.getOrderByFields();

        for (int i = 0; i < orderByFields.length; i++) {
            query.append(_ORDER_BY_ENTITY_ALIAS);
            query.append(orderByFields[i]);

            if ((i + 1) < orderByFields.length) {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC_HAS_NEXT);
                } else {
                    query.append(ORDER_BY_DESC_HAS_NEXT);
                }
            } else {
                if (orderByComparator.isAscending() ^ previous) {
                    query.append(ORDER_BY_ASC);
                } else {
                    query.append(ORDER_BY_DESC);
                }
            }
        }
    } else {
        query.append(ICDO3ModelImpl.ORDER_BY_JPQL);
    }

    String sql = query.toString();

    Query q = session.createQuery(sql);

    q.setFirstResult(0);
    q.setMaxResults(2);

    QueryPos qPos = QueryPos.getInstance(q);

    if (bindCode) {
        qPos.add(code);
    }

    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(icdo3);

        for (Object value : values) {
            qPos.add(value);
        }
    }

    List<ICDO3> list = q.list();

    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.ICDO3PersistenceImpl.java

License:Open Source License

/**
 * Returns the number of i c d o3s where code = &#63;.
 *
 * @param code the code/*from   w  w w . j  a  v a  2s . com*/
 * @return the number of matching i c d o3s
 * @throws SystemException if a system exception occurred
 */
@Override
public int countByCode(String code) throws SystemException {
    FinderPath finderPath = FINDER_PATH_COUNT_BY_CODE;

    Object[] finderArgs = new Object[] { code };

    Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);

    if (count == null) {
        StringBundler query = new StringBundler(2);

        query.append(_SQL_COUNT_ICDO3_WHERE);

        boolean bindCode = false;

        if (code == null) {
            query.append(_FINDER_COLUMN_CODE_CODE_1);
        } else if (code.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_CODE_CODE_3);
        } else {
            bindCode = true;

            query.append(_FINDER_COLUMN_CODE_CODE_2);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindCode) {
                qPos.add(code);
            }

            count = (Long) q.uniqueResult();

            FinderCacheUtil.putResult(finderPath, finderArgs, count);
        } catch (Exception e) {
            FinderCacheUtil.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return count.intValue();
}

From source file:at.graz.meduni.liferay.portlet.saat.service.persistence.impl.DictionaryPersistenceImpl.java

License:Open Source License

/**
 * Returns an ordered range of all the dictionaries where codeType = &#63;.
 *
 * <p>//from  ww  w.j av a  2  s.  c o m
 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DictionaryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
 * </p>
 *
 * @param codeType the code type
 * @param start the lower bound of the range of dictionaries
 * @param end the upper bound of the range of dictionaries (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @param retrieveFromCache whether to retrieve from the finder cache
 * @return the ordered range of matching dictionaries
 */
@Override
public List<Dictionary> findByCodeType(String codeType, int start, int end,
        OrderByComparator<Dictionary> orderByComparator, boolean retrieveFromCache) {
    boolean pagination = true;
    FinderPath finderPath = null;
    Object[] finderArgs = null;

    if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && (orderByComparator == null)) {
        pagination = false;
        finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CODETYPE;
        finderArgs = new Object[] { codeType };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_CODETYPE;
        finderArgs = new Object[] { codeType, start, end, orderByComparator };
    }

    List<Dictionary> list = null;

    if (retrieveFromCache) {
        list = (List<Dictionary>) finderCache.getResult(finderPath, finderArgs, this);

        if ((list != null) && !list.isEmpty()) {
            for (Dictionary dictionary : list) {
                if (!Objects.equals(codeType, dictionary.getCodeType())) {
                    list = null;

                    break;
                }
            }
        }
    }

    if (list == null) {
        StringBundler query = null;

        if (orderByComparator != null) {
            query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 2));
        } else {
            query = new StringBundler(3);
        }

        query.append(_SQL_SELECT_DICTIONARY_WHERE);

        boolean bindCodeType = false;

        if (codeType == null) {
            query.append(_FINDER_COLUMN_CODETYPE_CODETYPE_1);
        } else if (codeType.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_CODETYPE_CODETYPE_3);
        } else {
            bindCodeType = true;

            query.append(_FINDER_COLUMN_CODETYPE_CODETYPE_2);
        }

        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(DictionaryModelImpl.ORDER_BY_JPQL);
        }

        String sql = query.toString();

        Session session = null;

        try {
            session = openSession();

            Query q = session.createQuery(sql);

            QueryPos qPos = QueryPos.getInstance(q);

            if (bindCodeType) {
                qPos.add(codeType);
            }

            if (!pagination) {
                list = (List<Dictionary>) QueryUtil.list(q, getDialect(), start, end, false);

                Collections.sort(list);

                list = Collections.unmodifiableList(list);
            } else {
                list = (List<Dictionary>) QueryUtil.list(q, getDialect(), start, end);
            }

            cacheResult(list);

            finderCache.putResult(finderPath, finderArgs, list);
        } catch (Exception e) {
            finderCache.removeResult(finderPath, finderArgs);

            throw processException(e);
        } finally {
            closeSession(session);
        }
    }

    return list;
}