Search in sources :

Example 16 with Session

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

the class RosterPersistenceImpl method findAll.

/**
 * Returns an ordered range of all the rosters.
 *
 * <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 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 RosterModelImpl}. 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 start the lower bound of the range of rosters
 * @param end the upper bound of the range of rosters (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 rosters
 */
@Override
public List<Roster> findAll(int start, int end, OrderByComparator<Roster> 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_ALL;
        finderArgs = FINDER_ARGS_EMPTY;
    } else {
        finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
        finderArgs = new Object[] { start, end, orderByComparator };
    }
    List<Roster> list = null;
    if (retrieveFromCache) {
        list = (List<Roster>) finderCache.getResult(finderPath, finderArgs, this);
    }
    if (list == null) {
        StringBundler query = null;
        String sql = null;
        if (orderByComparator != null) {
            query = new StringBundler(2 + (orderByComparator.getOrderByFields().length * 2));
            query.append(_SQL_SELECT_ROSTER);
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator);
            sql = query.toString();
        } else {
            sql = _SQL_SELECT_ROSTER;
            if (pagination) {
                sql = sql.concat(RosterModelImpl.ORDER_BY_JPQL);
            }
        }
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(sql);
            if (!pagination) {
                list = (List<Roster>) QueryUtil.list(q, getDialect(), start, end, false);
                Collections.sort(list);
                list = Collections.unmodifiableList(list);
            } else {
                list = (List<Roster>) 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;
}
Also used : Roster(com.liferay.roster.model.Roster) Query(com.liferay.portal.kernel.dao.orm.Query) FinderPath(com.liferay.portal.kernel.dao.orm.FinderPath) StringBundler(com.liferay.portal.kernel.util.StringBundler) NoSuchRosterException(com.liferay.roster.exception.NoSuchRosterException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 17 with Session

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

the class RosterPersistenceImpl method countAll.

/**
 * Returns the number of rosters.
 *
 * @return the number of rosters
 */
@Override
public int countAll() {
    Long count = (Long) finderCache.getResult(FINDER_PATH_COUNT_ALL, FINDER_ARGS_EMPTY, this);
    if (count == null) {
        Session session = null;
        try {
            session = openSession();
            Query q = session.createQuery(_SQL_COUNT_ROSTER);
            count = (Long) q.uniqueResult();
            finderCache.putResult(FINDER_PATH_COUNT_ALL, FINDER_ARGS_EMPTY, count);
        } catch (Exception e) {
            finderCache.removeResult(FINDER_PATH_COUNT_ALL, FINDER_ARGS_EMPTY);
            throw processException(e);
        } finally {
            closeSession(session);
        }
    }
    return count.intValue();
}
Also used : Query(com.liferay.portal.kernel.dao.orm.Query) NoSuchRosterException(com.liferay.roster.exception.NoSuchRosterException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 18 with Session

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

the class ClubPersistenceImpl method remove.

/**
 * Removes the club with the primary key from the database. Also notifies the appropriate model listeners.
 *
 * @param primaryKey the primary key of the club
 * @return the club that was removed
 * @throws NoSuchClubException if a club with the primary key could not be found
 */
@Override
public Club remove(Serializable primaryKey) throws NoSuchClubException {
    Session session = null;
    try {
        session = openSession();
        Club club = (Club) session.get(ClubImpl.class, primaryKey);
        if (club == null) {
            if (_log.isWarnEnabled()) {
                _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
            }
            throw new NoSuchClubException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
        }
        return remove(club);
    } catch (NoSuchClubException nsee) {
        throw nsee;
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : Club(com.liferay.roster.model.Club) ClubImpl(com.liferay.roster.model.impl.ClubImpl) NoSuchClubException(com.liferay.roster.exception.NoSuchClubException) NoSuchClubException(com.liferay.roster.exception.NoSuchClubException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 19 with Session

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

the class AlbumPersistenceImpl method filterFindByG_LikeN_S.

/**
 * Returns an ordered range of all the albums that the user has permissions to view where groupId = &#63; and name LIKE &#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 org.liferay.jukebox.model.impl.AlbumModelImpl}. 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 name the name
 * @param status the status
 * @param start the lower bound of the range of albums
 * @param end the upper bound of the range of albums (not inclusive)
 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
 * @return the ordered range of matching albums that the user has permission to view
 * @throws SystemException if a system exception occurred
 */
@Override
public List<Album> filterFindByG_LikeN_S(long groupId, String name, int status, int start, int end, OrderByComparator orderByComparator) throws SystemException {
    if (!InlineSQLHelperUtil.isEnabled(groupId)) {
        return findByG_LikeN_S(groupId, name, status, start, end, orderByComparator);
    }
    StringBundler query = null;
    if (orderByComparator != null) {
        query = new StringBundler(5 + (orderByComparator.getOrderByFields().length * 3));
    } else {
        query = new StringBundler(5);
    }
    if (getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_ALBUM_WHERE);
    } else {
        query.append(_FILTER_SQL_SELECT_ALBUM_NO_INLINE_DISTINCT_WHERE_1);
    }
    query.append(_FINDER_COLUMN_G_LIKEN_S_GROUPID_2);
    boolean bindName = false;
    if (name == null) {
        query.append(_FINDER_COLUMN_G_LIKEN_S_NAME_1);
    } else if (name.equals(StringPool.BLANK)) {
        query.append(_FINDER_COLUMN_G_LIKEN_S_NAME_3);
    } else {
        bindName = true;
        query.append(_FINDER_COLUMN_G_LIKEN_S_NAME_2);
    }
    query.append(_FINDER_COLUMN_G_LIKEN_S_STATUS_2);
    if (!getDB().isSupportsInlineDistinct()) {
        query.append(_FILTER_SQL_SELECT_ALBUM_NO_INLINE_DISTINCT_WHERE_2);
    }
    if (orderByComparator != null) {
        if (getDB().isSupportsInlineDistinct()) {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator, true);
        } else {
            appendOrderByComparator(query, _ORDER_BY_ENTITY_TABLE, orderByComparator, true);
        }
    } else {
        if (getDB().isSupportsInlineDistinct()) {
            query.append(AlbumModelImpl.ORDER_BY_JPQL);
        } else {
            query.append(AlbumModelImpl.ORDER_BY_SQL);
        }
    }
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), Album.class.getName(), _FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
    Session session = null;
    try {
        session = openSession();
        SQLQuery q = session.createSQLQuery(sql);
        if (getDB().isSupportsInlineDistinct()) {
            q.addEntity(_FILTER_ENTITY_ALIAS, AlbumImpl.class);
        } else {
            q.addEntity(_FILTER_ENTITY_TABLE, AlbumImpl.class);
        }
        QueryPos qPos = QueryPos.getInstance(q);
        qPos.add(groupId);
        if (bindName) {
            qPos.add(name.toLowerCase());
        }
        qPos.add(status);
        return (List<Album>) QueryUtil.list(q, getDialect(), start, end);
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : Album(org.liferay.jukebox.model.Album) ArrayList(java.util.ArrayList) UnmodifiableList(com.liferay.portal.kernel.util.UnmodifiableList) List(java.util.List) 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) NoSuchAlbumException(org.liferay.jukebox.NoSuchAlbumException) Session(com.liferay.portal.kernel.dao.orm.Session)

Example 20 with Session

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

the class AlbumPersistenceImpl method filterCountByG_S.

/**
 * Returns the number of albums that the user has permission to view where groupId = &#63; and status = &#63;.
 *
 * @param groupId the group ID
 * @param status the status
 * @return the number of matching albums that the user has permission to view
 * @throws SystemException if a system exception occurred
 */
@Override
public int filterCountByG_S(long groupId, int status) throws SystemException {
    if (!InlineSQLHelperUtil.isEnabled(groupId)) {
        return countByG_S(groupId, status);
    }
    StringBundler query = new StringBundler(3);
    query.append(_FILTER_SQL_COUNT_ALBUM_WHERE);
    query.append(_FINDER_COLUMN_G_S_GROUPID_2);
    query.append(_FINDER_COLUMN_G_S_STATUS_2);
    String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), Album.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(status);
        Long count = (Long) q.uniqueResult();
        return count.intValue();
    } catch (Exception e) {
        throw processException(e);
    } finally {
        closeSession(session);
    }
}
Also used : Album(org.liferay.jukebox.model.Album) 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) NoSuchAlbumException(org.liferay.jukebox.NoSuchAlbumException) Session(com.liferay.portal.kernel.dao.orm.Session)

