
com.liferay.dynamic.data.mapping.service.persistence.impl.DDMStructurePersistenceImpl Maven / Gradle / Ivy
/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.dynamic.data.mapping.service.persistence.impl;
import aQute.bnd.annotation.ProviderType;
import com.liferay.dynamic.data.mapping.exception.NoSuchStructureException;
import com.liferay.dynamic.data.mapping.model.DDMStructure;
import com.liferay.dynamic.data.mapping.model.impl.DDMStructureImpl;
import com.liferay.dynamic.data.mapping.model.impl.DDMStructureModelImpl;
import com.liferay.dynamic.data.mapping.service.persistence.DDMStructurePersistence;
import com.liferay.portal.kernel.dao.orm.EntityCache;
import com.liferay.portal.kernel.dao.orm.FinderCache;
import com.liferay.portal.kernel.dao.orm.FinderPath;
import com.liferay.portal.kernel.dao.orm.Query;
import com.liferay.portal.kernel.dao.orm.QueryPos;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.dao.orm.SQLQuery;
import com.liferay.portal.kernel.dao.orm.Session;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.model.CacheModel;
import com.liferay.portal.kernel.security.permission.InlineSQLHelperUtil;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.service.ServiceContextThreadLocal;
import com.liferay.portal.kernel.service.persistence.CompanyProvider;
import com.liferay.portal.kernel.service.persistence.CompanyProviderWrapper;
import com.liferay.portal.kernel.service.persistence.impl.BasePersistenceImpl;
import com.liferay.portal.kernel.util.ArrayUtil;
import com.liferay.portal.kernel.util.OrderByComparator;
import com.liferay.portal.kernel.util.SetUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.StringUtil;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.uuid.PortalUUIDUtil;
import com.liferay.portal.spring.extender.service.ServiceReference;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* The persistence implementation for the d d m structure service.
*
*
* Caching information and settings can be found in portal.properties
*
*
* @author Brian Wing Shun Chan
* @see DDMStructurePersistence
* @see com.liferay.dynamic.data.mapping.service.persistence.DDMStructureUtil
* @generated
*/
@ProviderType
public class DDMStructurePersistenceImpl extends BasePersistenceImpl
implements DDMStructurePersistence {
/*
* NOTE FOR DEVELOPERS:
*
* Never modify or reference this class directly. Always use {@link DDMStructureUtil} to access the d d m structure persistence. Modify service.xml
and rerun ServiceBuilder to regenerate this class.
*/
public static final String FINDER_CLASS_NAME_ENTITY = DDMStructureImpl.class.getName();
public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
".List1";
public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
".List2";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]);
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]);
public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]);
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_UUID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByUuid",
new String[] {
String.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByUuid",
new String[] { String.class.getName() },
DDMStructureModelImpl.UUID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_UUID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByUuid",
new String[] { String.class.getName() });
/**
* Returns all the d d m structures where uuid = ?.
*
* @param uuid the uuid
* @return the matching d d m structures
*/
@Override
public List findByUuid(String uuid) {
return findByUuid(uuid, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where uuid = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByUuid(String uuid, int start, int end) {
return findByUuid(uuid, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where uuid = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByUuid(String uuid, int start, int end,
OrderByComparator orderByComparator) {
return findByUuid(uuid, start, end, orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where uuid = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByUuid(String uuid, int start, int end,
OrderByComparator 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_BY_UUID;
finderArgs = new Object[] { uuid };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_UUID;
finderArgs = new Object[] { uuid, start, end, orderByComparator };
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if (!Validator.equals(uuid, ddmStructure.getUuid())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_UUID_1);
}
else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_UUID_3);
}
else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_UUID_2);
}
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where uuid = ?.
*
* @param uuid the uuid
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByUuid_First(String uuid,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByUuid_First(uuid, orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("uuid=");
msg.append(uuid);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where uuid = ?.
*
* @param uuid the uuid
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUuid_First(String uuid,
OrderByComparator orderByComparator) {
List list = findByUuid(uuid, 0, 1, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where uuid = ?.
*
* @param uuid the uuid
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByUuid_Last(String uuid,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByUuid_Last(uuid, orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("uuid=");
msg.append(uuid);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where uuid = ?.
*
* @param uuid the uuid
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUuid_Last(String uuid,
OrderByComparator orderByComparator) {
int count = countByUuid(uuid);
if (count == 0) {
return null;
}
List list = findByUuid(uuid, count - 1, count,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where uuid = ?.
*
* @param structureId the primary key of the current d d m structure
* @param uuid the uuid
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByUuid_PrevAndNext(long structureId, String uuid,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByUuid_PrevAndNext(session, ddmStructure, uuid,
orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByUuid_PrevAndNext(session, ddmStructure, uuid,
orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByUuid_PrevAndNext(Session session,
DDMStructure ddmStructure, String uuid,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_UUID_1);
}
else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_UUID_3);
}
else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_UUID_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(DDMStructureModelImpl.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);
}
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where uuid = ? from the database.
*
* @param uuid the uuid
*/
@Override
public void removeByUuid(String uuid) {
for (DDMStructure ddmStructure : findByUuid(uuid, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where uuid = ?.
*
* @param uuid the uuid
* @return the number of matching d d m structures
*/
@Override
public int countByUuid(String uuid) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_UUID;
Object[] finderArgs = new Object[] { uuid };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(2);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_UUID_1);
}
else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_UUID_3);
}
else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_UUID_2);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_UUID_UUID_1 = "ddmStructure.uuid IS NULL";
private static final String _FINDER_COLUMN_UUID_UUID_2 = "ddmStructure.uuid = ?";
private static final String _FINDER_COLUMN_UUID_UUID_3 = "(ddmStructure.uuid IS NULL OR ddmStructure.uuid = '')";
public static final FinderPath FINDER_PATH_FETCH_BY_UUID_G = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_ENTITY, "fetchByUUID_G",
new String[] { String.class.getName(), Long.class.getName() },
DDMStructureModelImpl.UUID_COLUMN_BITMASK |
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_UUID_G = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByUUID_G",
new String[] { String.class.getName(), Long.class.getName() });
/**
* Returns the d d m structure where uuid = ? and groupId = ? or throws a {@link NoSuchStructureException} if it could not be found.
*
* @param uuid the uuid
* @param groupId the group ID
* @return the matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByUUID_G(String uuid, long groupId)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByUUID_G(uuid, groupId);
if (ddmStructure == null) {
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("uuid=");
msg.append(uuid);
msg.append(", groupId=");
msg.append(groupId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
if (_log.isWarnEnabled()) {
_log.warn(msg.toString());
}
throw new NoSuchStructureException(msg.toString());
}
return ddmStructure;
}
/**
* Returns the d d m structure where uuid = ? and groupId = ? or returns null
if it could not be found. Uses the finder cache.
*
* @param uuid the uuid
* @param groupId the group ID
* @return the matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUUID_G(String uuid, long groupId) {
return fetchByUUID_G(uuid, groupId, true);
}
/**
* Returns the d d m structure where uuid = ? and groupId = ? or returns null
if it could not be found, optionally using the finder cache.
*
* @param uuid the uuid
* @param groupId the group ID
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUUID_G(String uuid, long groupId,
boolean retrieveFromCache) {
Object[] finderArgs = new Object[] { uuid, groupId };
Object result = null;
if (retrieveFromCache) {
result = finderCache.getResult(FINDER_PATH_FETCH_BY_UUID_G,
finderArgs, this);
}
if (result instanceof DDMStructure) {
DDMStructure ddmStructure = (DDMStructure)result;
if (!Validator.equals(uuid, ddmStructure.getUuid()) ||
(groupId != ddmStructure.getGroupId())) {
result = null;
}
}
if (result == null) {
StringBundler query = new StringBundler(4);
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_G_UUID_1);
}
else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_G_UUID_3);
}
else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_G_UUID_2);
}
query.append(_FINDER_COLUMN_UUID_G_GROUPID_2);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
qPos.add(groupId);
List list = q.list();
if (list.isEmpty()) {
finderCache.putResult(FINDER_PATH_FETCH_BY_UUID_G,
finderArgs, list);
}
else {
DDMStructure ddmStructure = list.get(0);
result = ddmStructure;
cacheResult(ddmStructure);
if ((ddmStructure.getUuid() == null) ||
!ddmStructure.getUuid().equals(uuid) ||
(ddmStructure.getGroupId() != groupId)) {
finderCache.putResult(FINDER_PATH_FETCH_BY_UUID_G,
finderArgs, ddmStructure);
}
}
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_FETCH_BY_UUID_G, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
if (result instanceof List>) {
return null;
}
else {
return (DDMStructure)result;
}
}
/**
* Removes the d d m structure where uuid = ? and groupId = ? from the database.
*
* @param uuid the uuid
* @param groupId the group ID
* @return the d d m structure that was removed
*/
@Override
public DDMStructure removeByUUID_G(String uuid, long groupId)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByUUID_G(uuid, groupId);
return remove(ddmStructure);
}
/**
* Returns the number of d d m structures where uuid = ? and groupId = ?.
*
* @param uuid the uuid
* @param groupId the group ID
* @return the number of matching d d m structures
*/
@Override
public int countByUUID_G(String uuid, long groupId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_UUID_G;
Object[] finderArgs = new Object[] { uuid, groupId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(3);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
boolean bindUuid = false;
if (uuid == null) {
query.append(_FINDER_COLUMN_UUID_G_UUID_1);
}
else if (uuid.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_UUID_G_UUID_3);
}
else {
bindUuid = true;
query.append(_FINDER_COLUMN_UUID_G_UUID_2);
}
query.append(_FINDER_COLUMN_UUID_G_GROUPID_2);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
qPos.add(groupId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_UUID_G_UUID_1 = "ddmStructure.uuid IS NULL AND ";
private static final String _FINDER_COLUMN_UUID_G_UUID_2 = "ddmStructure.uuid = ? AND ";
private static final String _FINDER_COLUMN_UUID_G_UUID_3 = "(ddmStructure.uuid IS NULL OR ddmStructure.uuid = '') AND ";
private static final String _FINDER_COLUMN_UUID_G_GROUPID_2 = "ddmStructure.groupId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_UUID_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByUuid_C",
new String[] {
String.class.getName(), Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_UUID_C =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByUuid_C",
new String[] { String.class.getName(), Long.class.getName() },
DDMStructureModelImpl.UUID_COLUMN_BITMASK |
DDMStructureModelImpl.COMPANYID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_UUID_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByUuid_C",
new String[] { String.class.getName(), Long.class.getName() });
/**
* Returns all the d d m structures where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @return the matching d d m structures
*/
@Override
public List findByUuid_C(String uuid, long companyId) {
return findByUuid_C(uuid, companyId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where uuid = ? and companyId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param companyId the company ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByUuid_C(String uuid, long companyId,
int start, int end) {
return findByUuid_C(uuid, companyId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where uuid = ? and companyId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param companyId the company ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByUuid_C(String uuid, long companyId,
int start, int end, OrderByComparator orderByComparator) {
return findByUuid_C(uuid, companyId, start, end, orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where uuid = ? and companyId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param uuid the uuid
* @param companyId the company ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByUuid_C(String uuid, long companyId,
int start, int end, OrderByComparator 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_BY_UUID_C;
finderArgs = new Object[] { uuid, companyId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_UUID_C;
finderArgs = new Object[] {
uuid, companyId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if (!Validator.equals(uuid, ddmStructure.getUuid()) ||
(companyId != ddmStructure.getCompanyId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_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) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
qPos.add(companyId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByUuid_C_First(String uuid, long companyId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByUuid_C_First(uuid, companyId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("uuid=");
msg.append(uuid);
msg.append(", companyId=");
msg.append(companyId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUuid_C_First(String uuid, long companyId,
OrderByComparator orderByComparator) {
List list = findByUuid_C(uuid, companyId, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByUuid_C_Last(String uuid, long companyId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByUuid_C_Last(uuid, companyId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("uuid=");
msg.append(uuid);
msg.append(", companyId=");
msg.append(companyId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByUuid_C_Last(String uuid, long companyId,
OrderByComparator orderByComparator) {
int count = countByUuid_C(uuid, companyId);
if (count == 0) {
return null;
}
List list = findByUuid_C(uuid, companyId, count - 1,
count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where uuid = ? and companyId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param uuid the uuid
* @param companyId the company ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByUuid_C_PrevAndNext(long structureId,
String uuid, long companyId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByUuid_C_PrevAndNext(session, ddmStructure, uuid,
companyId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByUuid_C_PrevAndNext(session, ddmStructure, uuid,
companyId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByUuid_C_PrevAndNext(Session session,
DDMStructure ddmStructure, String uuid, long companyId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.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(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where uuid = ? and companyId = ? from the database.
*
* @param uuid the uuid
* @param companyId the company ID
*/
@Override
public void removeByUuid_C(String uuid, long companyId) {
for (DDMStructure ddmStructure : findByUuid_C(uuid, companyId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where uuid = ? and companyId = ?.
*
* @param uuid the uuid
* @param companyId the company ID
* @return the number of matching d d m structures
*/
@Override
public int countByUuid_C(String uuid, long companyId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_UUID_C;
Object[] finderArgs = new Object[] { uuid, companyId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(3);
query.append(_SQL_COUNT_DDMSTRUCTURE_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);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindUuid) {
qPos.add(uuid);
}
qPos.add(companyId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_UUID_C_UUID_1 = "ddmStructure.uuid IS NULL AND ";
private static final String _FINDER_COLUMN_UUID_C_UUID_2 = "ddmStructure.uuid = ? AND ";
private static final String _FINDER_COLUMN_UUID_C_UUID_3 = "(ddmStructure.uuid IS NULL OR ddmStructure.uuid = '') AND ";
private static final String _FINDER_COLUMN_UUID_C_COMPANYID_2 = "ddmStructure.companyId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByGroupId",
new String[] {
Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByGroupId",
new String[] { Long.class.getName() },
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByGroupId",
new String[] { Long.class.getName() });
public static final FinderPath FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUPID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "countByGroupId",
new String[] { Long.class.getName() });
/**
* Returns all the d d m structures where groupId = ?.
*
* @param groupId the group ID
* @return the matching d d m structures
*/
@Override
public List findByGroupId(long groupId) {
return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where groupId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByGroupId(long groupId, int start, int end) {
return findByGroupId(groupId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByGroupId(long groupId, int start, int end,
OrderByComparator orderByComparator) {
return findByGroupId(groupId, start, end, orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByGroupId(long groupId, int start, int end,
OrderByComparator 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_BY_GROUPID;
finderArgs = new Object[] { groupId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID;
finderArgs = new Object[] { groupId, start, end, orderByComparator };
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((groupId != ddmStructure.getGroupId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where groupId = ?.
*
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByGroupId_First(long groupId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByGroupId_First(groupId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where groupId = ?.
*
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByGroupId_First(long groupId,
OrderByComparator orderByComparator) {
List list = findByGroupId(groupId, 0, 1, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where groupId = ?.
*
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByGroupId_Last(long groupId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByGroupId_Last(groupId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where groupId = ?.
*
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByGroupId_Last(long groupId,
OrderByComparator orderByComparator) {
int count = countByGroupId(groupId);
if (count == 0) {
return null;
}
List list = findByGroupId(groupId, count - 1, count,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where groupId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByGroupId_PrevAndNext(long structureId,
long groupId, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByGroupId_PrevAndNext(session, ddmStructure, groupId,
orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByGroupId_PrevAndNext(session, ddmStructure, groupId,
orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByGroupId_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = ?.
*
* @param groupId the group ID
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long groupId) {
return filterFindByGroupId(groupId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long groupId, int start,
int end) {
return filterFindByGroupId(groupId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permissions to view where groupId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long groupId, int start,
int end, OrderByComparator orderByComparator) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByGroupId(groupId, start, end, orderByComparator);
}
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(4);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
return (List)QueryUtil.list(q, getDialect(), start,
end);
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set of d d m structures that the user has permission to view where groupId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] filterFindByGroupId_PrevAndNext(long structureId,
long groupId, OrderByComparator orderByComparator)
throws NoSuchStructureException {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByGroupId_PrevAndNext(structureId, groupId,
orderByComparator);
}
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = filterGetByGroupId_PrevAndNext(session, ddmStructure,
groupId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = filterGetByGroupId_PrevAndNext(session, ddmStructure,
groupId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure filterGetByGroupId_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(4);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = any ?.
*
* @param groupIds the group IDs
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long[] groupIds) {
return filterFindByGroupId(groupIds, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = any ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long[] groupIds, int start,
int end) {
return filterFindByGroupId(groupIds, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permission to view where groupId = any ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByGroupId(long[] groupIds, int start,
int end, OrderByComparator orderByComparator) {
if (!InlineSQLHelperUtil.isEnabled(groupIds)) {
return findByGroupId(groupIds, start, end, orderByComparator);
}
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
StringBundler query = new StringBundler();
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
}
query.setStringAt(removeConjunction(query.stringAt(query.index() - 1)),
query.index() - 1);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupIds);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
return (List)QueryUtil.list(q, getDialect(), start,
end);
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns all the d d m structures where groupId = any ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @return the matching d d m structures
*/
@Override
public List findByGroupId(long[] groupIds) {
return findByGroupId(groupIds, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
null);
}
/**
* Returns a range of all the d d m structures where groupId = any ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByGroupId(long[] groupIds, int start, int end) {
return findByGroupId(groupIds, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = any ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByGroupId(long[] groupIds, int start,
int end, OrderByComparator orderByComparator) {
return findByGroupId(groupIds, start, end, orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ?, optionally using the finder cache.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByGroupId(long[] groupIds, int start,
int end, OrderByComparator orderByComparator,
boolean retrieveFromCache) {
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
if (groupIds.length == 1) {
return findByGroupId(groupIds[0], start, end, orderByComparator);
}
boolean pagination = true;
Object[] finderArgs = null;
if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
(orderByComparator == null)) {
pagination = false;
finderArgs = new Object[] { StringUtil.merge(groupIds) };
}
else {
finderArgs = new Object[] {
StringUtil.merge(groupIds),
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if (!ArrayUtil.contains(groupIds, ddmStructure.getGroupId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = new StringBundler();
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
}
query.setStringAt(removeConjunction(query.stringAt(query.index() -
1)), query.index() - 1);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)QueryUtil.list(q, getDialect(),
start, end);
}
cacheResult(list);
finderCache.putResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID,
finderArgs, list);
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID,
finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return list;
}
/**
* Removes all the d d m structures where groupId = ? from the database.
*
* @param groupId the group ID
*/
@Override
public void removeByGroupId(long groupId) {
for (DDMStructure ddmStructure : findByGroupId(groupId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where groupId = ?.
*
* @param groupId the group ID
* @return the number of matching d d m structures
*/
@Override
public int countByGroupId(long groupId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_GROUPID;
Object[] finderArgs = new Object[] { groupId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(2);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
/**
* Returns the number of d d m structures where groupId = any ?.
*
* @param groupIds the group IDs
* @return the number of matching d d m structures
*/
@Override
public int countByGroupId(long[] groupIds) {
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
Object[] finderArgs = new Object[] { StringUtil.merge(groupIds) };
Long count = (Long)finderCache.getResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUPID,
finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler();
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
}
query.setStringAt(removeConjunction(query.stringAt(query.index() -
1)), query.index() - 1);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
count = (Long)q.uniqueResult();
finderCache.putResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUPID,
finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUPID,
finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
/**
* Returns the number of d d m structures that the user has permission to view where groupId = ?.
*
* @param groupId the group ID
* @return the number of matching d d m structures that the user has permission to view
*/
@Override
public int filterCountByGroupId(long groupId) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return countByGroupId(groupId);
}
StringBundler query = new StringBundler(2);
query.append(_FILTER_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.addScalar(COUNT_COLUMN_NAME,
com.liferay.portal.kernel.dao.orm.Type.LONG);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
Long count = (Long)q.uniqueResult();
return count.intValue();
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns the number of d d m structures that the user has permission to view where groupId = any ?.
*
* @param groupIds the group IDs
* @return the number of matching d d m structures that the user has permission to view
*/
@Override
public int filterCountByGroupId(long[] groupIds) {
if (!InlineSQLHelperUtil.isEnabled(groupIds)) {
return countByGroupId(groupIds);
}
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
StringBundler query = new StringBundler();
query.append(_FILTER_SQL_COUNT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_GROUPID_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
}
query.setStringAt(removeConjunction(query.stringAt(query.index() - 1)),
query.index() - 1);
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupIds);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.addScalar(COUNT_COLUMN_NAME,
com.liferay.portal.kernel.dao.orm.Type.LONG);
Long count = (Long)q.uniqueResult();
return count.intValue();
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "ddmStructure.groupId = ?";
private static final String _FINDER_COLUMN_GROUPID_GROUPID_7 = "ddmStructure.groupId IN (";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_PARENTSTRUCTUREID =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByParentStructureId",
new String[] {
Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PARENTSTRUCTUREID =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
"findByParentStructureId", new String[] { Long.class.getName() },
DDMStructureModelImpl.PARENTSTRUCTUREID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_PARENTSTRUCTUREID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
"countByParentStructureId", new String[] { Long.class.getName() });
/**
* Returns all the d d m structures where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @return the matching d d m structures
*/
@Override
public List findByParentStructureId(long parentStructureId) {
return findByParentStructureId(parentStructureId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByParentStructureId(long parentStructureId,
int start, int end) {
return findByParentStructureId(parentStructureId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByParentStructureId(long parentStructureId,
int start, int end, OrderByComparator orderByComparator) {
return findByParentStructureId(parentStructureId, start, end,
orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByParentStructureId(long parentStructureId,
int start, int end, OrderByComparator 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_BY_PARENTSTRUCTUREID;
finderArgs = new Object[] { parentStructureId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_PARENTSTRUCTUREID;
finderArgs = new Object[] {
parentStructureId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((parentStructureId != ddmStructure.getParentStructureId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_PARENTSTRUCTUREID_PARENTSTRUCTUREID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(parentStructureId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByParentStructureId_First(long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByParentStructureId_First(parentStructureId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("parentStructureId=");
msg.append(parentStructureId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByParentStructureId_First(long parentStructureId,
OrderByComparator orderByComparator) {
List list = findByParentStructureId(parentStructureId, 0,
1, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByParentStructureId_Last(long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByParentStructureId_Last(parentStructureId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("parentStructureId=");
msg.append(parentStructureId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByParentStructureId_Last(long parentStructureId,
OrderByComparator orderByComparator) {
int count = countByParentStructureId(parentStructureId);
if (count == 0) {
return null;
}
List list = findByParentStructureId(parentStructureId,
count - 1, count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where parentStructureId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByParentStructureId_PrevAndNext(
long structureId, long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByParentStructureId_PrevAndNext(session,
ddmStructure, parentStructureId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByParentStructureId_PrevAndNext(session,
ddmStructure, parentStructureId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByParentStructureId_PrevAndNext(Session session,
DDMStructure ddmStructure, long parentStructureId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_PARENTSTRUCTUREID_PARENTSTRUCTUREID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(parentStructureId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where parentStructureId = ? from the database.
*
* @param parentStructureId the parent structure ID
*/
@Override
public void removeByParentStructureId(long parentStructureId) {
for (DDMStructure ddmStructure : findByParentStructureId(
parentStructureId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where parentStructureId = ?.
*
* @param parentStructureId the parent structure ID
* @return the number of matching d d m structures
*/
@Override
public int countByParentStructureId(long parentStructureId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_PARENTSTRUCTUREID;
Object[] finderArgs = new Object[] { parentStructureId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(2);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_PARENTSTRUCTUREID_PARENTSTRUCTUREID_2);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(parentStructureId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_PARENTSTRUCTUREID_PARENTSTRUCTUREID_2 =
"ddmStructure.parentStructureId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_CLASSNAMEID =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByClassNameId",
new String[] {
Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByClassNameId",
new String[] { Long.class.getName() },
DDMStructureModelImpl.CLASSNAMEID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_CLASSNAMEID = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByClassNameId",
new String[] { Long.class.getName() });
/**
* Returns all the d d m structures where classNameId = ?.
*
* @param classNameId the class name ID
* @return the matching d d m structures
*/
@Override
public List findByClassNameId(long classNameId) {
return findByClassNameId(classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByClassNameId(long classNameId, int start,
int end) {
return findByClassNameId(classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByClassNameId(long classNameId, int start,
int end, OrderByComparator orderByComparator) {
return findByClassNameId(classNameId, start, end, orderByComparator,
true);
}
/**
* Returns an ordered range of all the d d m structures where classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByClassNameId(long classNameId, int start,
int end, OrderByComparator 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_BY_CLASSNAMEID;
finderArgs = new Object[] { classNameId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_CLASSNAMEID;
finderArgs = new Object[] { classNameId, start, end, orderByComparator };
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((classNameId != ddmStructure.getClassNameId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(classNameId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where classNameId = ?.
*
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByClassNameId_First(long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByClassNameId_First(classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where classNameId = ?.
*
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByClassNameId_First(long classNameId,
OrderByComparator orderByComparator) {
List list = findByClassNameId(classNameId, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where classNameId = ?.
*
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByClassNameId_Last(long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByClassNameId_Last(classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where classNameId = ?.
*
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByClassNameId_Last(long classNameId,
OrderByComparator orderByComparator) {
int count = countByClassNameId(classNameId);
if (count == 0) {
return null;
}
List list = findByClassNameId(classNameId, count - 1,
count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where classNameId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByClassNameId_PrevAndNext(long structureId,
long classNameId, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByClassNameId_PrevAndNext(session, ddmStructure,
classNameId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByClassNameId_PrevAndNext(session, ddmStructure,
classNameId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByClassNameId_PrevAndNext(Session session,
DDMStructure ddmStructure, long classNameId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(classNameId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where classNameId = ? from the database.
*
* @param classNameId the class name ID
*/
@Override
public void removeByClassNameId(long classNameId) {
for (DDMStructure ddmStructure : findByClassNameId(classNameId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where classNameId = ?.
*
* @param classNameId the class name ID
* @return the number of matching d d m structures
*/
@Override
public int countByClassNameId(long classNameId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_CLASSNAMEID;
Object[] finderArgs = new Object[] { classNameId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(2);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(classNameId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2 = "ddmStructure.classNameId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_STRUCTUREKEY =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByStructureKey",
new String[] {
String.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_STRUCTUREKEY =
new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByStructureKey",
new String[] { String.class.getName() },
DDMStructureModelImpl.STRUCTUREKEY_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_STRUCTUREKEY = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByStructureKey",
new String[] { String.class.getName() });
/**
* Returns all the d d m structures where structureKey = ?.
*
* @param structureKey the structure key
* @return the matching d d m structures
*/
@Override
public List findByStructureKey(String structureKey) {
return findByStructureKey(structureKey, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where structureKey = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param structureKey the structure key
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByStructureKey(String structureKey,
int start, int end) {
return findByStructureKey(structureKey, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where structureKey = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param structureKey the structure key
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByStructureKey(String structureKey,
int start, int end, OrderByComparator orderByComparator) {
return findByStructureKey(structureKey, start, end, orderByComparator,
true);
}
/**
* Returns an ordered range of all the d d m structures where structureKey = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param structureKey the structure key
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByStructureKey(String structureKey,
int start, int end, OrderByComparator 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_BY_STRUCTUREKEY;
finderArgs = new Object[] { structureKey };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_STRUCTUREKEY;
finderArgs = new Object[] {
structureKey,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if (!Validator.equals(structureKey,
ddmStructure.getStructureKey())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(3 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
boolean bindStructureKey = false;
if (structureKey == null) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_1);
}
else if (structureKey.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_3);
}
else {
bindStructureKey = true;
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_2);
}
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindStructureKey) {
qPos.add(structureKey);
}
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where structureKey = ?.
*
* @param structureKey the structure key
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByStructureKey_First(String structureKey,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByStructureKey_First(structureKey,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("structureKey=");
msg.append(structureKey);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where structureKey = ?.
*
* @param structureKey the structure key
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByStructureKey_First(String structureKey,
OrderByComparator orderByComparator) {
List list = findByStructureKey(structureKey, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where structureKey = ?.
*
* @param structureKey the structure key
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByStructureKey_Last(String structureKey,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByStructureKey_Last(structureKey,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(4);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("structureKey=");
msg.append(structureKey);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where structureKey = ?.
*
* @param structureKey the structure key
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByStructureKey_Last(String structureKey,
OrderByComparator orderByComparator) {
int count = countByStructureKey(structureKey);
if (count == 0) {
return null;
}
List list = findByStructureKey(structureKey, count - 1,
count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where structureKey = ?.
*
* @param structureId the primary key of the current d d m structure
* @param structureKey the structure key
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByStructureKey_PrevAndNext(long structureId,
String structureKey, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByStructureKey_PrevAndNext(session, ddmStructure,
structureKey, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByStructureKey_PrevAndNext(session, ddmStructure,
structureKey, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByStructureKey_PrevAndNext(Session session,
DDMStructure ddmStructure, String structureKey,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(3);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
boolean bindStructureKey = false;
if (structureKey == null) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_1);
}
else if (structureKey.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_3);
}
else {
bindStructureKey = true;
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
if (bindStructureKey) {
qPos.add(structureKey);
}
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where structureKey = ? from the database.
*
* @param structureKey the structure key
*/
@Override
public void removeByStructureKey(String structureKey) {
for (DDMStructure ddmStructure : findByStructureKey(structureKey,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where structureKey = ?.
*
* @param structureKey the structure key
* @return the number of matching d d m structures
*/
@Override
public int countByStructureKey(String structureKey) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_STRUCTUREKEY;
Object[] finderArgs = new Object[] { structureKey };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(2);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
boolean bindStructureKey = false;
if (structureKey == null) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_1);
}
else if (structureKey.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_3);
}
else {
bindStructureKey = true;
query.append(_FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_2);
}
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
if (bindStructureKey) {
qPos.add(structureKey);
}
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_1 = "ddmStructure.structureKey IS NULL";
private static final String _FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_2 = "ddmStructure.structureKey = ?";
private static final String _FINDER_COLUMN_STRUCTUREKEY_STRUCTUREKEY_3 = "(ddmStructure.structureKey IS NULL OR ddmStructure.structureKey = '')";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_P = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_P",
new String[] {
Long.class.getName(), Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_P = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_P",
new String[] { Long.class.getName(), Long.class.getName() },
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK |
DDMStructureModelImpl.PARENTSTRUCTUREID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_G_P = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByG_P",
new String[] { Long.class.getName(), Long.class.getName() });
/**
* Returns all the d d m structures where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @return the matching d d m structures
*/
@Override
public List findByG_P(long groupId, long parentStructureId) {
return findByG_P(groupId, parentStructureId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where groupId = ? and parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByG_P(long groupId, long parentStructureId,
int start, int end) {
return findByG_P(groupId, parentStructureId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_P(long groupId, long parentStructureId,
int start, int end, OrderByComparator orderByComparator) {
return findByG_P(groupId, parentStructureId, start, end,
orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_P(long groupId, long parentStructureId,
int start, int end, OrderByComparator 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_BY_G_P;
finderArgs = new Object[] { groupId, parentStructureId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_P;
finderArgs = new Object[] {
groupId, parentStructureId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((groupId != ddmStructure.getGroupId()) ||
(parentStructureId != ddmStructure.getParentStructureId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(parentStructureId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_P_First(long groupId, long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_P_First(groupId,
parentStructureId, orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", parentStructureId=");
msg.append(parentStructureId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_P_First(long groupId, long parentStructureId,
OrderByComparator orderByComparator) {
List list = findByG_P(groupId, parentStructureId, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_P_Last(long groupId, long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_P_Last(groupId, parentStructureId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", parentStructureId=");
msg.append(parentStructureId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_P_Last(long groupId, long parentStructureId,
OrderByComparator orderByComparator) {
int count = countByG_P(groupId, parentStructureId);
if (count == 0) {
return null;
}
List list = findByG_P(groupId, parentStructureId,
count - 1, count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where groupId = ? and parentStructureId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByG_P_PrevAndNext(long structureId, long groupId,
long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByG_P_PrevAndNext(session, ddmStructure, groupId,
parentStructureId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByG_P_PrevAndNext(session, ddmStructure, groupId,
parentStructureId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByG_P_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId, long parentStructureId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(parentStructureId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_P(long groupId,
long parentStructureId) {
return filterFindByG_P(groupId, parentStructureId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = ? and parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_P(long groupId,
long parentStructureId, int start, int end) {
return filterFindByG_P(groupId, parentStructureId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permissions to view where groupId = ? and parentStructureId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_P(long groupId,
long parentStructureId, int start, int end,
OrderByComparator orderByComparator) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByG_P(groupId, parentStructureId, start, end,
orderByComparator);
}
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(5);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(parentStructureId);
return (List)QueryUtil.list(q, getDialect(), start,
end);
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set of d d m structures that the user has permission to view where groupId = ? and parentStructureId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] filterFindByG_P_PrevAndNext(long structureId,
long groupId, long parentStructureId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByG_P_PrevAndNext(structureId, groupId,
parentStructureId, orderByComparator);
}
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = filterGetByG_P_PrevAndNext(session, ddmStructure,
groupId, parentStructureId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = filterGetByG_P_PrevAndNext(session, ddmStructure,
groupId, parentStructureId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure filterGetByG_P_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId, long parentStructureId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(6 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(5);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(parentStructureId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where groupId = ? and parentStructureId = ? from the database.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
*/
@Override
public void removeByG_P(long groupId, long parentStructureId) {
for (DDMStructure ddmStructure : findByG_P(groupId, parentStructureId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @return the number of matching d d m structures
*/
@Override
public int countByG_P(long groupId, long parentStructureId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_G_P;
Object[] finderArgs = new Object[] { groupId, parentStructureId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(3);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_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(parentStructureId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
/**
* Returns the number of d d m structures that the user has permission to view where groupId = ? and parentStructureId = ?.
*
* @param groupId the group ID
* @param parentStructureId the parent structure ID
* @return the number of matching d d m structures that the user has permission to view
*/
@Override
public int filterCountByG_P(long groupId, long parentStructureId) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return countByG_P(groupId, parentStructureId);
}
StringBundler query = new StringBundler(3);
query.append(_FILTER_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_P_GROUPID_2);
query.append(_FINDER_COLUMN_G_P_PARENTSTRUCTUREID_2);
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.addScalar(COUNT_COLUMN_NAME,
com.liferay.portal.kernel.dao.orm.Type.LONG);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(parentStructureId);
Long count = (Long)q.uniqueResult();
return count.intValue();
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
private static final String _FINDER_COLUMN_G_P_GROUPID_2 = "ddmStructure.groupId = ? AND ";
private static final String _FINDER_COLUMN_G_P_PARENTSTRUCTUREID_2 = "ddmStructure.parentStructureId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_C",
new String[] {
Long.class.getName(), Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_C",
new String[] { Long.class.getName(), Long.class.getName() },
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK |
DDMStructureModelImpl.CLASSNAMEID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_G_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByG_C",
new String[] { Long.class.getName(), Long.class.getName() });
public static final FinderPath FINDER_PATH_WITH_PAGINATION_COUNT_BY_G_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "countByG_C",
new String[] { Long.class.getName(), Long.class.getName() });
/**
* Returns all the d d m structures where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @return the matching d d m structures
*/
@Override
public List findByG_C(long groupId, long classNameId) {
return findByG_C(groupId, classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where groupId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByG_C(long groupId, long classNameId,
int start, int end) {
return findByG_C(groupId, classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_C(long groupId, long classNameId,
int start, int end, OrderByComparator orderByComparator) {
return findByG_C(groupId, classNameId, start, end, orderByComparator,
true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_C(long groupId, long classNameId,
int start, int end, OrderByComparator 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_BY_G_C;
finderArgs = new Object[] { groupId, classNameId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_C;
finderArgs = new Object[] {
groupId, classNameId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((groupId != ddmStructure.getGroupId()) ||
(classNameId != ddmStructure.getClassNameId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(classNameId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_C_First(long groupId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_C_First(groupId, classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_C_First(long groupId, long classNameId,
OrderByComparator orderByComparator) {
List list = findByG_C(groupId, classNameId, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_C_Last(long groupId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_C_Last(groupId, classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_C_Last(long groupId, long classNameId,
OrderByComparator orderByComparator) {
int count = countByG_C(groupId, classNameId);
if (count == 0) {
return null;
}
List list = findByG_C(groupId, classNameId, count - 1,
count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where groupId = ? and classNameId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByG_C_PrevAndNext(long structureId, long groupId,
long classNameId, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByG_C_PrevAndNext(session, ddmStructure, groupId,
classNameId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByG_C_PrevAndNext(session, ddmStructure, groupId,
classNameId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByG_C_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId, long classNameId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(classNameId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long groupId, long classNameId) {
return filterFindByG_C(groupId, classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long groupId, long classNameId,
int start, int end) {
return filterFindByG_C(groupId, classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permissions to view where groupId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long groupId, long classNameId,
int start, int end, OrderByComparator orderByComparator) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByG_C(groupId, classNameId, start, end, orderByComparator);
}
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(5);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(classNameId);
return (List)QueryUtil.list(q, getDialect(), start,
end);
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set of d d m structures that the user has permission to view where groupId = ? and classNameId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] filterFindByG_C_PrevAndNext(long structureId,
long groupId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return findByG_C_PrevAndNext(structureId, groupId, classNameId,
orderByComparator);
}
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = filterGetByG_C_PrevAndNext(session, ddmStructure,
groupId, classNameId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = filterGetByG_C_PrevAndNext(session, ddmStructure,
groupId, classNameId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure filterGetByG_C_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId, long classNameId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(6 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(5);
}
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(classNameId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = any ? and classNameId = ?.
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long[] groupIds, long classNameId) {
return filterFindByG_C(groupIds, classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = any ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long[] groupIds,
long classNameId, int start, int end) {
return filterFindByG_C(groupIds, classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permission to view where groupId = any ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_C(long[] groupIds,
long classNameId, int start, int end,
OrderByComparator orderByComparator) {
if (!InlineSQLHelperUtil.isEnabled(groupIds)) {
return findByG_C(groupIds, classNameId, start, end,
orderByComparator);
}
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
StringBundler query = new StringBundler();
if (getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_WHERE);
}
else {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_NO_INLINE_DISTINCT_WHERE_1);
}
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_G_C_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(WHERE_AND);
}
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
query.setStringAt(removeConjunction(query.stringAt(query.index() - 1)),
query.index() - 1);
if (!getDB().isSupportsInlineDistinct()) {
query.append(_FILTER_SQL_SELECT_DDMSTRUCTURE_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
else {
query.append(DDMStructureModelImpl.ORDER_BY_SQL);
}
}
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupIds);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
if (getDB().isSupportsInlineDistinct()) {
q.addEntity(_FILTER_ENTITY_ALIAS, DDMStructureImpl.class);
}
else {
q.addEntity(_FILTER_ENTITY_TABLE, DDMStructureImpl.class);
}
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(classNameId);
return (List)QueryUtil.list(q, getDialect(), start,
end);
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns all the d d m structures where groupId = any ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @return the matching d d m structures
*/
@Override
public List findByG_C(long[] groupIds, long classNameId) {
return findByG_C(groupIds, classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where groupId = any ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByG_C(long[] groupIds, long classNameId,
int start, int end) {
return findByG_C(groupIds, classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = any ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_C(long[] groupIds, long classNameId,
int start, int end, OrderByComparator orderByComparator) {
return findByG_C(groupIds, classNameId, start, end, orderByComparator,
true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and classNameId = ?, optionally using the finder cache.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_C(long[] groupIds, long classNameId,
int start, int end, OrderByComparator orderByComparator,
boolean retrieveFromCache) {
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
if (groupIds.length == 1) {
return findByG_C(groupIds[0], classNameId, start, end,
orderByComparator);
}
boolean pagination = true;
Object[] finderArgs = null;
if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
(orderByComparator == null)) {
pagination = false;
finderArgs = new Object[] { StringUtil.merge(groupIds), classNameId };
}
else {
finderArgs = new Object[] {
StringUtil.merge(groupIds), classNameId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_G_C,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if (!ArrayUtil.contains(groupIds, ddmStructure.getGroupId()) ||
(classNameId != ddmStructure.getClassNameId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = new StringBundler();
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_G_C_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(WHERE_AND);
}
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
query.setStringAt(removeConjunction(query.stringAt(query.index() -
1)), query.index() - 1);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(classNameId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)QueryUtil.list(q, getDialect(),
start, end);
}
cacheResult(list);
finderCache.putResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_G_C,
finderArgs, list);
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_G_C,
finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return list;
}
/**
* Removes all the d d m structures where groupId = ? and classNameId = ? from the database.
*
* @param groupId the group ID
* @param classNameId the class name ID
*/
@Override
public void removeByG_C(long groupId, long classNameId) {
for (DDMStructure ddmStructure : findByG_C(groupId, classNameId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @return the number of matching d d m structures
*/
@Override
public int countByG_C(long groupId, long classNameId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_G_C;
Object[] finderArgs = new Object[] { groupId, classNameId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(3);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_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(classNameId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
/**
* Returns the number of d d m structures where groupId = any ? and classNameId = ?.
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @return the number of matching d d m structures
*/
@Override
public int countByG_C(long[] groupIds, long classNameId) {
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
Object[] finderArgs = new Object[] {
StringUtil.merge(groupIds), classNameId
};
Long count = (Long)finderCache.getResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_G_C,
finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler();
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_G_C_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(WHERE_AND);
}
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
query.setStringAt(removeConjunction(query.stringAt(query.index() -
1)), query.index() - 1);
String sql = query.toString();
Session session = null;
try {
session = openSession();
Query q = session.createQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(classNameId);
count = (Long)q.uniqueResult();
finderCache.putResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_G_C,
finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_G_C,
finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
/**
* Returns the number of d d m structures that the user has permission to view where groupId = ? and classNameId = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @return the number of matching d d m structures that the user has permission to view
*/
@Override
public int filterCountByG_C(long groupId, long classNameId) {
if (!InlineSQLHelperUtil.isEnabled(groupId)) {
return countByG_C(groupId, classNameId);
}
StringBundler query = new StringBundler(3);
query.append(_FILTER_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupId);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.addScalar(COUNT_COLUMN_NAME,
com.liferay.portal.kernel.dao.orm.Type.LONG);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
qPos.add(classNameId);
Long count = (Long)q.uniqueResult();
return count.intValue();
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
/**
* Returns the number of d d m structures that the user has permission to view where groupId = any ? and classNameId = ?.
*
* @param groupIds the group IDs
* @param classNameId the class name ID
* @return the number of matching d d m structures that the user has permission to view
*/
@Override
public int filterCountByG_C(long[] groupIds, long classNameId) {
if (!InlineSQLHelperUtil.isEnabled(groupIds)) {
return countByG_C(groupIds, classNameId);
}
if (groupIds == null) {
groupIds = new long[0];
}
else if (groupIds.length > 1) {
groupIds = ArrayUtil.unique(groupIds);
Arrays.sort(groupIds);
}
StringBundler query = new StringBundler();
query.append(_FILTER_SQL_COUNT_DDMSTRUCTURE_WHERE);
if (groupIds.length > 0) {
query.append(StringPool.OPEN_PARENTHESIS);
query.append(_FINDER_COLUMN_G_C_GROUPID_7);
query.append(StringUtil.merge(groupIds));
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(StringPool.CLOSE_PARENTHESIS);
query.append(WHERE_AND);
}
query.append(_FINDER_COLUMN_G_C_CLASSNAMEID_2);
query.setStringAt(removeConjunction(query.stringAt(query.index() - 1)),
query.index() - 1);
String sql = InlineSQLHelperUtil.replacePermissionCheck(query.toString(),
DDMStructure.class.getName(),
_FILTER_ENTITY_TABLE_FILTER_PK_COLUMN, groupIds);
Session session = null;
try {
session = openSession();
SQLQuery q = session.createSynchronizedSQLQuery(sql);
q.addScalar(COUNT_COLUMN_NAME,
com.liferay.portal.kernel.dao.orm.Type.LONG);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(classNameId);
Long count = (Long)q.uniqueResult();
return count.intValue();
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
private static final String _FINDER_COLUMN_G_C_GROUPID_2 = "ddmStructure.groupId = ? AND ";
private static final String _FINDER_COLUMN_G_C_GROUPID_7 = "ddmStructure.groupId IN (";
private static final String _FINDER_COLUMN_G_C_CLASSNAMEID_2 = "ddmStructure.classNameId = ?";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_C_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByC_C",
new String[] {
Long.class.getName(), Long.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_C_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByC_C",
new String[] { Long.class.getName(), Long.class.getName() },
DDMStructureModelImpl.COMPANYID_COLUMN_BITMASK |
DDMStructureModelImpl.CLASSNAMEID_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_C_C = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByC_C",
new String[] { Long.class.getName(), Long.class.getName() });
/**
* Returns all the d d m structures where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @return the matching d d m structures
*/
@Override
public List findByC_C(long companyId, long classNameId) {
return findByC_C(companyId, classNameId, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where companyId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByC_C(long companyId, long classNameId,
int start, int end) {
return findByC_C(companyId, classNameId, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where companyId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByC_C(long companyId, long classNameId,
int start, int end, OrderByComparator orderByComparator) {
return findByC_C(companyId, classNameId, start, end, orderByComparator,
true);
}
/**
* Returns an ordered range of all the d d m structures where companyId = ? and classNameId = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByC_C(long companyId, long classNameId,
int start, int end, OrderByComparator 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_BY_C_C;
finderArgs = new Object[] { companyId, classNameId };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_C_C;
finderArgs = new Object[] {
companyId, classNameId,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((companyId != ddmStructure.getCompanyId()) ||
(classNameId != ddmStructure.getClassNameId())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(4 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_C_C_COMPANYID_2);
query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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(companyId);
qPos.add(classNameId);
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByC_C_First(long companyId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByC_C_First(companyId, classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("companyId=");
msg.append(companyId);
msg.append(", classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByC_C_First(long companyId, long classNameId,
OrderByComparator orderByComparator) {
List list = findByC_C(companyId, classNameId, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByC_C_Last(long companyId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByC_C_Last(companyId, classNameId,
orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(6);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("companyId=");
msg.append(companyId);
msg.append(", classNameId=");
msg.append(classNameId);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByC_C_Last(long companyId, long classNameId,
OrderByComparator orderByComparator) {
int count = countByC_C(companyId, classNameId);
if (count == 0) {
return null;
}
List list = findByC_C(companyId, classNameId, count - 1,
count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where companyId = ? and classNameId = ?.
*
* @param structureId the primary key of the current d d m structure
* @param companyId the company ID
* @param classNameId the class name ID
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByC_C_PrevAndNext(long structureId,
long companyId, long classNameId,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByC_C_PrevAndNext(session, ddmStructure, companyId,
classNameId, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByC_C_PrevAndNext(session, ddmStructure, companyId,
classNameId, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByC_C_PrevAndNext(Session session,
DDMStructure ddmStructure, long companyId, long classNameId,
OrderByComparator orderByComparator, boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(4);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_C_C_COMPANYID_2);
query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(companyId);
qPos.add(classNameId);
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Removes all the d d m structures where companyId = ? and classNameId = ? from the database.
*
* @param companyId the company ID
* @param classNameId the class name ID
*/
@Override
public void removeByC_C(long companyId, long classNameId) {
for (DDMStructure ddmStructure : findByC_C(companyId, classNameId,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
remove(ddmStructure);
}
}
/**
* Returns the number of d d m structures where companyId = ? and classNameId = ?.
*
* @param companyId the company ID
* @param classNameId the class name ID
* @return the number of matching d d m structures
*/
@Override
public int countByC_C(long companyId, long classNameId) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_C_C;
Object[] finderArgs = new Object[] { companyId, classNameId };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(3);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_C_C_COMPANYID_2);
query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_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(classNameId);
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_C_C_COMPANYID_2 = "ddmStructure.companyId = ? AND ";
private static final String _FINDER_COLUMN_C_C_CLASSNAMEID_2 = "ddmStructure.classNameId = ?";
public static final FinderPath FINDER_PATH_FETCH_BY_G_C_S = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_ENTITY, "fetchByG_C_S",
new String[] {
Long.class.getName(), Long.class.getName(),
String.class.getName()
},
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK |
DDMStructureModelImpl.CLASSNAMEID_COLUMN_BITMASK |
DDMStructureModelImpl.STRUCTUREKEY_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_G_C_S = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByG_C_S",
new String[] {
Long.class.getName(), Long.class.getName(),
String.class.getName()
});
/**
* Returns the d d m structure where groupId = ? and classNameId = ? and structureKey = ? or throws a {@link NoSuchStructureException} if it could not be found.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param structureKey the structure key
* @return the matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_C_S(long groupId, long classNameId,
String structureKey) throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_C_S(groupId, classNameId,
structureKey);
if (ddmStructure == null) {
StringBundler msg = new StringBundler(8);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", classNameId=");
msg.append(classNameId);
msg.append(", structureKey=");
msg.append(structureKey);
msg.append(StringPool.CLOSE_CURLY_BRACE);
if (_log.isWarnEnabled()) {
_log.warn(msg.toString());
}
throw new NoSuchStructureException(msg.toString());
}
return ddmStructure;
}
/**
* Returns the d d m structure where groupId = ? and classNameId = ? and structureKey = ? or returns null
if it could not be found. Uses the finder cache.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param structureKey the structure key
* @return the matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_C_S(long groupId, long classNameId,
String structureKey) {
return fetchByG_C_S(groupId, classNameId, structureKey, true);
}
/**
* Returns the d d m structure where groupId = ? and classNameId = ? and structureKey = ? or returns null
if it could not be found, optionally using the finder cache.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param structureKey the structure key
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_C_S(long groupId, long classNameId,
String structureKey, boolean retrieveFromCache) {
Object[] finderArgs = new Object[] { groupId, classNameId, structureKey };
Object result = null;
if (retrieveFromCache) {
result = finderCache.getResult(FINDER_PATH_FETCH_BY_G_C_S,
finderArgs, this);
}
if (result instanceof DDMStructure) {
DDMStructure ddmStructure = (DDMStructure)result;
if ((groupId != ddmStructure.getGroupId()) ||
(classNameId != ddmStructure.getClassNameId()) ||
!Validator.equals(structureKey,
ddmStructure.getStructureKey())) {
result = null;
}
}
if (result == null) {
StringBundler query = new StringBundler(5);
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_S_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_S_CLASSNAMEID_2);
boolean bindStructureKey = false;
if (structureKey == null) {
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_1);
}
else if (structureKey.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_3);
}
else {
bindStructureKey = true;
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_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(classNameId);
if (bindStructureKey) {
qPos.add(structureKey);
}
List list = q.list();
if (list.isEmpty()) {
finderCache.putResult(FINDER_PATH_FETCH_BY_G_C_S,
finderArgs, list);
}
else {
DDMStructure ddmStructure = list.get(0);
result = ddmStructure;
cacheResult(ddmStructure);
if ((ddmStructure.getGroupId() != groupId) ||
(ddmStructure.getClassNameId() != classNameId) ||
(ddmStructure.getStructureKey() == null) ||
!ddmStructure.getStructureKey().equals(structureKey)) {
finderCache.putResult(FINDER_PATH_FETCH_BY_G_C_S,
finderArgs, ddmStructure);
}
}
}
catch (Exception e) {
finderCache.removeResult(FINDER_PATH_FETCH_BY_G_C_S, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
if (result instanceof List>) {
return null;
}
else {
return (DDMStructure)result;
}
}
/**
* Removes the d d m structure where groupId = ? and classNameId = ? and structureKey = ? from the database.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param structureKey the structure key
* @return the d d m structure that was removed
*/
@Override
public DDMStructure removeByG_C_S(long groupId, long classNameId,
String structureKey) throws NoSuchStructureException {
DDMStructure ddmStructure = findByG_C_S(groupId, classNameId,
structureKey);
return remove(ddmStructure);
}
/**
* Returns the number of d d m structures where groupId = ? and classNameId = ? and structureKey = ?.
*
* @param groupId the group ID
* @param classNameId the class name ID
* @param structureKey the structure key
* @return the number of matching d d m structures
*/
@Override
public int countByG_C_S(long groupId, long classNameId, String structureKey) {
FinderPath finderPath = FINDER_PATH_COUNT_BY_G_C_S;
Object[] finderArgs = new Object[] { groupId, classNameId, structureKey };
Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
if (count == null) {
StringBundler query = new StringBundler(4);
query.append(_SQL_COUNT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_C_S_GROUPID_2);
query.append(_FINDER_COLUMN_G_C_S_CLASSNAMEID_2);
boolean bindStructureKey = false;
if (structureKey == null) {
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_1);
}
else if (structureKey.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_3);
}
else {
bindStructureKey = true;
query.append(_FINDER_COLUMN_G_C_S_STRUCTUREKEY_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(classNameId);
if (bindStructureKey) {
qPos.add(structureKey);
}
count = (Long)q.uniqueResult();
finderCache.putResult(finderPath, finderArgs, count);
}
catch (Exception e) {
finderCache.removeResult(finderPath, finderArgs);
throw processException(e);
}
finally {
closeSession(session);
}
}
return count.intValue();
}
private static final String _FINDER_COLUMN_G_C_S_GROUPID_2 = "ddmStructure.groupId = ? AND ";
private static final String _FINDER_COLUMN_G_C_S_CLASSNAMEID_2 = "ddmStructure.classNameId = ? AND ";
private static final String _FINDER_COLUMN_G_C_S_STRUCTUREKEY_1 = "ddmStructure.structureKey IS NULL";
private static final String _FINDER_COLUMN_G_C_S_STRUCTUREKEY_2 = "ddmStructure.structureKey = ?";
private static final String _FINDER_COLUMN_G_C_S_STRUCTUREKEY_3 = "(ddmStructure.structureKey IS NULL OR ddmStructure.structureKey = '')";
public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N_D = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_N_D",
new String[] {
Long.class.getName(), String.class.getName(),
String.class.getName(),
Integer.class.getName(), Integer.class.getName(),
OrderByComparator.class.getName()
});
public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N_D = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, DDMStructureImpl.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_N_D",
new String[] {
Long.class.getName(), String.class.getName(),
String.class.getName()
},
DDMStructureModelImpl.GROUPID_COLUMN_BITMASK |
DDMStructureModelImpl.NAME_COLUMN_BITMASK |
DDMStructureModelImpl.DESCRIPTION_COLUMN_BITMASK);
public static final FinderPath FINDER_PATH_COUNT_BY_G_N_D = new FinderPath(DDMStructureModelImpl.ENTITY_CACHE_ENABLED,
DDMStructureModelImpl.FINDER_CACHE_ENABLED, Long.class,
FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByG_N_D",
new String[] {
Long.class.getName(), String.class.getName(),
String.class.getName()
});
/**
* Returns all the d d m structures where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @return the matching d d m structures
*/
@Override
public List findByG_N_D(long groupId, String name,
String description) {
return findByG_N_D(groupId, name, description, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures where groupId = ? and name = ? and description = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures
*/
@Override
public List findByG_N_D(long groupId, String name,
String description, int start, int end) {
return findByG_N_D(groupId, name, description, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and name = ? and description = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_N_D(long groupId, String name,
String description, int start, int end,
OrderByComparator orderByComparator) {
return findByG_N_D(groupId, name, description, start, end,
orderByComparator, true);
}
/**
* Returns an ordered range of all the d d m structures where groupId = ? and name = ? and description = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @param orderByComparator the comparator to order the results by (optionally null
)
* @param retrieveFromCache whether to retrieve from the finder cache
* @return the ordered range of matching d d m structures
*/
@Override
public List findByG_N_D(long groupId, String name,
String description, int start, int end,
OrderByComparator 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_BY_G_N_D;
finderArgs = new Object[] { groupId, name, description };
}
else {
finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N_D;
finderArgs = new Object[] {
groupId, name, description,
start, end, orderByComparator
};
}
List list = null;
if (retrieveFromCache) {
list = (List)finderCache.getResult(finderPath,
finderArgs, this);
if ((list != null) && !list.isEmpty()) {
for (DDMStructure ddmStructure : list) {
if ((groupId != ddmStructure.getGroupId()) ||
!Validator.equals(name, ddmStructure.getName()) ||
!Validator.equals(description,
ddmStructure.getDescription())) {
list = null;
break;
}
}
}
}
if (list == null) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(5 +
(orderByComparator.getOrderByFields().length * 2));
}
else {
query = new StringBundler(5);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_N_D_GROUPID_2);
boolean bindName = false;
if (name == null) {
query.append(_FINDER_COLUMN_G_N_D_NAME_1);
}
else if (name.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_N_D_NAME_3);
}
else {
bindName = true;
query.append(_FINDER_COLUMN_G_N_D_NAME_2);
}
boolean bindDescription = false;
if (description == null) {
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_1);
}
else if (description.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_3);
}
else {
bindDescription = true;
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_2);
}
if (orderByComparator != null) {
appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
orderByComparator);
}
else
if (pagination) {
query.append(DDMStructureModelImpl.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);
if (bindName) {
qPos.add(name);
}
if (bindDescription) {
qPos.add(description);
}
if (!pagination) {
list = (List)QueryUtil.list(q, getDialect(),
start, end, false);
Collections.sort(list);
list = Collections.unmodifiableList(list);
}
else {
list = (List)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;
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_N_D_First(long groupId, String name,
String description, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_N_D_First(groupId, name,
description, orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(8);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", name=");
msg.append(name);
msg.append(", description=");
msg.append(description);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the first d d m structure in the ordered set where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the first matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_N_D_First(long groupId, String name,
String description, OrderByComparator orderByComparator) {
List list = findByG_N_D(groupId, name, description, 0, 1,
orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure
* @throws NoSuchStructureException if a matching d d m structure could not be found
*/
@Override
public DDMStructure findByG_N_D_Last(long groupId, String name,
String description, OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = fetchByG_N_D_Last(groupId, name,
description, orderByComparator);
if (ddmStructure != null) {
return ddmStructure;
}
StringBundler msg = new StringBundler(8);
msg.append(_NO_SUCH_ENTITY_WITH_KEY);
msg.append("groupId=");
msg.append(groupId);
msg.append(", name=");
msg.append(name);
msg.append(", description=");
msg.append(description);
msg.append(StringPool.CLOSE_CURLY_BRACE);
throw new NoSuchStructureException(msg.toString());
}
/**
* Returns the last d d m structure in the ordered set where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the last matching d d m structure, or null
if a matching d d m structure could not be found
*/
@Override
public DDMStructure fetchByG_N_D_Last(long groupId, String name,
String description, OrderByComparator orderByComparator) {
int count = countByG_N_D(groupId, name, description);
if (count == 0) {
return null;
}
List list = findByG_N_D(groupId, name, description,
count - 1, count, orderByComparator);
if (!list.isEmpty()) {
return list.get(0);
}
return null;
}
/**
* Returns the d d m structures before and after the current d d m structure in the ordered set where groupId = ? and name = ? and description = ?.
*
* @param structureId the primary key of the current d d m structure
* @param groupId the group ID
* @param name the name
* @param description the description
* @param orderByComparator the comparator to order the set by (optionally null
)
* @return the previous, current, and next d d m structure
* @throws NoSuchStructureException if a d d m structure with the primary key could not be found
*/
@Override
public DDMStructure[] findByG_N_D_PrevAndNext(long structureId,
long groupId, String name, String description,
OrderByComparator orderByComparator)
throws NoSuchStructureException {
DDMStructure ddmStructure = findByPrimaryKey(structureId);
Session session = null;
try {
session = openSession();
DDMStructure[] array = new DDMStructureImpl[3];
array[0] = getByG_N_D_PrevAndNext(session, ddmStructure, groupId,
name, description, orderByComparator, true);
array[1] = ddmStructure;
array[2] = getByG_N_D_PrevAndNext(session, ddmStructure, groupId,
name, description, orderByComparator, false);
return array;
}
catch (Exception e) {
throw processException(e);
}
finally {
closeSession(session);
}
}
protected DDMStructure getByG_N_D_PrevAndNext(Session session,
DDMStructure ddmStructure, long groupId, String name,
String description, OrderByComparator orderByComparator,
boolean previous) {
StringBundler query = null;
if (orderByComparator != null) {
query = new StringBundler(6 +
(orderByComparator.getOrderByConditionFields().length * 3) +
(orderByComparator.getOrderByFields().length * 3));
}
else {
query = new StringBundler(5);
}
query.append(_SQL_SELECT_DDMSTRUCTURE_WHERE);
query.append(_FINDER_COLUMN_G_N_D_GROUPID_2);
boolean bindName = false;
if (name == null) {
query.append(_FINDER_COLUMN_G_N_D_NAME_1);
}
else if (name.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_N_D_NAME_3);
}
else {
bindName = true;
query.append(_FINDER_COLUMN_G_N_D_NAME_2);
}
boolean bindDescription = false;
if (description == null) {
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_1);
}
else if (description.equals(StringPool.BLANK)) {
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_3);
}
else {
bindDescription = true;
query.append(_FINDER_COLUMN_G_N_D_DESCRIPTION_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(DDMStructureModelImpl.ORDER_BY_JPQL);
}
String sql = query.toString();
Query q = session.createQuery(sql);
q.setFirstResult(0);
q.setMaxResults(2);
QueryPos qPos = QueryPos.getInstance(q);
qPos.add(groupId);
if (bindName) {
qPos.add(name);
}
if (bindDescription) {
qPos.add(description);
}
if (orderByComparator != null) {
Object[] values = orderByComparator.getOrderByConditionValues(ddmStructure);
for (Object value : values) {
qPos.add(value);
}
}
List list = q.list();
if (list.size() == 2) {
return list.get(1);
}
else {
return null;
}
}
/**
* Returns all the d d m structures that the user has permission to view where groupId = ? and name = ? and description = ?.
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @return the matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_N_D(long groupId, String name,
String description) {
return filterFindByG_N_D(groupId, name, description, QueryUtil.ALL_POS,
QueryUtil.ALL_POS, null);
}
/**
* Returns a range of all the d d m structures that the user has permission to view where groupId = ? and name = ? and description = ?.
*
*
* Useful when paginating results. Returns a maximum of end - start
instances. start
and end
are not primary keys, they are indexes in the result set. Thus, 0
refers to the first result in the set. Setting both start
and end
to {@link QueryUtil#ALL_POS} will return the full result set. If orderByComparator
is specified, then the query will include the given ORDER BY logic. If orderByComparator
is absent and pagination is required (start
and end
are not {@link QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link DDMStructureModelImpl}. If both orderByComparator
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.
*
*
* @param groupId the group ID
* @param name the name
* @param description the description
* @param start the lower bound of the range of d d m structures
* @param end the upper bound of the range of d d m structures (not inclusive)
* @return the range of matching d d m structures that the user has permission to view
*/
@Override
public List filterFindByG_N_D(long groupId, String name,
String description, int start, int end) {
return filterFindByG_N_D(groupId, name, description, start, end, null);
}
/**
* Returns an ordered range of all the d d m structures that the user has permissions to view where groupId = ? and name = ? and description = ?.
*
*
* Useful when paginating results. Returns a maximum of