Search in sources :

Example 86 with FinderPath

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

the class KBFolderPersistenceImpl method countByG_P_N.

/**
 * Returns the number of k b folders where groupId = ? and parentKBFolderId = ? and name = ?.
 *
 * @param groupId the group ID
 * @param parentKBFolderId the parent k b folder ID
 * @param name the name
 * @return the number of matching k b folders
 * @throws SystemException if a system exception occurred
 */
@Override
public int countByG_P_N(long groupId, long parentKBFolderId, String name) throws SystemException {
    FinderPath finderPath = FINDER_PATH_COUNT_BY_G_P_N;
    Object[] finderArgs = new Object[] { groupId, parentKBFolderId, name };
    Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if (count == null) {
        StringBundler query = new StringBundler(4);
        query.append(_SQL_COUNT_KBFOLDER_WHERE);
        query.append(_FINDER_COLUMN_G_P_N_GROUPID_2);
        query.append(_FINDER_COLUMN_G_P_N_PARENTKBFOLDERID_2);
        boolean bindName = false;
        if (name == null) {
            query.append(_FINDER_COLUMN_G_P_N_NAME_1);
        } else if (name.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_G_P_N_NAME_3);
        } else {
            bindName = true;
            query.append(_FINDER_COLUMN_G_P_N_NAME_2);
        }
        String sql = query.toString();
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            QueryPos qPos = QueryPos.getInstance(q);
            qPos.add(groupId);
            qPos.add(parentKBFolderId);
            if (bindName) {
                qPos.add(name);
            }
            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();
}
Also used : SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchFolderException(com.liferay.knowledgebase.NoSuchFolderException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 87 with FinderPath

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

the class KBArticlePersistenceImpl method findByG_KBFI_S.

/**
 * Returns an ordered range of all the k b articles where groupId = ? and kbFolderId = ? and status = ?.
 *
 * <p>
 * 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 com.liferay.knowledgebase.model.impl.KBArticleModelImpl}. 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 groupId the group ID
 * @param kbFolderId the kb folder ID
 * @param status the status
 * @param start the lower bound of the range of k b articles
 * @param end the upper bound of the range of k b articles (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching k b articles
 * @throws SystemException if a system exception occurred
 */
@Override
public List<KBArticle> findByG_KBFI_S(long groupId, long kbFolderId, int status, 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_G_KBFI_S;
        finderArgs = new Object[] { groupId, kbFolderId, status };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_KBFI_S;
        finderArgs = new Object[] { groupId, kbFolderId, status, start, end, orderByComparator };
    }
    List<KBArticle> list = (List<KBArticle>) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if ((list != null) && !list.isEmpty()) {
        for (KBArticle kbArticle : list) {
            if ((groupId != kbArticle.getGroupId()) || (kbFolderId != kbArticle.getKbFolderId()) || (status != kbArticle.getStatus())) {
                list = null;
                break;
            }
        }
    }
    if (list == null) {
        StringBundler query = null;
        if (orderByComparator != null) {
            query = new StringBundler(5 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(5);
        }
        query.append(_SQL_SELECT_KBARTICLE_WHERE);
        query.append(_FINDER_COLUMN_G_KBFI_S_GROUPID_2);
        query.append(_FINDER_COLUMN_G_KBFI_S_KBFOLDERID_2);
        query.append(_FINDER_COLUMN_G_KBFI_S_STATUS_2);
        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(KBArticleModelImpl.ORDER_BY_JPQL);
        }
        String sql = query.toString();
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            QueryPos qPos = QueryPos.getInstance(q);
            qPos.add(groupId);
            qPos.add(kbFolderId);
            qPos.add(status);
            if (!pagination) {
                list = (List<KBArticle>) QueryUtil.list(q, getDialect(), start, end, false);
                Collections.sort(list);
                list = new UnmodifiableList<KBArticle>(list);
            } else {
                list = (List<KBArticle>) 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;
}
Also used : SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) KBArticle(com.liferay.knowledgebase.model.KBArticle) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) ArrayList(java.util.ArrayList) UnmodifiableList(com.liferay.portal.kernel.util.UnmodifiableList) List(java.util.List) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 88 with FinderPath

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