Aggregations

Session (com.liferay.portal.kernel.dao.orm.Session)579 SystemException (com.liferay.portal.kernel.exception.SystemException)509 StringBundler (com.liferay.portal.kernel.util.StringBundler)365 QueryPos (com.liferay.portal.kernel.dao.orm.QueryPos)344 SQLQuery (com.liferay.portal.kernel.dao.orm.SQLQuery)314 Query (com.liferay.portal.kernel.dao.orm.Query)288 FinderPath (com.liferay.portal.kernel.dao.orm.FinderPath)214 NoSuchArticleException (com.liferay.knowledgebase.NoSuchArticleException)194 List (java.util.List)181 UnmodifiableList (com.liferay.portal.kernel.util.UnmodifiableList)173 ArrayList (java.util.ArrayList)173 KBArticle (com.liferay.knowledgebase.model.KBArticle)145 NoSuchSongException (org.liferay.jukebox.NoSuchSongException)58 NoSuchAlbumException (org.liferay.jukebox.NoSuchAlbumException)53 KBArticleImpl (com.liferay.knowledgebase.model.impl.KBArticleImpl)46 NoSuchArtistException (org.liferay.jukebox.NoSuchArtistException)44 Song (org.liferay.jukebox.model.Song)42 Album (org.liferay.jukebox.model.Album)39 NoSuchCommentException (com.liferay.knowledgebase.NoSuchCommentException)34 NoSuchNodeException (com.liferay.portlet.wiki.NoSuchNodeException)34