protected DLSync toUnwrappedModel(DLSync dlSync) { if (dlSync instanceof DLSyncImpl) { return dlSync; } DLSyncImpl dlSyncImpl = new DLSyncImpl(); dlSyncImpl.setNew(dlSync.isNew()); dlSyncImpl.setPrimaryKey(dlSync.getPrimaryKey()); dlSyncImpl.setSyncId(dlSync.getSyncId()); dlSyncImpl.setCompanyId(dlSync.getCompanyId()); dlSyncImpl.setCreateDate(dlSync.getCreateDate()); dlSyncImpl.setModifiedDate(dlSync.getModifiedDate()); dlSyncImpl.setFileId(dlSync.getFileId()); dlSyncImpl.setFileUuid(dlSync.getFileUuid()); dlSyncImpl.setRepositoryId(dlSync.getRepositoryId()); dlSyncImpl.setParentFolderId(dlSync.getParentFolderId()); dlSyncImpl.setName(dlSync.getName()); dlSyncImpl.setDescription(dlSync.getDescription()); dlSyncImpl.setEvent(dlSync.getEvent()); dlSyncImpl.setType(dlSync.getType()); dlSyncImpl.setVersion(dlSync.getVersion()); return dlSyncImpl; }
/** * Returns an ordered range of all the d l syncs where companyId = ? and modifiedDate > * ? and repositoryId = ?. * * <p>Useful when paginating results. Returns a maximum of <code>end - start</code> instances. * <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result * set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start * </code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} * will return the full result set. If <code>orderByComparator</code> is specified, then the query * will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and * pagination is required (<code>start</code> and <code>end</code> are not {@link * com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default * ORDER BY logic from {@link com.liferay.portlet.documentlibrary.model.impl.DLSyncModelImpl}. If * both <code>orderByComparator</code> 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 modifiedDate the modified date * @param repositoryId the repository ID * @param start the lower bound of the range of d l syncs * @param end the upper bound of the range of d l syncs (not inclusive) * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) * @return the ordered range of matching d l syncs * @throws SystemException if a system exception occurred */ public List<DLSync> findByC_M_R( long companyId, long modifiedDate, long repositoryId, int start, int end, OrderByComparator orderByComparator) throws SystemException { boolean pagination = true; FinderPath finderPath = null; Object[] finderArgs = null; finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_C_M_R; finderArgs = new Object[] { companyId, modifiedDate, repositoryId, start, end, orderByComparator }; List<DLSync> list = (List<DLSync>) FinderCacheUtil.getResult(finderPath, finderArgs, this); if ((list != null) && !list.isEmpty()) { for (DLSync dlSync : list) { if ((companyId != dlSync.getCompanyId()) || (modifiedDate != dlSync.getModifiedDate()) || (repositoryId != dlSync.getRepositoryId())) { list = null; break; } } } if (list == null) { StringBundler query = null; if (orderByComparator != null) { query = new StringBundler(5 + (orderByComparator.getOrderByFields().length * 3)); } else { query = new StringBundler(5); } query.append(_SQL_SELECT_DLSYNC_WHERE); query.append(_FINDER_COLUMN_C_M_R_COMPANYID_2); query.append(_FINDER_COLUMN_C_M_R_MODIFIEDDATE_2); query.append(_FINDER_COLUMN_C_M_R_REPOSITORYID_2); if (orderByComparator != null) { appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator); } else if (pagination) { query.append(DLSyncModelImpl.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(modifiedDate); qPos.add(repositoryId); if (!pagination) { list = (List<DLSync>) QueryUtil.list(q, getDialect(), start, end, false); Collections.sort(list); list = new UnmodifiableList<DLSync>(list); } else { list = (List<DLSync>) QueryUtil.list(q, getDialect(), start, end); } cacheResult(list); FinderCacheUtil.putResult(finderPath, finderArgs, list); } catch (Exception e) { FinderCacheUtil.removeResult(finderPath, finderArgs); throw processException(e); } finally { closeSession(session); } } return list; }