List of usage examples for com.liferay.portal.kernel.dao.orm Query list
@SuppressWarnings("rawtypes") public List list() throws ORMException;
From source file:at.bibbox.reactjsservice.service.persistence.ToolInformationPersistenceImpl.java
License:Open Source License
protected ToolInformation getByCategory_PrevAndNext(Session session, ToolInformation toolInformation, String category, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;// w w w. j av a2s .co m if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_TOOLINFORMATION_WHERE); boolean bindCategory = false; if (category == null) { query.append(_FINDER_COLUMN_CATEGORY_CATEGORY_1); } else if (category.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_CATEGORY_CATEGORY_3); } else { bindCategory = true; query.append(_FINDER_COLUMN_CATEGORY_CATEGORY_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(ToolInformationModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Query q = session.createQuery(sql); q.setFirstResult(0); q.setMaxResults(2); QueryPos qPos = QueryPos.getInstance(q); if (bindCategory) { qPos.add(category); } if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(toolInformation); for (Object value : values) { qPos.add(value); } } List<ToolInformation> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ConfigurationPersistenceImpl.java
License:Open Source License
/** * Returns the configuration where scope = ? and optionkey = ? or returns <code>null</code> if it could not be found, optionally using the finder cache. * * @param scope the scope//from w w w . j a va 2s . c o m * @param optionkey the optionkey * @param retrieveFromCache whether to use the finder cache * @return the matching configuration, or <code>null</code> if a matching configuration could not be found * @throws SystemException if a system exception occurred */ @Override public Configuration fetchByoptionFinder(String scope, String optionkey, boolean retrieveFromCache) throws SystemException { Object[] finderArgs = new Object[] { scope, optionkey }; Object result = null; if (retrieveFromCache) { result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_OPTIONFINDER, finderArgs, this); } if (result instanceof Configuration) { Configuration configuration = (Configuration) result; if (!Validator.equals(scope, configuration.getScope()) || !Validator.equals(optionkey, configuration.getOptionkey())) { result = null; } } if (result == null) { StringBundler query = new StringBundler(4); query.append(_SQL_SELECT_CONFIGURATION_WHERE); boolean bindScope = false; if (scope == null) { query.append(_FINDER_COLUMN_OPTIONFINDER_SCOPE_1); } else if (scope.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONFINDER_SCOPE_3); } else { bindScope = true; query.append(_FINDER_COLUMN_OPTIONFINDER_SCOPE_2); } boolean bindOptionkey = false; if (optionkey == null) { query.append(_FINDER_COLUMN_OPTIONFINDER_OPTIONKEY_1); } else if (optionkey.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONFINDER_OPTIONKEY_3); } else { bindOptionkey = true; query.append(_FINDER_COLUMN_OPTIONFINDER_OPTIONKEY_2); } String sql = query.toString(); Session session = null; try { session = openSession(); Query q = session.createQuery(sql); QueryPos qPos = QueryPos.getInstance(q); if (bindScope) { qPos.add(scope); } if (bindOptionkey) { qPos.add(optionkey); } List<Configuration> list = q.list(); if (list.isEmpty()) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_OPTIONFINDER, finderArgs, list); } else { if ((list.size() > 1) && _log.isWarnEnabled()) { _log.warn( "ConfigurationPersistenceImpl.fetchByoptionFinder(String, String, boolean) with parameters (" + StringUtil.merge(finderArgs) + ") yields a result set with more than 1 result. This violates the logical unique restriction. There is no order guarantee on which result is returned by this finder."); } Configuration configuration = list.get(0); result = configuration; cacheResult(configuration); if ((configuration.getScope() == null) || !configuration.getScope().equals(scope) || (configuration.getOptionkey() == null) || !configuration.getOptionkey().equals(optionkey)) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_OPTIONFINDER, finderArgs, configuration); } } } catch (Exception e) { FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_OPTIONFINDER, finderArgs); throw processException(e); } finally { closeSession(session); } } if (result instanceof List<?>) { return null; } else { return (Configuration) result; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ConfigurationPersistenceImpl.java
License:Open Source License
/** * Returns the configuration where scope = ? and optionvalue = ? or returns <code>null</code> if it could not be found, optionally using the finder cache. * * @param scope the scope//from www. j a v a 2 s . c o m * @param optionvalue the optionvalue * @param retrieveFromCache whether to use the finder cache * @return the matching configuration, or <code>null</code> if a matching configuration could not be found * @throws SystemException if a system exception occurred */ @Override public Configuration fetchByoptionsFinderValue(String scope, String optionvalue, boolean retrieveFromCache) throws SystemException { Object[] finderArgs = new Object[] { scope, optionvalue }; Object result = null; if (retrieveFromCache) { result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_OPTIONSFINDERVALUE, finderArgs, this); } if (result instanceof Configuration) { Configuration configuration = (Configuration) result; if (!Validator.equals(scope, configuration.getScope()) || !Validator.equals(optionvalue, configuration.getOptionvalue())) { result = null; } } if (result == null) { StringBundler query = new StringBundler(4); query.append(_SQL_SELECT_CONFIGURATION_WHERE); boolean bindScope = false; if (scope == null) { query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_SCOPE_1); } else if (scope.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_SCOPE_3); } else { bindScope = true; query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_SCOPE_2); } boolean bindOptionvalue = false; if (optionvalue == null) { query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_OPTIONVALUE_1); } else if (optionvalue.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_OPTIONVALUE_3); } else { bindOptionvalue = true; query.append(_FINDER_COLUMN_OPTIONSFINDERVALUE_OPTIONVALUE_2); } String sql = query.toString(); Session session = null; try { session = openSession(); Query q = session.createQuery(sql); QueryPos qPos = QueryPos.getInstance(q); if (bindScope) { qPos.add(scope); } if (bindOptionvalue) { qPos.add(optionvalue); } List<Configuration> list = q.list(); if (list.isEmpty()) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_OPTIONSFINDERVALUE, finderArgs, list); } else { if ((list.size() > 1) && _log.isWarnEnabled()) { _log.warn( "ConfigurationPersistenceImpl.fetchByoptionsFinderValue(String, String, boolean) with parameters (" + StringUtil.merge(finderArgs) + ") yields a result set with more than 1 result. This violates the logical unique restriction. There is no order guarantee on which result is returned by this finder."); } Configuration configuration = list.get(0); result = configuration; cacheResult(configuration); if ((configuration.getScope() == null) || !configuration.getScope().equals(scope) || (configuration.getOptionvalue() == null) || !configuration.getOptionvalue().equals(optionvalue)) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_OPTIONSFINDERVALUE, finderArgs, configuration); } } } catch (Exception e) { FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_OPTIONSFINDERVALUE, finderArgs); throw processException(e); } finally { closeSession(session); } } if (result instanceof List<?>) { return null; } else { return (Configuration) result; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ConfigurationPersistenceImpl.java
License:Open Source License
protected Configuration getByoptionsFinderKey_PrevAndNext(Session session, Configuration configuration, String scope, String optionkey, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;/*w ww . j av a 2 s . c om*/ if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_CONFIGURATION_WHERE); boolean bindScope = false; if (scope == null) { query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_SCOPE_1); } else if (scope.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_SCOPE_3); } else { bindScope = true; query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_SCOPE_2); } boolean bindOptionkey = false; if (optionkey == null) { query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_OPTIONKEY_1); } else if (optionkey.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_OPTIONKEY_3); } else { bindOptionkey = true; query.append(_FINDER_COLUMN_OPTIONSFINDERKEY_OPTIONKEY_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(ConfigurationModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Query q = session.createQuery(sql); q.setFirstResult(0); q.setMaxResults(2); QueryPos qPos = QueryPos.getInstance(q); if (bindScope) { qPos.add(scope); } if (bindOptionkey) { qPos.add(optionkey); } if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(configuration); for (Object value : values) { qPos.add(value); } } List<Configuration> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ConfigurationPersistenceImpl.java
License:Open Source License
protected Configuration getByoptionsFinder_PrevAndNext(Session session, Configuration configuration, String scope, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;// w w w . ja va 2s. c o m if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_CONFIGURATION_WHERE); boolean bindScope = false; if (scope == null) { query.append(_FINDER_COLUMN_OPTIONSFINDER_SCOPE_1); } else if (scope.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDER_SCOPE_3); } else { bindScope = true; query.append(_FINDER_COLUMN_OPTIONSFINDER_SCOPE_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(ConfigurationModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Query q = session.createQuery(sql); q.setFirstResult(0); q.setMaxResults(2); QueryPos qPos = QueryPos.getInstance(q); if (bindScope) { qPos.add(scope); } if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(configuration); for (Object value : values) { qPos.add(value); } } List<Configuration> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ConfigurationPersistenceImpl.java
License:Open Source License
protected Configuration getByOptionsFinderForKey_PrevAndNext(Session session, Configuration configuration, String optionkey, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;// ww w . j a v a2 s . c om if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_CONFIGURATION_WHERE); boolean bindOptionkey = false; if (optionkey == null) { query.append(_FINDER_COLUMN_OPTIONSFINDERFORKEY_OPTIONKEY_1); } else if (optionkey.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_OPTIONSFINDERFORKEY_OPTIONKEY_3); } else { bindOptionkey = true; query.append(_FINDER_COLUMN_OPTIONSFINDERFORKEY_OPTIONKEY_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(ConfigurationModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Query q = session.createQuery(sql); q.setFirstResult(0); q.setMaxResults(2); QueryPos qPos = QueryPos.getInstance(q); if (bindOptionkey) { qPos.add(optionkey); } if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(configuration); for (Object value : values) { qPos.add(value); } } List<Configuration> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.FahrzeugPersistenceImpl.java
License:Open Source License
protected Fahrzeug getByTyp_PrevAndNext(Session session, Fahrzeug fahrzeug, String typ, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;/*from w w w . ja v a 2 s. co m*/ if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_FAHRZEUG_WHERE); boolean bindTyp = false; if (typ == null) { query.append(_FINDER_COLUMN_TYP_TYP_1); } else if (typ.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_TYP_TYP_3); } else { bindTyp = true; query.append(_FINDER_COLUMN_TYP_TYP_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(FahrzeugModelImpl.ORDER_BY_JPQL); } String sql = query.toString(); Query q = session.createQuery(sql); q.setFirstResult(0); q.setMaxResults(2); QueryPos qPos = QueryPos.getInstance(q); if (bindTyp) { qPos.add(typ); } if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(fahrzeug); for (Object value : values) { qPos.add(value); } } List<Fahrzeug> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ObjectDataPersistenceImpl.java
License:Open Source License
protected ObjectData getByEvent_PrevAndNext(Session session, ObjectData objectData, long puchmuseumsobjectId, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;//w w w . ja v a 2 s . com if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_OBJECTDATA_WHERE); query.append(_FINDER_COLUMN_EVENT_PUCHMUSEUMSOBJECTID_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(ObjectDataModelImpl.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(puchmuseumsobjectId); if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(objectData); for (Object value : values) { qPos.add(value); } } List<ObjectData> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ObjectDataPersistenceImpl.java
License:Open Source License
/** * Returns the object data where puchmuseumsobjectId = ? and objectkey = ? or returns <code>null</code> if it could not be found, optionally using the finder cache. * * @param puchmuseumsobjectId the puchmuseumsobject ID * @param objectkey the objectkey/*from w w w . ja v a 2s. c o m*/ * @param retrieveFromCache whether to use the finder cache * @return the matching object data, or <code>null</code> if a matching object data could not be found * @throws SystemException if a system exception occurred */ @Override public ObjectData fetchByDataByOntology(long puchmuseumsobjectId, String objectkey, boolean retrieveFromCache) throws SystemException { Object[] finderArgs = new Object[] { puchmuseumsobjectId, objectkey }; Object result = null; if (retrieveFromCache) { result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_DATABYONTOLOGY, finderArgs, this); } if (result instanceof ObjectData) { ObjectData objectData = (ObjectData) result; if ((puchmuseumsobjectId != objectData.getPuchmuseumsobjectId()) || !Validator.equals(objectkey, objectData.getObjectkey())) { result = null; } } if (result == null) { StringBundler query = new StringBundler(4); query.append(_SQL_SELECT_OBJECTDATA_WHERE); query.append(_FINDER_COLUMN_DATABYONTOLOGY_PUCHMUSEUMSOBJECTID_2); boolean bindObjectkey = false; if (objectkey == null) { query.append(_FINDER_COLUMN_DATABYONTOLOGY_OBJECTKEY_1); } else if (objectkey.equals(StringPool.BLANK)) { query.append(_FINDER_COLUMN_DATABYONTOLOGY_OBJECTKEY_3); } else { bindObjectkey = true; query.append(_FINDER_COLUMN_DATABYONTOLOGY_OBJECTKEY_2); } String sql = query.toString(); Session session = null; try { session = openSession(); Query q = session.createQuery(sql); QueryPos qPos = QueryPos.getInstance(q); qPos.add(puchmuseumsobjectId); if (bindObjectkey) { qPos.add(objectkey); } List<ObjectData> list = q.list(); if (list.isEmpty()) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_DATABYONTOLOGY, finderArgs, list); } else { if ((list.size() > 1) && _log.isWarnEnabled()) { _log.warn( "ObjectDataPersistenceImpl.fetchByDataByOntology(long, String, boolean) with parameters (" + StringUtil.merge(finderArgs) + ") yields a result set with more than 1 result. This violates the logical unique restriction. There is no order guarantee on which result is returned by this finder."); } ObjectData objectData = list.get(0); result = objectData; cacheResult(objectData); if ((objectData.getPuchmuseumsobjectId() != puchmuseumsobjectId) || (objectData.getObjectkey() == null) || !objectData.getObjectkey().equals(objectkey)) { FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_DATABYONTOLOGY, finderArgs, objectData); } } } catch (Exception e) { FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_DATABYONTOLOGY, finderArgs); throw processException(e); } finally { closeSession(session); } } if (result instanceof List<?>) { return null; } else { return (ObjectData) result; } }
From source file:at.graz.hmmc.liferay.portlet.puch.service.persistence.ObjectImagePersistenceImpl.java
License:Open Source License
protected ObjectImage getByObject_PrevAndNext(Session session, ObjectImage objectImage, long puchmuseumsobjectId, OrderByComparator orderByComparator, boolean previous) { StringBundler query = null;/*from ww w . ja va2 s .com*/ if (orderByComparator != null) { query = new StringBundler(6 + (orderByComparator.getOrderByFields().length * 6)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_OBJECTIMAGE_WHERE); query.append(_FINDER_COLUMN_OBJECT_PUCHMUSEUMSOBJECTID_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(ObjectImageModelImpl.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(puchmuseumsobjectId); if (orderByComparator != null) { Object[] values = orderByComparator.getOrderByConditionValues(objectImage); for (Object value : values) { qPos.add(value); } } List<ObjectImage> list = q.list(); if (list.size() == 2) { return list.get(1); } else { return null; } }