the class KBArticlePersistenceImpl method findByG_KBFI_UT.

/**
 * Returns an ordered range of all the k b articles where groupId = &#63; and kbFolderId = &#63; and urlTitle = &#63;.
 *
 * <p>
 * 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 com.liferay.knowledgebase.model.impl.KBArticleModelImpl}. 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 groupId the group ID
 * @param kbFolderId the kb folder ID
 * @param urlTitle the url title
 * @param start the lower bound of the range of k b articles
 * @param end the upper bound of the range of k b articles (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching k b articles
 * @throws SystemException if a system exception occurred
 */
@Override
public List<KBArticle> findByG_KBFI_UT(long groupId, long kbFolderId, String urlTitle, 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_G_KBFI_UT;
        finderArgs = new Object[] { groupId, kbFolderId, urlTitle };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_KBFI_UT;
        finderArgs = new Object[] { groupId, kbFolderId, urlTitle, start, end, orderByComparator };
    }
    List<KBArticle> list = (List<KBArticle>) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if ((list != null) && !list.isEmpty()) {
        for (KBArticle kbArticle : list) {
            if ((groupId != kbArticle.getGroupId()) || (kbFolderId != kbArticle.getKbFolderId()) || !Validator.equals(urlTitle, kbArticle.getUrlTitle())) {
                list = null;
                break;
            }
        }
    }
    if (list == null) {
        StringBundler query = null;
        if (orderByComparator != null) {
            query = new StringBundler(5 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(5);
        }
        query.append(_SQL_SELECT_KBARTICLE_WHERE);
        query.append(_FINDER_COLUMN_G_KBFI_UT_GROUPID_2);
        query.append(_FINDER_COLUMN_G_KBFI_UT_KBFOLDERID_2);
        boolean bindUrlTitle = false;
        if (urlTitle == null) {
            query.append(_FINDER_COLUMN_G_KBFI_UT_URLTITLE_1);
        } else if (urlTitle.equals(StringPool.BLANK)) {
            query.append(_FINDER_COLUMN_G_KBFI_UT_URLTITLE_3);
        } else {
            bindUrlTitle = true;
            query.append(_FINDER_COLUMN_G_KBFI_UT_URLTITLE_2);
        }
        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(KBArticleModelImpl.ORDER_BY_JPQL);
        }
        String sql = query.toString();
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            QueryPos qPos = QueryPos.getInstance(q);
            qPos.add(groupId);
            qPos.add(kbFolderId);
            if (bindUrlTitle) {
                qPos.add(urlTitle);
            }
            if (!pagination) {
                list = (List<KBArticle>) QueryUtil.list(q, getDialect(), start, end, false);
                Collections.sort(list);
                list = new UnmodifiableList<KBArticle>(list);
            } else {
                list = (List<KBArticle>) 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;
}
Also used : SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) KBArticle(com.liferay.knowledgebase.model.KBArticle) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) ArrayList(java.util.ArrayList) UnmodifiableList(com.liferay.portal.kernel.util.UnmodifiableList) List(java.util.List) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 89 with FinderPath

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

the class KBArticlePersistenceImpl method findByR_S.

/**
 * Returns an ordered range of all the k b articles where resourcePrimKey = &#63; and status = &#63;.
 *
 * <p>
 * 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 com.liferay.knowledgebase.model.impl.KBArticleModelImpl}. 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 resourcePrimKey the resource prim key
 * @param status the status
 * @param start the lower bound of the range of k b articles
 * @param end the upper bound of the range of k b articles (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching k b articles
 * @throws SystemException if a system exception occurred
 */
