use of com.liferay.portal.kernel.util.StringBundler in project liferay-ide by liferay.
the class AlbumPersistenceImpl method getByUuid_C_PrevAndNext.
protected Album getByUuid_C_PrevAndNext(Session session, Album album, String uuid, long companyId, OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6));
} else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_ALBUM_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_C_UUID_1);
} else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_C_UUID_3);
} else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_C_UUID_2);
}
query.append(_FINDER_COLUMN_UUID_C_COMPANYID_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(AlbumModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
qPos.add(companyId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(album);
for (Object value : values) {
qPos.add(value);
}
}
List<Album> list = q.list();
if (list.size() == 2) {
return list.get(1);
} else {
return null;
}
}
use of com.liferay.portal.kernel.util.StringBundler in project liferay-ide by liferay.
the class AlbumPersistenceImpl method findByG_U_First.
/**
* Returns the first album in the ordered set where groupId = ? and userId = ?.
*
* @param groupId the group ID
* @param userId the user ID
* @param orderByComparator the comparator to order the set by (optionally <code>null</code>)
* @return the first matching album
* @throws org.liferay.jukebox.NoSuchAlbumException if a matching album could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Album findByG_U_First(long groupId, long userId, OrderByComparator orderByComparator) throws NoSuchAlbumException, SystemException {
Album album = fetchByG_U_First(groupId, userId, orderByComparator);
if (album != null) {
return album;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", userId=");
msg.append(userId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchAlbumException(msg.toString());
}
use of com.liferay.portal.kernel.util.StringBundler in project liferay-ide by liferay.
the class AlbumPersistenceImpl method filterCountByG_U.
/**
* Returns the number of albums that the user has permission to view where groupId = ? and userId = ?.
*
* @param groupId the group ID
* @param userId the user ID
* @return the number of matching albums that the user has permission to view
* @throws SystemException if a system exception occurred
*/
@Override
public int filterCountByG_U(long groupId, long userId) throws SystemException {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return countByG_U(groupId, userId);
}
StringBundler query = new StringBundler(3);
query.append(_FILTER_SQL_COUNT_ALBUM_WHERE);
query.append(_FINDER_COLUMN_G_U_GROUPID_2);
query.append(_FINDER_COLUMN_G_U_USERID_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(userId);
Long count = (Long) q.uniqueResult();
return count.intValue();
} catch (Exception e) {
throw processException(e);
} finally {
closeSession(session);
}
}
use of com.liferay.portal.kernel.util.StringBundler in project liferay-ide by liferay.
the class AlbumPersistenceImpl method findByG_S_First.
/**
* Returns the first album 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 album
* @throws org.liferay.jukebox.NoSuchAlbumException if a matching album could not be found
* @throws SystemException if a system exception occurred
*/
@Override
public Album findByG_S_First(long groupId, int status, OrderByComparator orderByComparator) throws NoSuchAlbumException, SystemException {
Album album = fetchByG_S_First(groupId, status, orderByComparator);
if (album != null) {
return album;
}
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 NoSuchAlbumException(msg.toString());
}
use of com.liferay.portal.kernel.util.StringBundler in project liferay-ide by liferay.
the class AlbumPersistenceImpl method countByG_A_S.
/**
* Returns the number of albums where groupId = ? and artistId = ? and status = ?.
*
* @param groupId the group ID
* @param artistId the artist ID
* @param status the status
* @return the number of matching albums
* @throws SystemException if a system exception occurred
*/
@Override
public int countByG_A_S(long groupId, long artistId, int status) throws SystemException {
FinderPath finderPath = FINDER_PATH_COUNT_BY_G_A_S;
Object[] finderArgs = new Object[] { groupId, artistId, status };
Long count = (Long) FinderCacheUtil.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(4);
query.append(_SQL_COUNT_ALBUM_WHERE);
query.append(_FINDER_COLUMN_G_A_S_GROUPID_2);
query.append(_FINDER_COLUMN_G_A_S_ARTISTID_2);
query.append(_FINDER_COLUMN_G_A_S_STATUS_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(artistId);
qPos.add(status);
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();
}
Aggregations