Search in sources :

Example 96 with SQLQuery

use of com.liferay.portal.kernel.dao.orm.SQLQuery in project liferay-ide by liferay.

the class KBArticlePersistenceImpl method filterCountByG_P_S_L.

/**
 * Returns the number of k b articles that the user has permission to view where groupId = ? and parentResourcePrimKey = ? and sections LIKE any ? and latest = ?.
 *
 * @param groupId the group ID
 * @param parentResourcePrimKey the parent resource prim key
 * @param sectionses the sectionses
 * @param latest the latest
 * @return the number of matching k b articles that the user has permission to view
 * @throws SystemException if a system exception occurred
 */
@Override
public int filterCountByG_P_S_L(long groupId, long parentResourcePrimKey, String[] sectionses, boolean latest) throws SystemException {
    if (!InlineSQLHelperUtil.isEnabled(groupId)) {
        return countByG_P_S_L(groupId, parentResourcePrimKey, sectionses, latest);
    }
    StringBundler query = new StringBundler();
    query.append(_FILTER_SQL_COUNT_KBARTICLE_WHERE);
    boolean conjunctionable = false;
    if (conjunctionable) {
        query.append(WHERE_AND);
    }
    query.append(_FINDER_COLUMN_G_P_S_L_GROUPID_5);
    conjunctionable = true;
    if (conjunctionable) {
        query.append(WHERE_AND);
    }
    query.append(_FINDER_COLUMN_G_P_S_L_PARENTRESOURCEPRIMKEY_5);
    conjunctionable = true;
    if ((sectionses == null) || (sectionses.length > 0)) {
        if (conjunctionable) {
            query.append(WHERE_AND);
        }
        query.append(StringPool.OPEN_PARENTHESIS);
        for (int i = 0; i < sectionses.length; i++) {
            String sections = sectionses[i];
            if (sections == null) {
                query.append(_FINDER_COLUMN_G_P_S_L_SECTIONS_4);
            } else if (sections.equals(StringPool.BLANK)) {
                query.append(_FINDER_COLUMN_G_P_S_L_SECTIONS_6);
            } else {
                query.append(_FINDER_COLUMN_G_P_S_L_SECTIONS_5);
            }
            if ((i + 1) < sectionses.length) {
                query.append(WHERE_OR);
            }
        }
        query.append(StringPool.CLOSE_PARENTHESIS);
        conjunctionable = true;
    }
    if (conjunctionable) {
        query.append(WHERE_AND);
    }
    query.append(_FINDER_COLUMN_G_P_S_L_LATEST_5);
    conjunctionable = true;
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), KBArticle.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    Session session = null;
    try {
        session = openSession();
        SQLQuery q = session.createSQLQuery(sql);
        q.addScalar(COUNT_COLUMN_NAME, com.liferay.portal.kernel.dao.orm.Type.LONG);
        QueryPos qPos = QueryPos.getInstance(q);
        qPos.add(groupId);
        qPos.add(parentResourcePrimKey);
        if (sectionses != null) {
            qPos.add(sectionses);
        }
        qPos.add(latest);
        Long count = (Long) q.uniqueResult();
        return count.intValue();
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : KBArticle(com.liferay.knowledgebase.model.KBArticle) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 97 with SQLQuery

use of com.liferay.portal.kernel.dao.orm.SQLQuery in project liferay-ide by liferay.

the class KBArticlePersistenceImpl method filterGetByG_KBFI_UT_ST_PrevAndNext.

protected KBArticle filterGetByG_KBFI_UT_ST_PrevAndNext(Session session, KBArticle kbArticle, long groupId, long kbFolderId, String urlTitle, int status, OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;
    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }
    if (getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_WHERE);
    } else {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_NO_INLINE_DISTINCT_WHERE_1);
    }
    query.append(_FINDER_COLUMN_G_KBFI_UT_ST_GROUPID_2);
    query.append(_FINDER_COLUMN_G_KBFI_UT_ST_KBFOLDERID_2);
    boolean bindUrlTitle = false;
    if (urlTitle == null) {
        query.append(_FINDER_COLUMN_G_KBFI_UT_ST_URLTITLE_1);
    } else if (urlTitle.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_G_KBFI_UT_ST_URLTITLE_3);
    } else {
        bindUrlTitle = true;
        query.append(_FINDER_COLUMN_G_KBFI_UT_ST_URLTITLE_2);
    }
    query.append(_FINDER_COLUMN_G_KBFI_UT_ST_STATUS_2);
    if (!getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_NO_INLINE_DISTINCT_WHERE_2);
    }
    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }
        for (int i = 0; i < orderByConditionFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            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++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            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 {
        if (getDB().isSupportsInlineDistinct()) {
            query.append(KBArticleModelImpl.ORDER_BY_JPQL);
        } else {
            query.append(KBArticleModelImpl.ORDER_BY_SQL);
        }
    }
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), KBArticle.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    SQLQuery q = session.createSQLQuery(sql);
    q.setFirstResult(0);
    q.setMaxResults(2);
    if (getDB().isSupportsInlineDistinct()) {
        q.addEntity(_FILTER_ENTITY_ALIAS, KBArticleImpl.class);
    } else {
        q.addEntity(_FILTER_ENTITY_TABLE, KBArticleImpl.class);
    }
    QueryPos qPos = QueryPos.getInstance(q);
    qPos.add(groupId);
    qPos.add(kbFolderId);
    if (bindUrlTitle) {
        qPos.add(urlTitle);
    }
    qPos.add(status);
    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(kbArticle);
        for (Object value : values) {
            qPos.add(value);
        }
    }
    List<KBArticle> list = q.list();
    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}
