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);
}
}
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;
}
}
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 = ? and parentResourcePrimKey = ? and status = ?.
*
* @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);
}
}
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;
}
}
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 = ? and parentResourcePrimKey = any ? and status = ?.
*
* @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);
}
}
Aggregations