use of org.liferay.jukebox.model.Song in project liferay-ide by liferay.
the class SongPersistenceImpl method filterGetByG_LikeN_S_PrevAndNext.
protected Song filterGetByG_LikeN_S_PrevAndNext(Session session, Song song, long groupId, String name, 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_SONG_WHERE);
} else {
query.append(_FILTER_SQL_SELECT_SONG_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_SONG_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(SongModelImpl.ORDER_BY_JPQL);
} else {
query.append(SongModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(), Song.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, SongImpl.class);
} else {
q.addEntity(_FILTER_ENTITY_TABLE, SongImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
if (bindName) {
qPos.add(name.toLowerCase());
}
qPos.add(status);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(song);
for (Object value : values) {
qPos.add(value);
}
}
List<Song> list = q.list();
if (list.size() == 2) {
return list.get(1);
} else {
return null;
}
}
use of org.liferay.jukebox.model.Song in project liferay-ide by liferay.
the class SongPersistenceImpl method findByAlbumId_PrevAndNext.
/**
* Returns the songs before and after the current song in the ordered set where albumId = ?.
*
* @param songId the primary key of the current song
* @param albumId the album ID
* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
* @return the previous, current, and next song
* @throws org.liferay.jukebox.NoSuchSongException if a song with the primary key could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Song[] findByAlbumId_PrevAndNext(long songId, long albumId, OrderByComparator orderByComparator) throws NoSuchSongException, SystemException {
Song song = findByPrimaryKey(songId);
Session session = null;
try {
session = openSession();
Song[] array = new SongImpl[3];
array[0] = getByAlbumId_PrevAndNext(session, song, albumId, orderByComparator, true);
array[1] = song;
array[2] = getByAlbumId_PrevAndNext(session, song, albumId, orderByComparator, false);
return array;
} catch (Exception e) {
throw processException(e);
} finally {
closeSession(session);
}
}
use of org.liferay.jukebox.model.Song in project liferay-ide by liferay.
the class SongPersistenceImpl method findByG_S_First.
/**
* Returns the first song in the ordered set where groupId = ? and status = ?.
*
* @param groupId the group ID
* @param status the status
* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
* @return the first matching song
* @throws org.liferay.jukebox.NoSuchSongException if a matching song could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Song findByG_S_First(long groupId, int status, OrderByComparator orderByComparator) throws NoSuchSongException, SystemException {
Song song = fetchByG_S_First(groupId, status, orderByComparator);
if (song != null) {
return song;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", status=");
msg.append(status);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchSongException(msg.toString());
}
use of org.liferay.jukebox.model.Song in project liferay-ide by liferay.
the class SongPersistenceImpl method findByG_A_S_Last.
/**
* Returns the last song in the ordered set where groupId = ? and albumId = ? and status = ?.
*
* @param groupId the group ID
* @param albumId the album ID
* @param status the status
* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
* @return the last matching song
* @throws org.liferay.jukebox.NoSuchSongException if a matching song could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Song findByG_A_S_Last(long groupId, long albumId, int status, OrderByComparator orderByComparator) throws NoSuchSongException, SystemException {
Song song = fetchByG_A_S_Last(groupId, albumId, status, orderByComparator);
if (song != null) {
return song;
}
StringBundler msg = new StringBundler(8);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", albumId=");
msg.append(albumId);
msg.append(", status=");
msg.append(status);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchSongException(msg.toString());
}
use of org.liferay.jukebox.model.Song in project liferay-ide by liferay.
the class SongPersistenceImpl method findByArtistId_First.
/**
* Returns the first song in the ordered set where artistId = ?.
*
* @param artistId the artist ID
* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
* @return the first matching song
* @throws org.liferay.jukebox.NoSuchSongException if a matching song could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Song findByArtistId_First(long artistId, OrderByComparator orderByComparator) throws NoSuchSongException, SystemException {
Song song = fetchByArtistId_First(artistId, orderByComparator);
if (song != null) {
return song;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("artistId=");
msg.append(artistId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchSongException(msg.toString());
}
Aggregations