Also used : KBArticle(com.liferay.knowledgebase.model.KBArticle) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler)

Example 98 with SQLQuery

use of com.liferay.portal.kernel.dao.orm.SQLQuery in project liferay-ide by liferay.

the class KBArticlePersistenceImpl method filterCountByG_P_S.

/**
 * Returns the number of k b articles that the user has permission to view where groupId = &#63; and parentResourcePrimKey = &#63; and status = &#63;.
 *
 * @param groupId the group ID
 * @param parentResourcePrimKey the parent resource prim key
 * @param status the status
 * @return the number of matching k b articles that the user has permission to view
 * @throws SystemException if a system exception occurred
 */
@Override
public int filterCountByG_P_S(long groupId, long parentResourcePrimKey, int status) throws SystemException {
    if (!InlineSQLHelperUtil.isEnabled(groupId)) {
        return countByG_P_S(groupId, parentResourcePrimKey, status);
    }
    StringBundler query = new StringBundler(4);
    query.append(_FILTER_SQL_COUNT_KBARTICLE_WHERE);
    query.append(_FINDER_COLUMN_G_P_S_GROUPID_2);
    query.append(_FINDER_COLUMN_G_P_S_PARENTRESOURCEPRIMKEY_2);
    query.append(_FINDER_COLUMN_G_P_S_STATUS_2);
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), KBArticle.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    Session session = null;
    try {
        session = openSession();
        SQLQuery q = session.createSQLQuery(sql);
        q.addScalar(COUNT_COLUMN_NAME, com.liferay.portal.kernel.dao.orm.Type.LONG);
        QueryPos qPos = QueryPos.getInstance(q);
        qPos.add(groupId);
        qPos.add(parentResourcePrimKey);
        qPos.add(status);
        Long count = (Long) q.uniqueResult();
        return count.intValue();
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : KBArticle(com.liferay.knowledgebase.model.KBArticle) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 99 with SQLQuery

use of com.liferay.portal.kernel.dao.orm.SQLQuery in project liferay-ide by liferay.

the class KBArticlePersistenceImpl method filterGetByR_G_M_PrevAndNext.

protected KBArticle filterGetByR_G_M_PrevAndNext(Session session, KBArticle kbArticle, long resourcePrimKey, long groupId, boolean main, OrderByComparator orderByComparator, boolean previous) {
    StringBundler query = null;
    if (orderByComparator != null) {
        query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
    } else {
        query = new StringBundler(3);
    }
    if (getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_WHERE);
    } else {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_NO_INLINE_DISTINCT_WHERE_1);
    }
    query.append(_FINDER_COLUMN_R_G_M_RESOURCEPRIMKEY_2);
    query.append(_FINDER_COLUMN_R_G_M_GROUPID_2);
    query.append(_FINDER_COLUMN_R_G_M_MAIN_2);
    if (!getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_KBARTICLE_NO_INLINE_DISTINCT_WHERE_2);
    }
    if (orderByComparator != null) {
        String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
        if (orderByConditionFields.length > 0) {
            query.append(WHERE_AND);
        }
        for (int i = 0; i < orderByConditionFields.length; i++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            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++) {
            if (getDB().isSupportsInlineDistinct()) {
                query.append(_ORDER_BY_ENTITY_ALIAS);
            } else {
                query.append(_ORDER_BY_ENTITY_TABLE);
            }
            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 {
        if (getDB().isSupportsInlineDistinct()) {
            query.append(KBArticleModelImpl.ORDER_BY_JPQL);
        } else {
            query.append(KBArticleModelImpl.ORDER_BY_SQL);
        }
    }
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), KBArticle.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    SQLQuery q = session.createSQLQuery(sql);
    q.setFirstResult(0);
    q.setMaxResults(2);
    if (getDB().isSupportsInlineDistinct()) {
        q.addEntity(_FILTER_ENTITY_ALIAS, KBArticleImpl.class);
    } else {
        q.addEntity(_FILTER_ENTITY_TABLE, KBArticleImpl.class);
    }
    QueryPos qPos = QueryPos.getInstance(q);
    qPos.add(resourcePrimKey);
    qPos.add(groupId);
    qPos.add(main);
    if (orderByComparator != null) {
        Object[] values = orderByComparator.getOrderByConditionValues(kbArticle);
        for (Object value : values) {
            qPos.add(value);
        }
    }
    List<KBArticle> list = q.list();
    if (list.size() == 2) {
        return list.get(1);
    } else {
        return null;
    }
}
Also used : KBArticle(com.liferay.knowledgebase.model.KBArticle) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler)