@Override
public List<KBArticle> findByR_S(long resourcePrimKey, int status, 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_R_S;
        finderArgs = new Object[] { resourcePrimKey, status };
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_R_S;
        finderArgs = new Object[] { resourcePrimKey, status, start, end, orderByComparator };
    }
    List<KBArticle> list = (List<KBArticle>) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if ((list != null) && !list.isEmpty()) {
        for (KBArticle kbArticle : list) {
            if ((resourcePrimKey != kbArticle.getResourcePrimKey()) || (status != kbArticle.getStatus())) {
                list = null;
                break;
            }
        }
    }
    if (list == null) {
        StringBundler query = null;
        if (orderByComparator != null) {
            query = new StringBundler(4 + (orderByComparator.getOrderByFields().length * 3));
        } else {
            query = new StringBundler(4);
        }
        query.append(_SQL_SELECT_KBARTICLE_WHERE);
        query.append(_FINDER_COLUMN_R_S_RESOURCEPRIMKEY_2);
        query.append(_FINDER_COLUMN_R_S_STATUS_2);
        if (orderByComparator != null) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
        } else if (pagination) {
            query.append(KBArticleModelImpl.ORDER_BY_JPQL);
        }
        String sql = query.toString();
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            QueryPos qPos = QueryPos.getInstance(q);
            qPos.add(resourcePrimKey);
            qPos.add(status);
            if (!pagination) {
                list = (List<KBArticle>) QueryUtil.list(q, getDialect(), start, end, false);
                Collections.sort(list);
                list = new UnmodifiableList<KBArticle>(list);
            } else {
                list = (List<KBArticle>) 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;
}
Also used : SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) StringBundler(com.liferay.portal.kernel.util.StringBundler) SystemException(com.liferay.portal.kernel.exception.SystemException) NoSuchArticleException(com.liferay.knowledgebase.NoSuchArticleException) KBArticle(com.liferay.knowledgebase.model.KBArticle) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) ArrayList(java.util.ArrayList) UnmodifiableList(com.liferay.portal.kernel.util.UnmodifiableList) List(java.util.List) QueryPos(com.liferay.portal.kernel.dao.orm.QueryPos) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 90 with FinderPath

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

the class KBArticlePersistenceImpl method countByC_L.

/**
 * Returns the number of k b articles where companyId = &#63; and latest = &#63;.
 *
 * @param companyId the company ID
 * @param latest the latest
 * @return the number of matching k b articles
 * @throws SystemException if a system exception occurred
 */
@Override
public int countByC_L(long companyId, boolean latest) throws SystemException {
    FinderPath finderPath = FINDER_PATH_COUNT_BY_C_L;
    Object[] finderArgs = new Object[] { companyId, latest };
    Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);
    if (count == null) {
        StringBundler query = new StringBundler(3);
        query.append(_SQL_COUNT_KBARTICLE_WHERE);
        query.append(_FINDER_COLUMN_C_L_COMPANYID_2);
        query.append(_FINDER_COLUMN_C_L_LATEST_2);
        String sql = query.toString();
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            QueryPos qPos = QueryPos.getInstance(q);
            qPos.add(companyId);
            qPos.add(latest);
            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();
}
Also used : SQLQuery(com.liferay.portal.kernel.dao.orm.SQLQuery) Query(com.liferay.portal.kernel.dao.orm.Query) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) 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

FinderPath (com.liferay.portal.kernel.dao.orm.FinderPath)214 Query (com.liferay.portal.kernel.dao.orm.Query)214 Session (com.liferay.portal.kernel.dao.orm.Session)214 StringBundler (com.liferay.portal.kernel.util.StringBundler)214 QueryPos (com.liferay.portal.kernel.dao.orm.QueryPos)197 SystemException (com.liferay.portal.kernel.exception.SystemException)191 SQLQuery (com.liferay.portal.kernel.dao.orm.SQLQuery)165 UnmodifiableList (com.liferay.portal.kernel.util.UnmodifiableList)93 ArrayList (java.util.ArrayList)93 List (java.util.List)93 NoSuchArticleException (com.liferay.knowledgebase.NoSuchArticleException)59 KBArticle (com.liferay.knowledgebase.model.KBArticle)29 NoSuchSongException (org.liferay.jukebox.NoSuchSongException)25 NoSuchAlbumException (org.liferay.jukebox.NoSuchAlbumException)22 NoSuchCommentException (com.liferay.knowledgebase.NoSuchCommentException)18 NoSuchArtistException (org.liferay.jukebox.NoSuchArtistException)18 NoSuchNodeException (com.liferay.portlet.wiki.NoSuchNodeException)15 Song (org.liferay.jukebox.model.Song)12 Album (org.liferay.jukebox.model.Album)11 NoSuchFolderException (com.liferay.knowledgebase.NoSuchFolderException)10