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