1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   *
12   * 
13   */
14  
15  package com.liferay.portlet.documentlibrary.service.persistence;
16  
17  import com.liferay.portal.NoSuchModelException;
18  import com.liferay.portal.SystemException;
19  import com.liferay.portal.kernel.annotation.BeanReference;
20  import com.liferay.portal.kernel.cache.CacheRegistry;
21  import com.liferay.portal.kernel.dao.orm.DynamicQuery;
22  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
23  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
24  import com.liferay.portal.kernel.dao.orm.FinderPath;
25  import com.liferay.portal.kernel.dao.orm.Query;
26  import com.liferay.portal.kernel.dao.orm.QueryPos;
27  import com.liferay.portal.kernel.dao.orm.QueryUtil;
28  import com.liferay.portal.kernel.dao.orm.Session;
29  import com.liferay.portal.kernel.log.Log;
30  import com.liferay.portal.kernel.log.LogFactoryUtil;
31  import com.liferay.portal.kernel.util.GetterUtil;
32  import com.liferay.portal.kernel.util.OrderByComparator;
33  import com.liferay.portal.kernel.util.StringBundler;
34  import com.liferay.portal.kernel.util.StringPool;
35  import com.liferay.portal.kernel.util.StringUtil;
36  import com.liferay.portal.kernel.util.Validator;
37  import com.liferay.portal.model.ModelListener;
38  import com.liferay.portal.service.persistence.BatchSessionUtil;
39  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
40  
41  import com.liferay.portlet.documentlibrary.NoSuchFileRankException;
42  import com.liferay.portlet.documentlibrary.model.DLFileRank;
43  import com.liferay.portlet.documentlibrary.model.impl.DLFileRankImpl;
44  import com.liferay.portlet.documentlibrary.model.impl.DLFileRankModelImpl;
45  
46  import java.io.Serializable;
47  
48  import java.util.ArrayList;
49  import java.util.Collections;
50  import java.util.List;
51  
52  /**
53   * <a href="DLFileRankPersistenceImpl.java.html"><b><i>View Source</i></b></a>
54   *
55   * <p>
56   * ServiceBuilder generated this class. Modifications in this class will be
57   * overwritten the next time is generated.
58   * </p>
59   *
60   * @author    Brian Wing Shun Chan
61   * @see       DLFileRankPersistence
62   * @see       DLFileRankUtil
63   * @generated
64   */
65  public class DLFileRankPersistenceImpl extends BasePersistenceImpl<DLFileRank>
66      implements DLFileRankPersistence {
67      public static final String FINDER_CLASS_NAME_ENTITY = DLFileRankImpl.class.getName();
68      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
69          ".List";
70      public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
71              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
72              "findByUserId", new String[] { Long.class.getName() });
73      public static final FinderPath FINDER_PATH_FIND_BY_OBC_USERID = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
74              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
75              "findByUserId",
76              new String[] {
77                  Long.class.getName(),
78                  
79              "java.lang.Integer", "java.lang.Integer",
80                  "com.liferay.portal.kernel.util.OrderByComparator"
81              });
82      public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
83              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
84              "countByUserId", new String[] { Long.class.getName() });
85      public static final FinderPath FINDER_PATH_FIND_BY_G_U = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
86              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
87              "findByG_U",
88              new String[] { Long.class.getName(), Long.class.getName() });
89      public static final FinderPath FINDER_PATH_FIND_BY_OBC_G_U = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
90              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
91              "findByG_U",
92              new String[] {
93                  Long.class.getName(), Long.class.getName(),
94                  
95              "java.lang.Integer", "java.lang.Integer",
96                  "com.liferay.portal.kernel.util.OrderByComparator"
97              });
98      public static final FinderPath FINDER_PATH_COUNT_BY_G_U = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
99              DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
100             "countByG_U",
101             new String[] { Long.class.getName(), Long.class.getName() });
102     public static final FinderPath FINDER_PATH_FIND_BY_F_N = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
103             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
104             "findByF_N",
105             new String[] { Long.class.getName(), String.class.getName() });
106     public static final FinderPath FINDER_PATH_FIND_BY_OBC_F_N = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
107             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
108             "findByF_N",
109             new String[] {
110                 Long.class.getName(), String.class.getName(),
111                 
112             "java.lang.Integer", "java.lang.Integer",
113                 "com.liferay.portal.kernel.util.OrderByComparator"
114             });
115     public static final FinderPath FINDER_PATH_COUNT_BY_F_N = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
116             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
117             "countByF_N",
118             new String[] { Long.class.getName(), String.class.getName() });
119     public static final FinderPath FINDER_PATH_FETCH_BY_C_U_F_N = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
120             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
121             "fetchByC_U_F_N",
122             new String[] {
123                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
124                 String.class.getName()
125             });
126     public static final FinderPath FINDER_PATH_COUNT_BY_C_U_F_N = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
127             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
128             "countByC_U_F_N",
129             new String[] {
130                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
131                 String.class.getName()
132             });
133     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
134             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
135             "findAll", new String[0]);
136     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
137             DLFileRankModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
138             "countAll", new String[0]);
139 
140     public void cacheResult(DLFileRank dlFileRank) {
141         EntityCacheUtil.putResult(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
142             DLFileRankImpl.class, dlFileRank.getPrimaryKey(), dlFileRank);
143 
144         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_U_F_N,
145             new Object[] {
146                 new Long(dlFileRank.getCompanyId()),
147                 new Long(dlFileRank.getUserId()),
148                 new Long(dlFileRank.getFolderId()),
149                 
150             dlFileRank.getName()
151             }, dlFileRank);
152     }
153 
154     public void cacheResult(List<DLFileRank> dlFileRanks) {
155         for (DLFileRank dlFileRank : dlFileRanks) {
156             if (EntityCacheUtil.getResult(
157                         DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
158                         DLFileRankImpl.class, dlFileRank.getPrimaryKey(), this) == null) {
159                 cacheResult(dlFileRank);
160             }
161         }
162     }
163 
164     public void clearCache() {
165         CacheRegistry.clear(DLFileRankImpl.class.getName());
166         EntityCacheUtil.clearCache(DLFileRankImpl.class.getName());
167         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
168         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
169     }
170 
171     public DLFileRank create(long fileRankId) {
172         DLFileRank dlFileRank = new DLFileRankImpl();
173 
174         dlFileRank.setNew(true);
175         dlFileRank.setPrimaryKey(fileRankId);
176 
177         return dlFileRank;
178     }
179 
180     public DLFileRank remove(Serializable primaryKey)
181         throws NoSuchModelException, SystemException {
182         return remove(((Long)primaryKey).longValue());
183     }
184 
185     public DLFileRank remove(long fileRankId)
186         throws NoSuchFileRankException, SystemException {
187         Session session = null;
188 
189         try {
190             session = openSession();
191 
192             DLFileRank dlFileRank = (DLFileRank)session.get(DLFileRankImpl.class,
193                     new Long(fileRankId));
194 
195             if (dlFileRank == null) {
196                 if (_log.isWarnEnabled()) {
197                     _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + fileRankId);
198                 }
199 
200                 throw new NoSuchFileRankException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
201                     fileRankId);
202             }
203 
204             return remove(dlFileRank);
205         }
206         catch (NoSuchFileRankException nsee) {
207             throw nsee;
208         }
209         catch (Exception e) {
210             throw processException(e);
211         }
212         finally {
213             closeSession(session);
214         }
215     }
216 
217     public DLFileRank remove(DLFileRank dlFileRank) throws SystemException {
218         for (ModelListener<DLFileRank> listener : listeners) {
219             listener.onBeforeRemove(dlFileRank);
220         }
221 
222         dlFileRank = removeImpl(dlFileRank);
223 
224         for (ModelListener<DLFileRank> listener : listeners) {
225             listener.onAfterRemove(dlFileRank);
226         }
227 
228         return dlFileRank;
229     }
230 
231     protected DLFileRank removeImpl(DLFileRank dlFileRank)
232         throws SystemException {
233         dlFileRank = toUnwrappedModel(dlFileRank);
234 
235         Session session = null;
236 
237         try {
238             session = openSession();
239 
240             if (dlFileRank.isCachedModel() || BatchSessionUtil.isEnabled()) {
241                 Object staleObject = session.get(DLFileRankImpl.class,
242                         dlFileRank.getPrimaryKeyObj());
243 
244                 if (staleObject != null) {
245                     session.evict(staleObject);
246                 }
247             }
248 
249             session.delete(dlFileRank);
250 
251             session.flush();
252         }
253         catch (Exception e) {
254             throw processException(e);
255         }
256         finally {
257             closeSession(session);
258         }
259 
260         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
261 
262         DLFileRankModelImpl dlFileRankModelImpl = (DLFileRankModelImpl)dlFileRank;
263 
264         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_U_F_N,
265             new Object[] {
266                 new Long(dlFileRankModelImpl.getOriginalCompanyId()),
267                 new Long(dlFileRankModelImpl.getOriginalUserId()),
268                 new Long(dlFileRankModelImpl.getOriginalFolderId()),
269                 
270             dlFileRankModelImpl.getOriginalName()
271             });
272 
273         EntityCacheUtil.removeResult(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
274             DLFileRankImpl.class, dlFileRank.getPrimaryKey());
275 
276         return dlFileRank;
277     }
278 
279     /**
280      * @deprecated Use {@link BasePersistence#update(com.liferay.portal.model.BaseModel, boolean)}.
281      */
282     public DLFileRank update(DLFileRank dlFileRank) throws SystemException {
283         if (_log.isWarnEnabled()) {
284             _log.warn(
285                 "Using the deprecated update(DLFileRank dlFileRank) method. Use update(DLFileRank dlFileRank, boolean merge) instead.");
286         }
287 
288         return update(dlFileRank, false);
289     }
290 
291     public DLFileRank updateImpl(
292         com.liferay.portlet.documentlibrary.model.DLFileRank dlFileRank,
293         boolean merge) throws SystemException {
294         dlFileRank = toUnwrappedModel(dlFileRank);
295 
296         boolean isNew = dlFileRank.isNew();
297 
298         DLFileRankModelImpl dlFileRankModelImpl = (DLFileRankModelImpl)dlFileRank;
299 
300         Session session = null;
301 
302         try {
303             session = openSession();
304 
305             BatchSessionUtil.update(session, dlFileRank, merge);
306 
307             dlFileRank.setNew(false);
308         }
309         catch (Exception e) {
310             throw processException(e);
311         }
312         finally {
313             closeSession(session);
314         }
315 
316         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
317 
318         EntityCacheUtil.putResult(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
319             DLFileRankImpl.class, dlFileRank.getPrimaryKey(), dlFileRank);
320 
321         if (!isNew &&
322                 ((dlFileRank.getCompanyId() != dlFileRankModelImpl.getOriginalCompanyId()) ||
323                 (dlFileRank.getUserId() != dlFileRankModelImpl.getOriginalUserId()) ||
324                 (dlFileRank.getFolderId() != dlFileRankModelImpl.getOriginalFolderId()) ||
325                 !Validator.equals(dlFileRank.getName(),
326                     dlFileRankModelImpl.getOriginalName()))) {
327             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_U_F_N,
328                 new Object[] {
329                     new Long(dlFileRankModelImpl.getOriginalCompanyId()),
330                     new Long(dlFileRankModelImpl.getOriginalUserId()),
331                     new Long(dlFileRankModelImpl.getOriginalFolderId()),
332                     
333                 dlFileRankModelImpl.getOriginalName()
334                 });
335         }
336 
337         if (isNew ||
338                 ((dlFileRank.getCompanyId() != dlFileRankModelImpl.getOriginalCompanyId()) ||
339                 (dlFileRank.getUserId() != dlFileRankModelImpl.getOriginalUserId()) ||
340                 (dlFileRank.getFolderId() != dlFileRankModelImpl.getOriginalFolderId()) ||
341                 !Validator.equals(dlFileRank.getName(),
342                     dlFileRankModelImpl.getOriginalName()))) {
343             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_U_F_N,
344                 new Object[] {
345                     new Long(dlFileRank.getCompanyId()),
346                     new Long(dlFileRank.getUserId()),
347                     new Long(dlFileRank.getFolderId()),
348                     
349                 dlFileRank.getName()
350                 }, dlFileRank);
351         }
352 
353         return dlFileRank;
354     }
355 
356     protected DLFileRank toUnwrappedModel(DLFileRank dlFileRank) {
357         if (dlFileRank instanceof DLFileRankImpl) {
358             return dlFileRank;
359         }
360 
361         DLFileRankImpl dlFileRankImpl = new DLFileRankImpl();
362 
363         dlFileRankImpl.setNew(dlFileRank.isNew());
364         dlFileRankImpl.setPrimaryKey(dlFileRank.getPrimaryKey());
365 
366         dlFileRankImpl.setFileRankId(dlFileRank.getFileRankId());
367         dlFileRankImpl.setGroupId(dlFileRank.getGroupId());
368         dlFileRankImpl.setCompanyId(dlFileRank.getCompanyId());
369         dlFileRankImpl.setUserId(dlFileRank.getUserId());
370         dlFileRankImpl.setCreateDate(dlFileRank.getCreateDate());
371         dlFileRankImpl.setFolderId(dlFileRank.getFolderId());
372         dlFileRankImpl.setName(dlFileRank.getName());
373 
374         return dlFileRankImpl;
375     }
376 
377     public DLFileRank findByPrimaryKey(Serializable primaryKey)
378         throws NoSuchModelException, SystemException {
379         return findByPrimaryKey(((Long)primaryKey).longValue());
380     }
381 
382     public DLFileRank findByPrimaryKey(long fileRankId)
383         throws NoSuchFileRankException, SystemException {
384         DLFileRank dlFileRank = fetchByPrimaryKey(fileRankId);
385 
386         if (dlFileRank == null) {
387             if (_log.isWarnEnabled()) {
388                 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + fileRankId);
389             }
390 
391             throw new NoSuchFileRankException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
392                 fileRankId);
393         }
394 
395         return dlFileRank;
396     }
397 
398     public DLFileRank fetchByPrimaryKey(Serializable primaryKey)
399         throws SystemException {
400         return fetchByPrimaryKey(((Long)primaryKey).longValue());
401     }
402 
403     public DLFileRank fetchByPrimaryKey(long fileRankId)
404         throws SystemException {
405         DLFileRank dlFileRank = (DLFileRank)EntityCacheUtil.getResult(DLFileRankModelImpl.ENTITY_CACHE_ENABLED,
406                 DLFileRankImpl.class, fileRankId, this);
407 
408         if (dlFileRank == null) {
409             Session session = null;
410 
411             try {
412                 session = openSession();
413 
414                 dlFileRank = (DLFileRank)session.get(DLFileRankImpl.class,
415                         new Long(fileRankId));
416             }
417             catch (Exception e) {
418                 throw processException(e);
419             }
420             finally {
421                 if (dlFileRank != null) {
422                     cacheResult(dlFileRank);
423                 }
424 
425                 closeSession(session);
426             }
427         }
428 
429         return dlFileRank;
430     }
431 
432     public List<DLFileRank> findByUserId(long userId) throws SystemException {
433         Object[] finderArgs = new Object[] { new Long(userId) };
434 
435         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
436                 finderArgs, this);
437 
438         if (list == null) {
439             Session session = null;
440 
441             try {
442                 session = openSession();
443 
444                 StringBundler query = new StringBundler(3);
445 
446                 query.append(_SQL_SELECT_DLFILERANK_WHERE);
447 
448                 query.append(_FINDER_COLUMN_USERID_USERID_2);
449 
450                 query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
451 
452                 String sql = query.toString();
453 
454                 Query q = session.createQuery(sql);
455 
456                 QueryPos qPos = QueryPos.getInstance(q);
457 
458                 qPos.add(userId);
459 
460                 list = q.list();
461             }
462             catch (Exception e) {
463                 throw processException(e);
464             }
465             finally {
466                 if (list == null) {
467                     list = new ArrayList<DLFileRank>();
468                 }
469 
470                 cacheResult(list);
471 
472                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
473                     finderArgs, list);
474 
475                 closeSession(session);
476             }
477         }
478 
479         return list;
480     }
481 
482     public List<DLFileRank> findByUserId(long userId, int start, int end)
483         throws SystemException {
484         return findByUserId(userId, start, end, null);
485     }
486 
487     public List<DLFileRank> findByUserId(long userId, int start, int end,
488         OrderByComparator obc) throws SystemException {
489         Object[] finderArgs = new Object[] {
490                 new Long(userId),
491                 
492                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
493             };
494 
495         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_USERID,
496                 finderArgs, this);
497 
498         if (list == null) {
499             Session session = null;
500 
501             try {
502                 session = openSession();
503 
504                 StringBundler query = null;
505 
506                 if (obc != null) {
507                     query = new StringBundler(3 +
508                             (obc.getOrderByFields().length * 3));
509                 }
510                 else {
511                     query = new StringBundler(3);
512                 }
513 
514                 query.append(_SQL_SELECT_DLFILERANK_WHERE);
515 
516                 query.append(_FINDER_COLUMN_USERID_USERID_2);
517 
518                 if (obc != null) {
519                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
520                 }
521 
522                 else {
523                     query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
524                 }
525 
526                 String sql = query.toString();
527 
528                 Query q = session.createQuery(sql);
529 
530                 QueryPos qPos = QueryPos.getInstance(q);
531 
532                 qPos.add(userId);
533 
534                 list = (List<DLFileRank>)QueryUtil.list(q, getDialect(), start,
535                         end);
536             }
537             catch (Exception e) {
538                 throw processException(e);
539             }
540             finally {
541                 if (list == null) {
542                     list = new ArrayList<DLFileRank>();
543                 }
544 
545                 cacheResult(list);
546 
547                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_USERID,
548                     finderArgs, list);
549 
550                 closeSession(session);
551             }
552         }
553 
554         return list;
555     }
556 
557     public DLFileRank findByUserId_First(long userId, OrderByComparator obc)
558         throws NoSuchFileRankException, SystemException {
559         List<DLFileRank> list = findByUserId(userId, 0, 1, obc);
560 
561         if (list.isEmpty()) {
562             StringBundler msg = new StringBundler(4);
563 
564             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
565 
566             msg.append("userId=");
567             msg.append(userId);
568 
569             msg.append(StringPool.CLOSE_CURLY_BRACE);
570 
571             throw new NoSuchFileRankException(msg.toString());
572         }
573         else {
574             return list.get(0);
575         }
576     }
577 
578     public DLFileRank findByUserId_Last(long userId, OrderByComparator obc)
579         throws NoSuchFileRankException, SystemException {
580         int count = countByUserId(userId);
581 
582         List<DLFileRank> list = findByUserId(userId, count - 1, count, obc);
583 
584         if (list.isEmpty()) {
585             StringBundler msg = new StringBundler(4);
586 
587             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
588 
589             msg.append("userId=");
590             msg.append(userId);
591 
592             msg.append(StringPool.CLOSE_CURLY_BRACE);
593 
594             throw new NoSuchFileRankException(msg.toString());
595         }
596         else {
597             return list.get(0);
598         }
599     }
600 
601     public DLFileRank[] findByUserId_PrevAndNext(long fileRankId, long userId,
602         OrderByComparator obc) throws NoSuchFileRankException, SystemException {
603         DLFileRank dlFileRank = findByPrimaryKey(fileRankId);
604 
605         int count = countByUserId(userId);
606 
607         Session session = null;
608 
609         try {
610             session = openSession();
611 
612             StringBundler query = null;
613 
614             if (obc != null) {
615                 query = new StringBundler(3 +
616                         (obc.getOrderByFields().length * 3));
617             }
618             else {
619                 query = new StringBundler(3);
620             }
621 
622             query.append(_SQL_SELECT_DLFILERANK_WHERE);
623 
624             query.append(_FINDER_COLUMN_USERID_USERID_2);
625 
626             if (obc != null) {
627                 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
628             }
629 
630             else {
631                 query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
632             }
633 
634             String sql = query.toString();
635 
636             Query q = session.createQuery(sql);
637 
638             QueryPos qPos = QueryPos.getInstance(q);
639 
640             qPos.add(userId);
641 
642             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
643                     dlFileRank);
644 
645             DLFileRank[] array = new DLFileRankImpl[3];
646 
647             array[0] = (DLFileRank)objArray[0];
648             array[1] = (DLFileRank)objArray[1];
649             array[2] = (DLFileRank)objArray[2];
650 
651             return array;
652         }
653         catch (Exception e) {
654             throw processException(e);
655         }
656         finally {
657             closeSession(session);
658         }
659     }
660 
661     public List<DLFileRank> findByG_U(long groupId, long userId)
662         throws SystemException {
663         Object[] finderArgs = new Object[] { new Long(groupId), new Long(userId) };
664 
665         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_G_U,
666                 finderArgs, this);
667 
668         if (list == null) {
669             Session session = null;
670 
671             try {
672                 session = openSession();
673 
674                 StringBundler query = new StringBundler(4);
675 
676                 query.append(_SQL_SELECT_DLFILERANK_WHERE);
677 
678                 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
679 
680                 query.append(_FINDER_COLUMN_G_U_USERID_2);
681 
682                 query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
683 
684                 String sql = query.toString();
685 
686                 Query q = session.createQuery(sql);
687 
688                 QueryPos qPos = QueryPos.getInstance(q);
689 
690                 qPos.add(groupId);
691 
692                 qPos.add(userId);
693 
694                 list = q.list();
695             }
696             catch (Exception e) {
697                 throw processException(e);
698             }
699             finally {
700                 if (list == null) {
701                     list = new ArrayList<DLFileRank>();
702                 }
703 
704                 cacheResult(list);
705 
706                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_G_U, finderArgs,
707                     list);
708 
709                 closeSession(session);
710             }
711         }
712 
713         return list;
714     }
715 
716     public List<DLFileRank> findByG_U(long groupId, long userId, int start,
717         int end) throws SystemException {
718         return findByG_U(groupId, userId, start, end, null);
719     }
720 
721     public List<DLFileRank> findByG_U(long groupId, long userId, int start,
722         int end, OrderByComparator obc) throws SystemException {
723         Object[] finderArgs = new Object[] {
724                 new Long(groupId), new Long(userId),
725                 
726                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
727             };
728 
729         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_G_U,
730                 finderArgs, this);
731 
732         if (list == null) {
733             Session session = null;
734 
735             try {
736                 session = openSession();
737 
738                 StringBundler query = null;
739 
740                 if (obc != null) {
741                     query = new StringBundler(4 +
742                             (obc.getOrderByFields().length * 3));
743                 }
744                 else {
745                     query = new StringBundler(4);
746                 }
747 
748                 query.append(_SQL_SELECT_DLFILERANK_WHERE);
749 
750                 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
751 
752                 query.append(_FINDER_COLUMN_G_U_USERID_2);
753 
754                 if (obc != null) {
755                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
756                 }
757 
758                 else {
759                     query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
760                 }
761 
762                 String sql = query.toString();
763 
764                 Query q = session.createQuery(sql);
765 
766                 QueryPos qPos = QueryPos.getInstance(q);
767 
768                 qPos.add(groupId);
769 
770                 qPos.add(userId);
771 
772                 list = (List<DLFileRank>)QueryUtil.list(q, getDialect(), start,
773                         end);
774             }
775             catch (Exception e) {
776                 throw processException(e);
777             }
778             finally {
779                 if (list == null) {
780                     list = new ArrayList<DLFileRank>();
781                 }
782 
783                 cacheResult(list);
784 
785                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_G_U,
786                     finderArgs, list);
787 
788                 closeSession(session);
789             }
790         }
791 
792         return list;
793     }
794 
795     public DLFileRank findByG_U_First(long groupId, long userId,
796         OrderByComparator obc) throws NoSuchFileRankException, SystemException {
797         List<DLFileRank> list = findByG_U(groupId, userId, 0, 1, obc);
798 
799         if (list.isEmpty()) {
800             StringBundler msg = new StringBundler(6);
801 
802             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
803 
804             msg.append("groupId=");
805             msg.append(groupId);
806 
807             msg.append(", userId=");
808             msg.append(userId);
809 
810             msg.append(StringPool.CLOSE_CURLY_BRACE);
811 
812             throw new NoSuchFileRankException(msg.toString());
813         }
814         else {
815             return list.get(0);
816         }
817     }
818 
819     public DLFileRank findByG_U_Last(long groupId, long userId,
820         OrderByComparator obc) throws NoSuchFileRankException, SystemException {
821         int count = countByG_U(groupId, userId);
822 
823         List<DLFileRank> list = findByG_U(groupId, userId, count - 1, count, obc);
824 
825         if (list.isEmpty()) {
826             StringBundler msg = new StringBundler(6);
827 
828             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
829 
830             msg.append("groupId=");
831             msg.append(groupId);
832 
833             msg.append(", userId=");
834             msg.append(userId);
835 
836             msg.append(StringPool.CLOSE_CURLY_BRACE);
837 
838             throw new NoSuchFileRankException(msg.toString());
839         }
840         else {
841             return list.get(0);
842         }
843     }
844 
845     public DLFileRank[] findByG_U_PrevAndNext(long fileRankId, long groupId,
846         long userId, OrderByComparator obc)
847         throws NoSuchFileRankException, SystemException {
848         DLFileRank dlFileRank = findByPrimaryKey(fileRankId);
849 
850         int count = countByG_U(groupId, userId);
851 
852         Session session = null;
853 
854         try {
855             session = openSession();
856 
857             StringBundler query = null;
858 
859             if (obc != null) {
860                 query = new StringBundler(4 +
861                         (obc.getOrderByFields().length * 3));
862             }
863             else {
864                 query = new StringBundler(4);
865             }
866 
867             query.append(_SQL_SELECT_DLFILERANK_WHERE);
868 
869             query.append(_FINDER_COLUMN_G_U_GROUPID_2);
870 
871             query.append(_FINDER_COLUMN_G_U_USERID_2);
872 
873             if (obc != null) {
874                 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
875             }
876 
877             else {
878                 query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
879             }
880 
881             String sql = query.toString();
882 
883             Query q = session.createQuery(sql);
884 
885             QueryPos qPos = QueryPos.getInstance(q);
886 
887             qPos.add(groupId);
888 
889             qPos.add(userId);
890 
891             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
892                     dlFileRank);
893 
894             DLFileRank[] array = new DLFileRankImpl[3];
895 
896             array[0] = (DLFileRank)objArray[0];
897             array[1] = (DLFileRank)objArray[1];
898             array[2] = (DLFileRank)objArray[2];
899 
900             return array;
901         }
902         catch (Exception e) {
903             throw processException(e);
904         }
905         finally {
906             closeSession(session);
907         }
908     }
909 
910     public List<DLFileRank> findByF_N(long folderId, String name)
911         throws SystemException {
912         Object[] finderArgs = new Object[] { new Long(folderId), name };
913 
914         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_F_N,
915                 finderArgs, this);
916 
917         if (list == null) {
918             Session session = null;
919 
920             try {
921                 session = openSession();
922 
923                 StringBundler query = new StringBundler(4);
924 
925                 query.append(_SQL_SELECT_DLFILERANK_WHERE);
926 
927                 query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
928 
929                 if (name == null) {
930                     query.append(_FINDER_COLUMN_F_N_NAME_1);
931                 }
932                 else {
933                     if (name.equals(StringPool.BLANK)) {
934                         query.append(_FINDER_COLUMN_F_N_NAME_3);
935                     }
936                     else {
937                         query.append(_FINDER_COLUMN_F_N_NAME_2);
938                     }
939                 }
940 
941                 query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
942 
943                 String sql = query.toString();
944 
945                 Query q = session.createQuery(sql);
946 
947                 QueryPos qPos = QueryPos.getInstance(q);
948 
949                 qPos.add(folderId);
950 
951                 if (name != null) {
952                     qPos.add(name);
953                 }
954 
955                 list = q.list();
956             }
957             catch (Exception e) {
958                 throw processException(e);
959             }
960             finally {
961                 if (list == null) {
962                     list = new ArrayList<DLFileRank>();
963                 }
964 
965                 cacheResult(list);
966 
967                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_F_N, finderArgs,
968                     list);
969 
970                 closeSession(session);
971             }
972         }
973 
974         return list;
975     }
976 
977     public List<DLFileRank> findByF_N(long folderId, String name, int start,
978         int end) throws SystemException {
979         return findByF_N(folderId, name, start, end, null);
980     }
981 
982     public List<DLFileRank> findByF_N(long folderId, String name, int start,
983         int end, OrderByComparator obc) throws SystemException {
984         Object[] finderArgs = new Object[] {
985                 new Long(folderId),
986                 
987                 name,
988                 
989                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
990             };
991 
992         List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_F_N,
993                 finderArgs, this);
994 
995         if (list == null) {
996             Session session = null;
997 
998             try {
999                 session = openSession();
1000
1001                StringBundler query = null;
1002
1003                if (obc != null) {
1004                    query = new StringBundler(4 +
1005                            (obc.getOrderByFields().length * 3));
1006                }
1007                else {
1008                    query = new StringBundler(4);
1009                }
1010
1011                query.append(_SQL_SELECT_DLFILERANK_WHERE);
1012
1013                query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
1014
1015                if (name == null) {
1016                    query.append(_FINDER_COLUMN_F_N_NAME_1);
1017                }
1018                else {
1019                    if (name.equals(StringPool.BLANK)) {
1020                        query.append(_FINDER_COLUMN_F_N_NAME_3);
1021                    }
1022                    else {
1023                        query.append(_FINDER_COLUMN_F_N_NAME_2);
1024                    }
1025                }
1026
1027                if (obc != null) {
1028                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1029                }
1030
1031                else {
1032                    query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
1033                }
1034
1035                String sql = query.toString();
1036
1037                Query q = session.createQuery(sql);
1038
1039                QueryPos qPos = QueryPos.getInstance(q);
1040
1041                qPos.add(folderId);
1042
1043                if (name != null) {
1044                    qPos.add(name);
1045                }
1046
1047                list = (List<DLFileRank>)QueryUtil.list(q, getDialect(), start,
1048                        end);
1049            }
1050            catch (Exception e) {
1051                throw processException(e);
1052            }
1053            finally {
1054                if (list == null) {
1055                    list = new ArrayList<DLFileRank>();
1056                }
1057
1058                cacheResult(list);
1059
1060                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_F_N,
1061                    finderArgs, list);
1062
1063                closeSession(session);
1064            }
1065        }
1066
1067        return list;
1068    }
1069
1070    public DLFileRank findByF_N_First(long folderId, String name,
1071        OrderByComparator obc) throws NoSuchFileRankException, SystemException {
1072        List<DLFileRank> list = findByF_N(folderId, name, 0, 1, obc);
1073
1074        if (list.isEmpty()) {
1075            StringBundler msg = new StringBundler(6);
1076
1077            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1078
1079            msg.append("folderId=");
1080            msg.append(folderId);
1081
1082            msg.append(", name=");
1083            msg.append(name);
1084
1085            msg.append(StringPool.CLOSE_CURLY_BRACE);
1086
1087            throw new NoSuchFileRankException(msg.toString());
1088        }
1089        else {
1090            return list.get(0);
1091        }
1092    }
1093
1094    public DLFileRank findByF_N_Last(long folderId, String name,
1095        OrderByComparator obc) throws NoSuchFileRankException, SystemException {
1096        int count = countByF_N(folderId, name);
1097
1098        List<DLFileRank> list = findByF_N(folderId, name, count - 1, count, obc);
1099
1100        if (list.isEmpty()) {
1101            StringBundler msg = new StringBundler(6);
1102
1103            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1104
1105            msg.append("folderId=");
1106            msg.append(folderId);
1107
1108            msg.append(", name=");
1109            msg.append(name);
1110
1111            msg.append(StringPool.CLOSE_CURLY_BRACE);
1112
1113            throw new NoSuchFileRankException(msg.toString());
1114        }
1115        else {
1116            return list.get(0);
1117        }
1118    }
1119
1120    public DLFileRank[] findByF_N_PrevAndNext(long fileRankId, long folderId,
1121        String name, OrderByComparator obc)
1122        throws NoSuchFileRankException, SystemException {
1123        DLFileRank dlFileRank = findByPrimaryKey(fileRankId);
1124
1125        int count = countByF_N(folderId, name);
1126
1127        Session session = null;
1128
1129        try {
1130            session = openSession();
1131
1132            StringBundler query = null;
1133
1134            if (obc != null) {
1135                query = new StringBundler(4 +
1136                        (obc.getOrderByFields().length * 3));
1137            }
1138            else {
1139                query = new StringBundler(4);
1140            }
1141
1142            query.append(_SQL_SELECT_DLFILERANK_WHERE);
1143
1144            query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
1145
1146            if (name == null) {
1147                query.append(_FINDER_COLUMN_F_N_NAME_1);
1148            }
1149            else {
1150                if (name.equals(StringPool.BLANK)) {
1151                    query.append(_FINDER_COLUMN_F_N_NAME_3);
1152                }
1153                else {
1154                    query.append(_FINDER_COLUMN_F_N_NAME_2);
1155                }
1156            }
1157
1158            if (obc != null) {
1159                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1160            }
1161
1162            else {
1163                query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
1164            }
1165
1166            String sql = query.toString();
1167
1168            Query q = session.createQuery(sql);
1169
1170            QueryPos qPos = QueryPos.getInstance(q);
1171
1172            qPos.add(folderId);
1173
1174            if (name != null) {
1175                qPos.add(name);
1176            }
1177
1178            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1179                    dlFileRank);
1180
1181            DLFileRank[] array = new DLFileRankImpl[3];
1182
1183            array[0] = (DLFileRank)objArray[0];
1184            array[1] = (DLFileRank)objArray[1];
1185            array[2] = (DLFileRank)objArray[2];
1186
1187            return array;
1188        }
1189        catch (Exception e) {
1190            throw processException(e);
1191        }
1192        finally {
1193            closeSession(session);
1194        }
1195    }
1196
1197    public DLFileRank findByC_U_F_N(long companyId, long userId, long folderId,
1198        String name) throws NoSuchFileRankException, SystemException {
1199        DLFileRank dlFileRank = fetchByC_U_F_N(companyId, userId, folderId, name);
1200
1201        if (dlFileRank == null) {
1202            StringBundler msg = new StringBundler(10);
1203
1204            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1205
1206            msg.append("companyId=");
1207            msg.append(companyId);
1208
1209            msg.append(", userId=");
1210            msg.append(userId);
1211
1212            msg.append(", folderId=");
1213            msg.append(folderId);
1214
1215            msg.append(", name=");
1216            msg.append(name);
1217
1218            msg.append(StringPool.CLOSE_CURLY_BRACE);
1219
1220            if (_log.isWarnEnabled()) {
1221                _log.warn(msg.toString());
1222            }
1223
1224            throw new NoSuchFileRankException(msg.toString());
1225        }
1226
1227        return dlFileRank;
1228    }
1229
1230    public DLFileRank fetchByC_U_F_N(long companyId, long userId,
1231        long folderId, String name) throws SystemException {
1232        return fetchByC_U_F_N(companyId, userId, folderId, name, true);
1233    }
1234
1235    public DLFileRank fetchByC_U_F_N(long companyId, long userId,
1236        long folderId, String name, boolean retrieveFromCache)
1237        throws SystemException {
1238        Object[] finderArgs = new Object[] {
1239                new Long(companyId), new Long(userId), new Long(folderId),
1240                
1241                name
1242            };
1243
1244        Object result = null;
1245
1246        if (retrieveFromCache) {
1247            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_U_F_N,
1248                    finderArgs, this);
1249        }
1250
1251        if (result == null) {
1252            Session session = null;
1253
1254            try {
1255                session = openSession();
1256
1257                StringBundler query = new StringBundler(6);
1258
1259                query.append(_SQL_SELECT_DLFILERANK_WHERE);
1260
1261                query.append(_FINDER_COLUMN_C_U_F_N_COMPANYID_2);
1262
1263                query.append(_FINDER_COLUMN_C_U_F_N_USERID_2);
1264
1265                query.append(_FINDER_COLUMN_C_U_F_N_FOLDERID_2);
1266
1267                if (name == null) {
1268                    query.append(_FINDER_COLUMN_C_U_F_N_NAME_1);
1269                }
1270                else {
1271                    if (name.equals(StringPool.BLANK)) {
1272                        query.append(_FINDER_COLUMN_C_U_F_N_NAME_3);
1273                    }
1274                    else {
1275                        query.append(_FINDER_COLUMN_C_U_F_N_NAME_2);
1276                    }
1277                }
1278
1279                query.append(DLFileRankModelImpl.ORDER_BY_JPQL);
1280
1281                String sql = query.toString();
1282
1283                Query q = session.createQuery(sql);
1284
1285                QueryPos qPos = QueryPos.getInstance(q);
1286
1287                qPos.add(companyId);
1288
1289                qPos.add(userId);
1290
1291                qPos.add(folderId);
1292
1293                if (name != null) {
1294                    qPos.add(name);
1295                }
1296
1297                List<DLFileRank> list = q.list();
1298
1299                result = list;
1300
1301                DLFileRank dlFileRank = null;
1302
1303                if (list.isEmpty()) {
1304                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_U_F_N,
1305                        finderArgs, list);
1306                }
1307                else {
1308                    dlFileRank = list.get(0);
1309
1310                    cacheResult(dlFileRank);
1311
1312                    if ((dlFileRank.getCompanyId() != companyId) ||
1313                            (dlFileRank.getUserId() != userId) ||
1314                            (dlFileRank.getFolderId() != folderId) ||
1315                            (dlFileRank.getName() == null) ||
1316                            !dlFileRank.getName().equals(name)) {
1317                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_U_F_N,
1318                            finderArgs, dlFileRank);
1319                    }
1320                }
1321
1322                return dlFileRank;
1323            }
1324            catch (Exception e) {
1325                throw processException(e);
1326            }
1327            finally {
1328                if (result == null) {
1329                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_U_F_N,
1330                        finderArgs, new ArrayList<DLFileRank>());
1331                }
1332
1333                closeSession(session);
1334            }
1335        }
1336        else {
1337            if (result instanceof List<?>) {
1338                return null;
1339            }
1340            else {
1341                return (DLFileRank)result;
1342            }
1343        }
1344    }
1345
1346    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1347        throws SystemException {
1348        Session session = null;
1349
1350        try {
1351            session = openSession();
1352
1353            dynamicQuery.compile(session);
1354
1355            return dynamicQuery.list();
1356        }
1357        catch (Exception e) {
1358            throw processException(e);
1359        }
1360        finally {
1361            closeSession(session);
1362        }
1363    }
1364
1365    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1366        int start, int end) throws SystemException {
1367        Session session = null;
1368
1369        try {
1370            session = openSession();
1371
1372            dynamicQuery.setLimit(start, end);
1373
1374            dynamicQuery.compile(session);
1375
1376            return dynamicQuery.list();
1377        }
1378        catch (Exception e) {
1379            throw processException(e);
1380        }
1381        finally {
1382            closeSession(session);
1383        }
1384    }
1385
1386    public List<DLFileRank> findAll() throws SystemException {
1387        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1388    }
1389
1390    public List<DLFileRank> findAll(int start, int end)
1391        throws SystemException {
1392        return findAll(start, end, null);
1393    }
1394
1395    public List<DLFileRank> findAll(int start, int end, OrderByComparator obc)
1396        throws SystemException {
1397        Object[] finderArgs = new Object[] {
1398                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1399            };
1400
1401        List<DLFileRank> list = (List<DLFileRank>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1402                finderArgs, this);
1403
1404        if (list == null) {
1405            Session session = null;
1406
1407            try {
1408                session = openSession();
1409
1410                StringBundler query = null;
1411                String sql = null;
1412
1413                if (obc != null) {
1414                    query = new StringBundler(2 +
1415                            (obc.getOrderByFields().length * 3));
1416
1417                    query.append(_SQL_SELECT_DLFILERANK);
1418
1419                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1420
1421                    sql = query.toString();
1422                }
1423
1424                else {
1425                    sql = _SQL_SELECT_DLFILERANK.concat(DLFileRankModelImpl.ORDER_BY_JPQL);
1426                }
1427
1428                Query q = session.createQuery(sql);
1429
1430                if (obc == null) {
1431                    list = (List<DLFileRank>)QueryUtil.list(q, getDialect(),
1432                            start, end, false);
1433
1434                    Collections.sort(list);
1435                }
1436                else {
1437                    list = (List<DLFileRank>)QueryUtil.list(q, getDialect(),
1438                            start, end);
1439                }
1440            }
1441            catch (Exception e) {
1442                throw processException(e);
1443            }
1444            finally {
1445                if (list == null) {
1446                    list = new ArrayList<DLFileRank>();
1447                }
1448
1449                cacheResult(list);
1450
1451                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1452
1453                closeSession(session);
1454            }
1455        }
1456
1457        return list;
1458    }
1459
1460    public void removeByUserId(long userId) throws SystemException {
1461        for (DLFileRank dlFileRank : findByUserId(userId)) {
1462            remove(dlFileRank);
1463        }
1464    }
1465
1466    public void removeByG_U(long groupId, long userId)
1467        throws SystemException {
1468        for (DLFileRank dlFileRank : findByG_U(groupId, userId)) {
1469            remove(dlFileRank);
1470        }
1471    }
1472
1473    public void removeByF_N(long folderId, String name)
1474        throws SystemException {
1475        for (DLFileRank dlFileRank : findByF_N(folderId, name)) {
1476            remove(dlFileRank);
1477        }
1478    }
1479
1480    public void removeByC_U_F_N(long companyId, long userId, long folderId,
1481        String name) throws NoSuchFileRankException, SystemException {
1482        DLFileRank dlFileRank = findByC_U_F_N(companyId, userId, folderId, name);
1483
1484        remove(dlFileRank);
1485    }
1486
1487    public void removeAll() throws SystemException {
1488        for (DLFileRank dlFileRank : findAll()) {
1489            remove(dlFileRank);
1490        }
1491    }
1492
1493    public int countByUserId(long userId) throws SystemException {
1494        Object[] finderArgs = new Object[] { new Long(userId) };
1495
1496        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
1497                finderArgs, this);
1498
1499        if (count == null) {
1500            Session session = null;
1501
1502            try {
1503                session = openSession();
1504
1505                StringBundler query = new StringBundler(2);
1506
1507                query.append(_SQL_COUNT_DLFILERANK_WHERE);
1508
1509                query.append(_FINDER_COLUMN_USERID_USERID_2);
1510
1511                String sql = query.toString();
1512
1513                Query q = session.createQuery(sql);
1514
1515                QueryPos qPos = QueryPos.getInstance(q);
1516
1517                qPos.add(userId);
1518
1519                count = (Long)q.uniqueResult();
1520            }
1521            catch (Exception e) {
1522                throw processException(e);
1523            }
1524            finally {
1525                if (count == null) {
1526                    count = Long.valueOf(0);
1527                }
1528
1529                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
1530                    finderArgs, count);
1531
1532                closeSession(session);
1533            }
1534        }
1535
1536        return count.intValue();
1537    }
1538
1539    public int countByG_U(long groupId, long userId) throws SystemException {
1540        Object[] finderArgs = new Object[] { new Long(groupId), new Long(userId) };
1541
1542        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_U,
1543                finderArgs, this);
1544
1545        if (count == null) {
1546            Session session = null;
1547
1548            try {
1549                session = openSession();
1550
1551                StringBundler query = new StringBundler(3);
1552
1553                query.append(_SQL_COUNT_DLFILERANK_WHERE);
1554
1555                query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1556
1557                query.append(_FINDER_COLUMN_G_U_USERID_2);
1558
1559                String sql = query.toString();
1560
1561                Query q = session.createQuery(sql);
1562
1563                QueryPos qPos = QueryPos.getInstance(q);
1564
1565                qPos.add(groupId);
1566
1567                qPos.add(userId);
1568
1569                count = (Long)q.uniqueResult();
1570            }
1571            catch (Exception e) {
1572                throw processException(e);
1573            }
1574            finally {
1575                if (count == null) {
1576                    count = Long.valueOf(0);
1577                }
1578
1579                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U, finderArgs,
1580                    count);
1581
1582                closeSession(session);
1583            }
1584        }
1585
1586        return count.intValue();
1587    }
1588
1589    public int countByF_N(long folderId, String name) throws SystemException {
1590        Object[] finderArgs = new Object[] { new Long(folderId), name };
1591
1592        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_F_N,
1593                finderArgs, this);
1594
1595        if (count == null) {
1596            Session session = null;
1597
1598            try {
1599                session = openSession();
1600
1601                StringBundler query = new StringBundler(3);
1602
1603                query.append(_SQL_COUNT_DLFILERANK_WHERE);
1604
1605                query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
1606
1607                if (name == null) {
1608                    query.append(_FINDER_COLUMN_F_N_NAME_1);
1609                }
1610                else {
1611                    if (name.equals(StringPool.BLANK)) {
1612                        query.append(_FINDER_COLUMN_F_N_NAME_3);
1613                    }
1614                    else {
1615                        query.append(_FINDER_COLUMN_F_N_NAME_2);
1616                    }
1617                }
1618
1619                String sql = query.toString();
1620
1621                Query q = session.createQuery(sql);
1622
1623                QueryPos qPos = QueryPos.getInstance(q);
1624
1625                qPos.add(folderId);
1626
1627                if (name != null) {
1628                    qPos.add(name);
1629                }
1630
1631                count = (Long)q.uniqueResult();
1632            }
1633            catch (Exception e) {
1634                throw processException(e);
1635            }
1636            finally {
1637                if (count == null) {
1638                    count = Long.valueOf(0);
1639                }
1640
1641                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_F_N, finderArgs,
1642                    count);
1643
1644                closeSession(session);
1645            }
1646        }
1647
1648        return count.intValue();
1649    }
1650
1651    public int countByC_U_F_N(long companyId, long userId, long folderId,
1652        String name) throws SystemException {
1653        Object[] finderArgs = new Object[] {
1654                new Long(companyId), new Long(userId), new Long(folderId),
1655                
1656                name
1657            };
1658
1659        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_U_F_N,
1660                finderArgs, this);
1661
1662        if (count == null) {
1663            Session session = null;
1664
1665            try {
1666                session = openSession();
1667
1668                StringBundler query = new StringBundler(5);
1669
1670                query.append(_SQL_COUNT_DLFILERANK_WHERE);
1671
1672                query.append(_FINDER_COLUMN_C_U_F_N_COMPANYID_2);
1673
1674                query.append(_FINDER_COLUMN_C_U_F_N_USERID_2);
1675
1676                query.append(_FINDER_COLUMN_C_U_F_N_FOLDERID_2);
1677
1678                if (name == null) {
1679                    query.append(_FINDER_COLUMN_C_U_F_N_NAME_1);
1680                }
1681                else {
1682                    if (name.equals(StringPool.BLANK)) {
1683                        query.append(_FINDER_COLUMN_C_U_F_N_NAME_3);
1684                    }
1685                    else {
1686                        query.append(_FINDER_COLUMN_C_U_F_N_NAME_2);
1687                    }
1688                }
1689
1690                String sql = query.toString();
1691
1692                Query q = session.createQuery(sql);
1693
1694                QueryPos qPos = QueryPos.getInstance(q);
1695
1696                qPos.add(companyId);
1697
1698                qPos.add(userId);
1699
1700                qPos.add(folderId);
1701
1702                if (name != null) {
1703                    qPos.add(name);
1704                }
1705
1706                count = (Long)q.uniqueResult();
1707            }
1708            catch (Exception e) {
1709                throw processException(e);
1710            }
1711            finally {
1712                if (count == null) {
1713                    count = Long.valueOf(0);
1714                }
1715
1716                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_U_F_N,
1717                    finderArgs, count);
1718
1719                closeSession(session);
1720            }
1721        }
1722
1723        return count.intValue();
1724    }
1725
1726    public int countAll() throws SystemException {
1727        Object[] finderArgs = new Object[0];
1728
1729        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1730                finderArgs, this);
1731
1732        if (count == null) {
1733            Session session = null;
1734
1735            try {
1736                session = openSession();
1737
1738                Query q = session.createQuery(_SQL_COUNT_DLFILERANK);
1739
1740                count = (Long)q.uniqueResult();
1741            }
1742            catch (Exception e) {
1743                throw processException(e);
1744            }
1745            finally {
1746                if (count == null) {
1747                    count = Long.valueOf(0);
1748                }
1749
1750                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1751                    count);
1752
1753                closeSession(session);
1754            }
1755        }
1756
1757        return count.intValue();
1758    }
1759
1760    public void afterPropertiesSet() {
1761        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1762                    com.liferay.portal.util.PropsUtil.get(
1763                        "value.object.listener.com.liferay.portlet.documentlibrary.model.DLFileRank")));
1764
1765        if (listenerClassNames.length > 0) {
1766            try {
1767                List<ModelListener<DLFileRank>> listenersList = new ArrayList<ModelListener<DLFileRank>>();
1768
1769                for (String listenerClassName : listenerClassNames) {
1770                    listenersList.add((ModelListener<DLFileRank>)Class.forName(
1771                            listenerClassName).newInstance());
1772                }
1773
1774                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1775            }
1776            catch (Exception e) {
1777                _log.error(e);
1778            }
1779        }
1780    }
1781
1782    @BeanReference(name = "com.liferay.portlet.documentlibrary.service.persistence.DLFileEntryPersistence")
1783    protected com.liferay.portlet.documentlibrary.service.persistence.DLFileEntryPersistence dlFileEntryPersistence;
1784    @BeanReference(name = "com.liferay.portlet.documentlibrary.service.persistence.DLFileRankPersistence")
1785    protected com.liferay.portlet.documentlibrary.service.persistence.DLFileRankPersistence dlFileRankPersistence;
1786    @BeanReference(name = "com.liferay.portlet.documentlibrary.service.persistence.DLFileShortcutPersistence")
1787    protected com.liferay.portlet.documentlibrary.service.persistence.DLFileShortcutPersistence dlFileShortcutPersistence;
1788    @BeanReference(name = "com.liferay.portlet.documentlibrary.service.persistence.DLFileVersionPersistence")
1789    protected com.liferay.portlet.documentlibrary.service.persistence.DLFileVersionPersistence dlFileVersionPersistence;
1790    @BeanReference(name = "com.liferay.portlet.documentlibrary.service.persistence.DLFolderPersistence")
1791    protected com.liferay.portlet.documentlibrary.service.persistence.DLFolderPersistence dlFolderPersistence;
1792    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence")
1793    protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
1794    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence")
1795    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1796    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence")
1797    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1798    private static final String _SQL_SELECT_DLFILERANK = "SELECT dlFileRank FROM DLFileRank dlFileRank";
1799    private static final String _SQL_SELECT_DLFILERANK_WHERE = "SELECT dlFileRank FROM DLFileRank dlFileRank WHERE ";
1800    private static final String _SQL_COUNT_DLFILERANK = "SELECT COUNT(dlFileRank) FROM DLFileRank dlFileRank";
1801    private static final String _SQL_COUNT_DLFILERANK_WHERE = "SELECT COUNT(dlFileRank) FROM DLFileRank dlFileRank WHERE ";
1802    private static final String _FINDER_COLUMN_USERID_USERID_2 = "dlFileRank.userId = ?";
1803    private static final String _FINDER_COLUMN_G_U_GROUPID_2 = "dlFileRank.groupId = ? AND ";
1804    private static final String _FINDER_COLUMN_G_U_USERID_2 = "dlFileRank.userId = ?";
1805    private static final String _FINDER_COLUMN_F_N_FOLDERID_2 = "dlFileRank.folderId = ? AND ";
1806    private static final String _FINDER_COLUMN_F_N_NAME_1 = "dlFileRank.name IS NULL";
1807    private static final String _FINDER_COLUMN_F_N_NAME_2 = "dlFileRank.name = ?";
1808    private static final String _FINDER_COLUMN_F_N_NAME_3 = "(dlFileRank.name IS NULL OR dlFileRank.name = ?)";
1809    private static final String _FINDER_COLUMN_C_U_F_N_COMPANYID_2 = "dlFileRank.companyId = ? AND ";
1810    private static final String _FINDER_COLUMN_C_U_F_N_USERID_2 = "dlFileRank.userId = ? AND ";
1811    private static final String _FINDER_COLUMN_C_U_F_N_FOLDERID_2 = "dlFileRank.folderId = ? AND ";
1812    private static final String _FINDER_COLUMN_C_U_F_N_NAME_1 = "dlFileRank.name IS NULL";
1813    private static final String _FINDER_COLUMN_C_U_F_N_NAME_2 = "dlFileRank.name = ?";
1814    private static final String _FINDER_COLUMN_C_U_F_N_NAME_3 = "(dlFileRank.name IS NULL OR dlFileRank.name = ?)";
1815    private static final String _ORDER_BY_ENTITY_ALIAS = "dlFileRank.";
1816    private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No DLFileRank exists with the primary key ";
1817    private static final String _NO_SUCH_ENTITY_WITH_KEY = "No DLFileRank exists with the key {";
1818    private static Log _log = LogFactoryUtil.getLog(DLFileRankPersistenceImpl.class);
1819}