Example 100 with SQLQuery

use of com.liferay.portal.kernel.dao.orm.SQLQuery in project liferay-ide by liferay.

the class KBArticlePersistenceImpl method filterCountByG_P_S.

/**
 * Returns the number of k b articles that the user has permission to view where groupId = &#63; and parentResourcePrimKey = any &#63; and status = &#63;.
 *
 * @param groupId the group ID
 * @param parentResourcePrimKeies the parent resource prim keies
 * @param status the status
 * @return the number of matching k b articles that the user has permission to view
 * @throws SystemException if a system exception occurred
 */
@Override
public int filterCountByG_P_S(long groupId, long[] parentResourcePrimKeies, int status) throws SystemException {
    if (!InlineSQLHelperUtil.isEnabled(groupId)) {
        return countByG_P_S(groupId, parentResourcePrimKeies, status);
    }
    StringBundler query = new StringBundler();
    query.append(_FILTER_SQL_COUNT_KBARTICLE_WHERE);
    boolean conjunctionable = false;
    if (conjunctionable) {
        query.append(WHERE_AND);
    }
    query.append(_FINDER_COLUMN_G_P_S_GROUPID_5);
    conjunctionable = true;
    if ((parentResourcePrimKeies == null) || (parentResourcePrimKeies.length > 0)) {
        if (conjunctionable) {
            query.append(WHERE_AND);
        }
        query.append(StringPool.OPEN_PARENTHESIS);
        for (int i = 0; i < parentResourcePrimKeies.length; i++) {
            query.append(_FINDER_COLUMN_G_P_S_PARENTRESOURCEPRIMKEY_5);
            if ((i + 1) < parentResourcePrimKeies.length) {
                query.append(WHERE_OR);
            }
        }
        query.append(StringPool.CLOSE_PARENTHESIS);
        conjunctionable = true;
    }
    if (conjunctionable) {
        query.append(WHERE_AND);
    }
    query.append(_FINDER_COLUMN_G_P_S_STATUS_5);
    conjunctionable = true;
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), KBArticle.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    Session session = null;
    try {
        session = openSession();
        SQLQuery q = session.createSQLQuery(sql);
        q.addScalar(COUNT_COLUMN_NAME, com.liferay.portal.kernel.dao.orm.Type.LONG);
        QueryPos qPos = QueryPos.getInstance(q);
        qPos.add(groupId);
        if (parentResourcePrimKeies != null) {
            qPos.add(parentResourcePrimKeies);
        }
        qPos.add(status);
        Long count = (Long) q.uniqueResult();
        return count.intValue();
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : KBArticle(com.liferay.knowledgebase.model.KBArticle) SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) Session(com.liferay.portal.kernel.dao.orm.Session)

Aggregations

QueryPos (com.liferay.portal.kernel.dao.orm.QueryPos)133 SQLQuery (com.liferay.portal.kernel.dao.orm.SQLQuery)133 StringBundler (com.liferay.portal.kernel.util.StringBundler)131 Session (com.liferay.portal.kernel.dao.orm.Session)96 SystemException (com.liferay.portal.kernel.exception.SystemException)94 KBArticle (com.liferay.knowledgebase.model.KBArticle)68 NoSuchArticleException (com.liferay.knowledgebase.NoSuchArticleException)52 List (java.util.List)48 UnmodifiableList (com.liferay.portal.kernel.util.UnmodifiableList)47 ArrayList (java.util.ArrayList)47 Album (org.liferay.jukebox.model.Album)15 Song (org.liferay.jukebox.model.Song)15 Artist (org.liferay.jukebox.model.Artist)12 NoSuchAlbumException (org.liferay.jukebox.NoSuchAlbumException)10 NoSuchSongException (org.liferay.jukebox.NoSuchSongException)10 Gadget (com.liferay.opensocial.model.Gadget)9 NoSuchArtistException (org.liferay.jukebox.NoSuchArtistException)8 NoSuchGadgetException (com.liferay.opensocial.NoSuchGadgetException)6 WikiNode (com.liferay.portlet.wiki.model.WikiNode)6 NoSuchNodeException (com.liferay.portlet.wiki.NoSuchNodeException)4