protected UserTrackerPath toUnwrappedModel(UserTrackerPath userTrackerPath) { if (userTrackerPath instanceof UserTrackerPathImpl) { return userTrackerPath; } UserTrackerPathImpl userTrackerPathImpl = new UserTrackerPathImpl(); userTrackerPathImpl.setNew(userTrackerPath.isNew()); userTrackerPathImpl.setPrimaryKey(userTrackerPath.getPrimaryKey()); userTrackerPathImpl.setMvccVersion(userTrackerPath.getMvccVersion()); userTrackerPathImpl.setUserTrackerPathId(userTrackerPath.getUserTrackerPathId()); userTrackerPathImpl.setUserTrackerId(userTrackerPath.getUserTrackerId()); userTrackerPathImpl.setPath(userTrackerPath.getPath()); userTrackerPathImpl.setPathDate(userTrackerPath.getPathDate()); return userTrackerPathImpl; }
/** * Returns an ordered range of all the user tracker paths where userTrackerId = ?. * * <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 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 QueryUtil#ALL_POS}), then the query will include * the default ORDER BY logic from {@link UserTrackerPathModelImpl}. 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 userTrackerId the user tracker ID * @param start the lower bound of the range of user tracker paths * @param end the upper bound of the range of user tracker paths (not inclusive) * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) * @return the ordered range of matching user tracker paths */ @Override public List<UserTrackerPath> findByUserTrackerId( long userTrackerId, int start, int end, OrderByComparator<UserTrackerPath> orderByComparator) { 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_USERTRACKERID; finderArgs = new Object[] {userTrackerId}; } else { finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_USERTRACKERID; finderArgs = new Object[] {userTrackerId, start, end, orderByComparator}; } List<UserTrackerPath> list = (List<UserTrackerPath>) FinderCacheUtil.getResult(finderPath, finderArgs, this); if ((list != null) && !list.isEmpty()) { for (UserTrackerPath userTrackerPath : list) { if ((userTrackerId != userTrackerPath.getUserTrackerId())) { list = null; break; } } } if (list == null) { StringBundler query = null; if (orderByComparator != null) { query = new StringBundler(3 + (orderByComparator.getOrderByFields().length * 3)); } else { query = new StringBundler(3); } query.append(_SQL_SELECT_USERTRACKERPATH_WHERE); query.append(_FINDER_COLUMN_USERTRACKERID_USERTRACKERID_2); if (orderByComparator != null) { appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, orderByComparator); } else if (pagination) { query.append(UserTrackerPathModelImpl.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(userTrackerId); if (!pagination) { list = (List<UserTrackerPath>) QueryUtil.list(q, getDialect(), start, end, false); Collections.sort(list); list = Collections.unmodifiableList(list); } else { list = (List<UserTrackerPath>) 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; }