1   /**
2    * Copyright (c) 2000-2008 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.service.persistence;
24  
25  import com.liferay.portal.NoSuchMembershipRequestException;
26  import com.liferay.portal.SystemException;
27  import com.liferay.portal.kernel.dao.DynamicQuery;
28  import com.liferay.portal.kernel.dao.DynamicQueryInitializer;
29  import com.liferay.portal.kernel.util.GetterUtil;
30  import com.liferay.portal.kernel.util.OrderByComparator;
31  import com.liferay.portal.kernel.util.StringMaker;
32  import com.liferay.portal.kernel.util.StringPool;
33  import com.liferay.portal.kernel.util.StringUtil;
34  import com.liferay.portal.model.MembershipRequest;
35  import com.liferay.portal.model.ModelListener;
36  import com.liferay.portal.model.impl.MembershipRequestImpl;
37  import com.liferay.portal.model.impl.MembershipRequestModelImpl;
38  import com.liferay.portal.spring.hibernate.FinderCache;
39  import com.liferay.portal.spring.hibernate.HibernateUtil;
40  import com.liferay.portal.util.PropsUtil;
41  
42  import com.liferay.util.dao.hibernate.QueryUtil;
43  
44  import org.apache.commons.logging.Log;
45  import org.apache.commons.logging.LogFactory;
46  
47  import org.hibernate.Query;
48  import org.hibernate.Session;
49  
50  import java.util.ArrayList;
51  import java.util.Collections;
52  import java.util.Iterator;
53  import java.util.List;
54  
55  /**
56   * <a href="MembershipRequestPersistenceImpl.java.html"><b><i>View Source</i></b></a>
57   *
58   * @author Brian Wing Shun Chan
59   *
60   */
61  public class MembershipRequestPersistenceImpl extends BasePersistence
62      implements MembershipRequestPersistence {
63      public MembershipRequest create(long membershipRequestId) {
64          MembershipRequest membershipRequest = new MembershipRequestImpl();
65  
66          membershipRequest.setNew(true);
67          membershipRequest.setPrimaryKey(membershipRequestId);
68  
69          return membershipRequest;
70      }
71  
72      public MembershipRequest remove(long membershipRequestId)
73          throws NoSuchMembershipRequestException, SystemException {
74          Session session = null;
75  
76          try {
77              session = openSession();
78  
79              MembershipRequest membershipRequest = (MembershipRequest)session.get(MembershipRequestImpl.class,
80                      new Long(membershipRequestId));
81  
82              if (membershipRequest == null) {
83                  if (_log.isWarnEnabled()) {
84                      _log.warn(
85                          "No MembershipRequest exists with the primary key " +
86                          membershipRequestId);
87                  }
88  
89                  throw new NoSuchMembershipRequestException(
90                      "No MembershipRequest exists with the primary key " +
91                      membershipRequestId);
92              }
93  
94              return remove(membershipRequest);
95          }
96          catch (NoSuchMembershipRequestException nsee) {
97              throw nsee;
98          }
99          catch (Exception e) {
100             throw HibernateUtil.processException(e);
101         }
102         finally {
103             closeSession(session);
104         }
105     }
106 
107     public MembershipRequest remove(MembershipRequest membershipRequest)
108         throws SystemException {
109         if (_listeners != null) {
110             for (ModelListener listener : _listeners) {
111                 listener.onBeforeRemove(membershipRequest);
112             }
113         }
114 
115         membershipRequest = removeImpl(membershipRequest);
116 
117         if (_listeners != null) {
118             for (ModelListener listener : _listeners) {
119                 listener.onAfterRemove(membershipRequest);
120             }
121         }
122 
123         return membershipRequest;
124     }
125 
126     protected MembershipRequest removeImpl(MembershipRequest membershipRequest)
127         throws SystemException {
128         Session session = null;
129 
130         try {
131             session = openSession();
132 
133             session.delete(membershipRequest);
134 
135             session.flush();
136 
137             return membershipRequest;
138         }
139         catch (Exception e) {
140             throw HibernateUtil.processException(e);
141         }
142         finally {
143             closeSession(session);
144 
145             FinderCache.clearCache(MembershipRequest.class.getName());
146         }
147     }
148 
149     /**
150      * @deprecated Use <code>update(MembershipRequest membershipRequest, boolean merge)</code>.
151      */
152     public MembershipRequest update(MembershipRequest membershipRequest)
153         throws SystemException {
154         if (_log.isWarnEnabled()) {
155             _log.warn(
156                 "Using the deprecated update(MembershipRequest membershipRequest) method. Use update(MembershipRequest membershipRequest, boolean merge) instead.");
157         }
158 
159         return update(membershipRequest, false);
160     }
161 
162     /**
163      * Add, update, or merge, the entity. This method also calls the model
164      * listeners to trigger the proper events associated with adding, deleting,
165      * or updating an entity.
166      *
167      * @param        membershipRequest the entity to add, update, or merge
168      * @param        merge boolean value for whether to merge the entity. The
169      *                default value is false. Setting merge to true is more
170      *                expensive and should only be true when membershipRequest is
171      *                transient. See LEP-5473 for a detailed discussion of this
172      *                method.
173      * @return        true if the portlet can be displayed via Ajax
174      */
175     public MembershipRequest update(MembershipRequest membershipRequest,
176         boolean merge) throws SystemException {
177         boolean isNew = membershipRequest.isNew();
178 
179         if (_listeners != null) {
180             for (ModelListener listener : _listeners) {
181                 if (isNew) {
182                     listener.onBeforeCreate(membershipRequest);
183                 }
184                 else {
185                     listener.onBeforeUpdate(membershipRequest);
186                 }
187             }
188         }
189 
190         membershipRequest = updateImpl(membershipRequest, merge);
191 
192         if (_listeners != null) {
193             for (ModelListener listener : _listeners) {
194                 if (isNew) {
195                     listener.onAfterCreate(membershipRequest);
196                 }
197                 else {
198                     listener.onAfterUpdate(membershipRequest);
199                 }
200             }
201         }
202 
203         return membershipRequest;
204     }
205 
206     public MembershipRequest updateImpl(
207         com.liferay.portal.model.MembershipRequest membershipRequest,
208         boolean merge) throws SystemException {
209         Session session = null;
210 
211         try {
212             session = openSession();
213 
214             if (merge) {
215                 session.merge(membershipRequest);
216             }
217             else {
218                 if (membershipRequest.isNew()) {
219                     session.save(membershipRequest);
220                 }
221             }
222 
223             session.flush();
224 
225             membershipRequest.setNew(false);
226 
227             return membershipRequest;
228         }
229         catch (Exception e) {
230             throw HibernateUtil.processException(e);
231         }
232         finally {
233             closeSession(session);
234 
235             FinderCache.clearCache(MembershipRequest.class.getName());
236         }
237     }
238 
239     public MembershipRequest findByPrimaryKey(long membershipRequestId)
240         throws NoSuchMembershipRequestException, SystemException {
241         MembershipRequest membershipRequest = fetchByPrimaryKey(membershipRequestId);
242 
243         if (membershipRequest == null) {
244             if (_log.isWarnEnabled()) {
245                 _log.warn("No MembershipRequest exists with the primary key " +
246                     membershipRequestId);
247             }
248 
249             throw new NoSuchMembershipRequestException(
250                 "No MembershipRequest exists with the primary key " +
251                 membershipRequestId);
252         }
253 
254         return membershipRequest;
255     }
256 
257     public MembershipRequest fetchByPrimaryKey(long membershipRequestId)
258         throws SystemException {
259         Session session = null;
260 
261         try {
262             session = openSession();
263 
264             return (MembershipRequest)session.get(MembershipRequestImpl.class,
265                 new Long(membershipRequestId));
266         }
267         catch (Exception e) {
268             throw HibernateUtil.processException(e);
269         }
270         finally {
271             closeSession(session);
272         }
273     }
274 
275     public List<MembershipRequest> findByGroupId(long groupId)
276         throws SystemException {
277         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
278         String finderClassName = MembershipRequest.class.getName();
279         String finderMethodName = "findByGroupId";
280         String[] finderParams = new String[] { Long.class.getName() };
281         Object[] finderArgs = new Object[] { new Long(groupId) };
282 
283         Object result = null;
284 
285         if (finderClassNameCacheEnabled) {
286             result = FinderCache.getResult(finderClassName, finderMethodName,
287                     finderParams, finderArgs, getSessionFactory());
288         }
289 
290         if (result == null) {
291             Session session = null;
292 
293             try {
294                 session = openSession();
295 
296                 StringMaker query = new StringMaker();
297 
298                 query.append(
299                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
300 
301                 query.append("groupId = ?");
302 
303                 query.append(" ");
304 
305                 query.append("ORDER BY ");
306 
307                 query.append("createDate DESC");
308 
309                 Query q = session.createQuery(query.toString());
310 
311                 int queryPos = 0;
312 
313                 q.setLong(queryPos++, groupId);
314 
315                 List<MembershipRequest> list = q.list();
316 
317                 FinderCache.putResult(finderClassNameCacheEnabled,
318                     finderClassName, finderMethodName, finderParams,
319                     finderArgs, list);
320 
321                 return list;
322             }
323             catch (Exception e) {
324                 throw HibernateUtil.processException(e);
325             }
326             finally {
327                 closeSession(session);
328             }
329         }
330         else {
331             return (List<MembershipRequest>)result;
332         }
333     }
334 
335     public List<MembershipRequest> findByGroupId(long groupId, int begin,
336         int end) throws SystemException {
337         return findByGroupId(groupId, begin, end, null);
338     }
339 
340     public List<MembershipRequest> findByGroupId(long groupId, int begin,
341         int end, OrderByComparator obc) throws SystemException {
342         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
343         String finderClassName = MembershipRequest.class.getName();
344         String finderMethodName = "findByGroupId";
345         String[] finderParams = new String[] {
346                 Long.class.getName(),
347                 
348                 "java.lang.Integer", "java.lang.Integer",
349                 "com.liferay.portal.kernel.util.OrderByComparator"
350             };
351         Object[] finderArgs = new Object[] {
352                 new Long(groupId),
353                 
354                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
355             };
356 
357         Object result = null;
358 
359         if (finderClassNameCacheEnabled) {
360             result = FinderCache.getResult(finderClassName, finderMethodName,
361                     finderParams, finderArgs, getSessionFactory());
362         }
363 
364         if (result == null) {
365             Session session = null;
366 
367             try {
368                 session = openSession();
369 
370                 StringMaker query = new StringMaker();
371 
372                 query.append(
373                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
374 
375                 query.append("groupId = ?");
376 
377                 query.append(" ");
378 
379                 if (obc != null) {
380                     query.append("ORDER BY ");
381                     query.append(obc.getOrderBy());
382                 }
383 
384                 else {
385                     query.append("ORDER BY ");
386 
387                     query.append("createDate DESC");
388                 }
389 
390                 Query q = session.createQuery(query.toString());
391 
392                 int queryPos = 0;
393 
394                 q.setLong(queryPos++, groupId);
395 
396                 List<MembershipRequest> list = (List<MembershipRequest>)QueryUtil.list(q,
397                         getDialect(), begin, end);
398 
399                 FinderCache.putResult(finderClassNameCacheEnabled,
400                     finderClassName, finderMethodName, finderParams,
401                     finderArgs, list);
402 
403                 return list;
404             }
405             catch (Exception e) {
406                 throw HibernateUtil.processException(e);
407             }
408             finally {
409                 closeSession(session);
410             }
411         }
412         else {
413             return (List<MembershipRequest>)result;
414         }
415     }
416 
417     public MembershipRequest findByGroupId_First(long groupId,
418         OrderByComparator obc)
419         throws NoSuchMembershipRequestException, SystemException {
420         List<MembershipRequest> list = findByGroupId(groupId, 0, 1, obc);
421 
422         if (list.size() == 0) {
423             StringMaker msg = new StringMaker();
424 
425             msg.append("No MembershipRequest exists with the key {");
426 
427             msg.append("groupId=" + groupId);
428 
429             msg.append(StringPool.CLOSE_CURLY_BRACE);
430 
431             throw new NoSuchMembershipRequestException(msg.toString());
432         }
433         else {
434             return list.get(0);
435         }
436     }
437 
438     public MembershipRequest findByGroupId_Last(long groupId,
439         OrderByComparator obc)
440         throws NoSuchMembershipRequestException, SystemException {
441         int count = countByGroupId(groupId);
442 
443         List<MembershipRequest> list = findByGroupId(groupId, count - 1, count,
444                 obc);
445 
446         if (list.size() == 0) {
447             StringMaker msg = new StringMaker();
448 
449             msg.append("No MembershipRequest exists with the key {");
450 
451             msg.append("groupId=" + groupId);
452 
453             msg.append(StringPool.CLOSE_CURLY_BRACE);
454 
455             throw new NoSuchMembershipRequestException(msg.toString());
456         }
457         else {
458             return list.get(0);
459         }
460     }
461 
462     public MembershipRequest[] findByGroupId_PrevAndNext(
463         long membershipRequestId, long groupId, OrderByComparator obc)
464         throws NoSuchMembershipRequestException, SystemException {
465         MembershipRequest membershipRequest = findByPrimaryKey(membershipRequestId);
466 
467         int count = countByGroupId(groupId);
468 
469         Session session = null;
470 
471         try {
472             session = openSession();
473 
474             StringMaker query = new StringMaker();
475 
476             query.append(
477                 "FROM com.liferay.portal.model.MembershipRequest WHERE ");
478 
479             query.append("groupId = ?");
480 
481             query.append(" ");
482 
483             if (obc != null) {
484                 query.append("ORDER BY ");
485                 query.append(obc.getOrderBy());
486             }
487 
488             else {
489                 query.append("ORDER BY ");
490 
491                 query.append("createDate DESC");
492             }
493 
494             Query q = session.createQuery(query.toString());
495 
496             int queryPos = 0;
497 
498             q.setLong(queryPos++, groupId);
499 
500             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
501                     membershipRequest);
502 
503             MembershipRequest[] array = new MembershipRequestImpl[3];
504 
505             array[0] = (MembershipRequest)objArray[0];
506             array[1] = (MembershipRequest)objArray[1];
507             array[2] = (MembershipRequest)objArray[2];
508 
509             return array;
510         }
511         catch (Exception e) {
512             throw HibernateUtil.processException(e);
513         }
514         finally {
515             closeSession(session);
516         }
517     }
518 
519     public List<MembershipRequest> findByUserId(long userId)
520         throws SystemException {
521         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
522         String finderClassName = MembershipRequest.class.getName();
523         String finderMethodName = "findByUserId";
524         String[] finderParams = new String[] { Long.class.getName() };
525         Object[] finderArgs = new Object[] { new Long(userId) };
526 
527         Object result = null;
528 
529         if (finderClassNameCacheEnabled) {
530             result = FinderCache.getResult(finderClassName, finderMethodName,
531                     finderParams, finderArgs, getSessionFactory());
532         }
533 
534         if (result == null) {
535             Session session = null;
536 
537             try {
538                 session = openSession();
539 
540                 StringMaker query = new StringMaker();
541 
542                 query.append(
543                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
544 
545                 query.append("userId = ?");
546 
547                 query.append(" ");
548 
549                 query.append("ORDER BY ");
550 
551                 query.append("createDate DESC");
552 
553                 Query q = session.createQuery(query.toString());
554 
555                 int queryPos = 0;
556 
557                 q.setLong(queryPos++, userId);
558 
559                 List<MembershipRequest> list = q.list();
560 
561                 FinderCache.putResult(finderClassNameCacheEnabled,
562                     finderClassName, finderMethodName, finderParams,
563                     finderArgs, list);
564 
565                 return list;
566             }
567             catch (Exception e) {
568                 throw HibernateUtil.processException(e);
569             }
570             finally {
571                 closeSession(session);
572             }
573         }
574         else {
575             return (List<MembershipRequest>)result;
576         }
577     }
578 
579     public List<MembershipRequest> findByUserId(long userId, int begin, int end)
580         throws SystemException {
581         return findByUserId(userId, begin, end, null);
582     }
583 
584     public List<MembershipRequest> findByUserId(long userId, int begin,
585         int end, OrderByComparator obc) throws SystemException {
586         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
587         String finderClassName = MembershipRequest.class.getName();
588         String finderMethodName = "findByUserId";
589         String[] finderParams = new String[] {
590                 Long.class.getName(),
591                 
592                 "java.lang.Integer", "java.lang.Integer",
593                 "com.liferay.portal.kernel.util.OrderByComparator"
594             };
595         Object[] finderArgs = new Object[] {
596                 new Long(userId),
597                 
598                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
599             };
600 
601         Object result = null;
602 
603         if (finderClassNameCacheEnabled) {
604             result = FinderCache.getResult(finderClassName, finderMethodName,
605                     finderParams, finderArgs, getSessionFactory());
606         }
607 
608         if (result == null) {
609             Session session = null;
610 
611             try {
612                 session = openSession();
613 
614                 StringMaker query = new StringMaker();
615 
616                 query.append(
617                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
618 
619                 query.append("userId = ?");
620 
621                 query.append(" ");
622 
623                 if (obc != null) {
624                     query.append("ORDER BY ");
625                     query.append(obc.getOrderBy());
626                 }
627 
628                 else {
629                     query.append("ORDER BY ");
630 
631                     query.append("createDate DESC");
632                 }
633 
634                 Query q = session.createQuery(query.toString());
635 
636                 int queryPos = 0;
637 
638                 q.setLong(queryPos++, userId);
639 
640                 List<MembershipRequest> list = (List<MembershipRequest>)QueryUtil.list(q,
641                         getDialect(), begin, end);
642 
643                 FinderCache.putResult(finderClassNameCacheEnabled,
644                     finderClassName, finderMethodName, finderParams,
645                     finderArgs, list);
646 
647                 return list;
648             }
649             catch (Exception e) {
650                 throw HibernateUtil.processException(e);
651             }
652             finally {
653                 closeSession(session);
654             }
655         }
656         else {
657             return (List<MembershipRequest>)result;
658         }
659     }
660 
661     public MembershipRequest findByUserId_First(long userId,
662         OrderByComparator obc)
663         throws NoSuchMembershipRequestException, SystemException {
664         List<MembershipRequest> list = findByUserId(userId, 0, 1, obc);
665 
666         if (list.size() == 0) {
667             StringMaker msg = new StringMaker();
668 
669             msg.append("No MembershipRequest exists with the key {");
670 
671             msg.append("userId=" + userId);
672 
673             msg.append(StringPool.CLOSE_CURLY_BRACE);
674 
675             throw new NoSuchMembershipRequestException(msg.toString());
676         }
677         else {
678             return list.get(0);
679         }
680     }
681 
682     public MembershipRequest findByUserId_Last(long userId,
683         OrderByComparator obc)
684         throws NoSuchMembershipRequestException, SystemException {
685         int count = countByUserId(userId);
686 
687         List<MembershipRequest> list = findByUserId(userId, count - 1, count,
688                 obc);
689 
690         if (list.size() == 0) {
691             StringMaker msg = new StringMaker();
692 
693             msg.append("No MembershipRequest exists with the key {");
694 
695             msg.append("userId=" + userId);
696 
697             msg.append(StringPool.CLOSE_CURLY_BRACE);
698 
699             throw new NoSuchMembershipRequestException(msg.toString());
700         }
701         else {
702             return list.get(0);
703         }
704     }
705 
706     public MembershipRequest[] findByUserId_PrevAndNext(
707         long membershipRequestId, long userId, OrderByComparator obc)
708         throws NoSuchMembershipRequestException, SystemException {
709         MembershipRequest membershipRequest = findByPrimaryKey(membershipRequestId);
710 
711         int count = countByUserId(userId);
712 
713         Session session = null;
714 
715         try {
716             session = openSession();
717 
718             StringMaker query = new StringMaker();
719 
720             query.append(
721                 "FROM com.liferay.portal.model.MembershipRequest WHERE ");
722 
723             query.append("userId = ?");
724 
725             query.append(" ");
726 
727             if (obc != null) {
728                 query.append("ORDER BY ");
729                 query.append(obc.getOrderBy());
730             }
731 
732             else {
733                 query.append("ORDER BY ");
734 
735                 query.append("createDate DESC");
736             }
737 
738             Query q = session.createQuery(query.toString());
739 
740             int queryPos = 0;
741 
742             q.setLong(queryPos++, userId);
743 
744             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
745                     membershipRequest);
746 
747             MembershipRequest[] array = new MembershipRequestImpl[3];
748 
749             array[0] = (MembershipRequest)objArray[0];
750             array[1] = (MembershipRequest)objArray[1];
751             array[2] = (MembershipRequest)objArray[2];
752 
753             return array;
754         }
755         catch (Exception e) {
756             throw HibernateUtil.processException(e);
757         }
758         finally {
759             closeSession(session);
760         }
761     }
762 
763     public List<MembershipRequest> findByG_S(long groupId, int statusId)
764         throws SystemException {
765         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
766         String finderClassName = MembershipRequest.class.getName();
767         String finderMethodName = "findByG_S";
768         String[] finderParams = new String[] {
769                 Long.class.getName(), Integer.class.getName()
770             };
771         Object[] finderArgs = new Object[] {
772                 new Long(groupId), new Integer(statusId)
773             };
774 
775         Object result = null;
776 
777         if (finderClassNameCacheEnabled) {
778             result = FinderCache.getResult(finderClassName, finderMethodName,
779                     finderParams, finderArgs, getSessionFactory());
780         }
781 
782         if (result == null) {
783             Session session = null;
784 
785             try {
786                 session = openSession();
787 
788                 StringMaker query = new StringMaker();
789 
790                 query.append(
791                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
792 
793                 query.append("groupId = ?");
794 
795                 query.append(" AND ");
796 
797                 query.append("statusId = ?");
798 
799                 query.append(" ");
800 
801                 query.append("ORDER BY ");
802 
803                 query.append("createDate DESC");
804 
805                 Query q = session.createQuery(query.toString());
806 
807                 int queryPos = 0;
808 
809                 q.setLong(queryPos++, groupId);
810 
811                 q.setInteger(queryPos++, statusId);
812 
813                 List<MembershipRequest> list = q.list();
814 
815                 FinderCache.putResult(finderClassNameCacheEnabled,
816                     finderClassName, finderMethodName, finderParams,
817                     finderArgs, list);
818 
819                 return list;
820             }
821             catch (Exception e) {
822                 throw HibernateUtil.processException(e);
823             }
824             finally {
825                 closeSession(session);
826             }
827         }
828         else {
829             return (List<MembershipRequest>)result;
830         }
831     }
832 
833     public List<MembershipRequest> findByG_S(long groupId, int statusId,
834         int begin, int end) throws SystemException {
835         return findByG_S(groupId, statusId, begin, end, null);
836     }
837 
838     public List<MembershipRequest> findByG_S(long groupId, int statusId,
839         int begin, int end, OrderByComparator obc) throws SystemException {
840         boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
841         String finderClassName = MembershipRequest.class.getName();
842         String finderMethodName = "findByG_S";
843         String[] finderParams = new String[] {
844                 Long.class.getName(), Integer.class.getName(),
845                 
846                 "java.lang.Integer", "java.lang.Integer",
847                 "com.liferay.portal.kernel.util.OrderByComparator"
848             };
849         Object[] finderArgs = new Object[] {
850                 new Long(groupId), new Integer(statusId),
851                 
852                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
853             };
854 
855         Object result = null;
856 
857         if (finderClassNameCacheEnabled) {
858             result = FinderCache.getResult(finderClassName, finderMethodName,
859                     finderParams, finderArgs, getSessionFactory());
860         }
861 
862         if (result == null) {
863             Session session = null;
864 
865             try {
866                 session = openSession();
867 
868                 StringMaker query = new StringMaker();
869 
870                 query.append(
871                     "FROM com.liferay.portal.model.MembershipRequest WHERE ");
872 
873                 query.append("groupId = ?");
874 
875                 query.append(" AND ");
876 
877                 query.append("statusId = ?");
878 
879                 query.append(" ");
880 
881                 if (obc != null) {
882                     query.append("ORDER BY ");
883                     query.append(obc.getOrderBy());
884                 }
885 
886                 else {
887                     query.append("ORDER BY ");
888 
889                     query.append("createDate DESC");
890                 }
891 
892                 Query q = session.createQuery(query.toString());
893 
894                 int queryPos = 0;
895 
896                 q.setLong(queryPos++, groupId);
897 
898                 q.setInteger(queryPos++, statusId);
899 
900                 List<MembershipRequest> list = (List<MembershipRequest>)QueryUtil.list(q,
901                         getDialect(), begin, end);
902 
903                 FinderCache.putResult(finderClassNameCacheEnabled,
904                     finderClassName, finderMethodName, finderParams,
905                     finderArgs, list);
906 
907                 return list;
908             }
909             catch (Exception e) {
910                 throw HibernateUtil.processException(e);
911             }
912             finally {
913                 closeSession(session);
914             }
915         }
916         else {
917             return (List<MembershipRequest>)result;
918         }
919     }
920 
921     public MembershipRequest findByG_S_First(long groupId, int statusId,
922         OrderByComparator obc)
923         throws NoSuchMembershipRequestException, SystemException {
924         List<MembershipRequest> list = findByG_S(groupId, statusId, 0, 1, obc);
925 
926         if (list.size() == 0) {
927             StringMaker msg = new StringMaker();
928 
929             msg.append("No MembershipRequest exists with the key {");
930 
931             msg.append("groupId=" + groupId);
932 
933             msg.append(", ");
934             msg.append("statusId=" + statusId);
935 
936             msg.append(StringPool.CLOSE_CURLY_BRACE);
937 
938             throw new NoSuchMembershipRequestException(msg.toString());
939         }
940         else {
941             return list.get(0);
942         }
943     }
944 
945     public MembershipRequest findByG_S_Last(long groupId, int statusId,
946         OrderByComparator obc)
947         throws NoSuchMembershipRequestException, SystemException {
948         int count = countByG_S(groupId, statusId);
949 
950         List<MembershipRequest> list = findByG_S(groupId, statusId, count - 1,
951                 count, obc);
952 
953         if (list.size() == 0) {
954             StringMaker msg = new StringMaker();
955 
956             msg.append("No MembershipRequest exists with the key {");
957 
958             msg.append("groupId=" + groupId);
959 
960             msg.append(", ");
961             msg.append("statusId=" + statusId);
962 
963             msg.append(StringPool.CLOSE_CURLY_BRACE);
964 
965             throw new NoSuchMembershipRequestException(msg.toString());
966         }
967         else {
968             return list.get(0);
969         }
970     }
971 
972     public MembershipRequest[] findByG_S_PrevAndNext(long membershipRequestId,
973         long groupId, int statusId, OrderByComparator obc)
974         throws NoSuchMembershipRequestException, SystemException {
975         MembershipRequest membershipRequest = findByPrimaryKey(membershipRequestId);
976 
977         int count = countByG_S(groupId, statusId);
978 
979         Session session = null;
980 
981         try {
982             session = openSession();
983 
984             StringMaker query = new StringMaker();
985 
986             query.append(
987                 "FROM com.liferay.portal.model.MembershipRequest WHERE ");
988 
989             query.append("groupId = ?");
990 
991             query.append(" AND ");
992 
993             query.append("statusId = ?");
994 
995             query.append(" ");
996 
997             if (obc != null) {
998                 query.append("ORDER BY ");
999                 query.append(obc.getOrderBy());
1000            }
1001
1002            else {
1003                query.append("ORDER BY ");
1004
1005                query.append("createDate DESC");
1006            }
1007
1008            Query q = session.createQuery(query.toString());
1009
1010            int queryPos = 0;
1011
1012            q.setLong(queryPos++, groupId);
1013
1014            q.setInteger(queryPos++, statusId);
1015
1016            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1017                    membershipRequest);
1018
1019            MembershipRequest[] array = new MembershipRequestImpl[3];
1020
1021            array[0] = (MembershipRequest)objArray[0];
1022            array[1] = (MembershipRequest)objArray[1];
1023            array[2] = (MembershipRequest)objArray[2];
1024
1025            return array;
1026        }
1027        catch (Exception e) {
1028            throw HibernateUtil.processException(e);
1029        }
1030        finally {
1031            closeSession(session);
1032        }
1033    }
1034
1035    public List<MembershipRequest> findWithDynamicQuery(
1036        DynamicQueryInitializer queryInitializer) throws SystemException {
1037        Session session = null;
1038
1039        try {
1040            session = openSession();
1041
1042            DynamicQuery query = queryInitializer.initialize(session);
1043
1044            return query.list();
1045        }
1046        catch (Exception e) {
1047            throw HibernateUtil.processException(e);
1048        }
1049        finally {
1050            closeSession(session);
1051        }
1052    }
1053
1054    public List<MembershipRequest> findWithDynamicQuery(
1055        DynamicQueryInitializer queryInitializer, int begin, int end)
1056        throws SystemException {
1057        Session session = null;
1058
1059        try {
1060            session = openSession();
1061
1062            DynamicQuery query = queryInitializer.initialize(session);
1063
1064            query.setLimit(begin, end);
1065
1066            return query.list();
1067        }
1068        catch (Exception e) {
1069            throw HibernateUtil.processException(e);
1070        }
1071        finally {
1072            closeSession(session);
1073        }
1074    }
1075
1076    public List<MembershipRequest> findAll() throws SystemException {
1077        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1078    }
1079
1080    public List<MembershipRequest> findAll(int begin, int end)
1081        throws SystemException {
1082        return findAll(begin, end, null);
1083    }
1084
1085    public List<MembershipRequest> findAll(int begin, int end,
1086        OrderByComparator obc) throws SystemException {
1087        boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
1088        String finderClassName = MembershipRequest.class.getName();
1089        String finderMethodName = "findAll";
1090        String[] finderParams = new String[] {
1091                "java.lang.Integer", "java.lang.Integer",
1092                "com.liferay.portal.kernel.util.OrderByComparator"
1093            };
1094        Object[] finderArgs = new Object[] {
1095                String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
1096            };
1097
1098        Object result = null;
1099
1100        if (finderClassNameCacheEnabled) {
1101            result = FinderCache.getResult(finderClassName, finderMethodName,
1102                    finderParams, finderArgs, getSessionFactory());
1103        }
1104
1105        if (result == null) {
1106            Session session = null;
1107
1108            try {
1109                session = openSession();
1110
1111                StringMaker query = new StringMaker();
1112
1113                query.append("FROM com.liferay.portal.model.MembershipRequest ");
1114
1115                if (obc != null) {
1116                    query.append("ORDER BY ");
1117                    query.append(obc.getOrderBy());
1118                }
1119
1120                else {
1121                    query.append("ORDER BY ");
1122
1123                    query.append("createDate DESC");
1124                }
1125
1126                Query q = session.createQuery(query.toString());
1127
1128                List<MembershipRequest> list = (List<MembershipRequest>)QueryUtil.list(q,
1129                        getDialect(), begin, end);
1130
1131                if (obc == null) {
1132                    Collections.sort(list);
1133                }
1134
1135                FinderCache.putResult(finderClassNameCacheEnabled,
1136                    finderClassName, finderMethodName, finderParams,
1137                    finderArgs, list);
1138
1139                return list;
1140            }
1141            catch (Exception e) {
1142                throw HibernateUtil.processException(e);
1143            }
1144            finally {
1145                closeSession(session);
1146            }
1147        }
1148        else {
1149            return (List<MembershipRequest>)result;
1150        }
1151    }
1152
1153    public void removeByGroupId(long groupId) throws SystemException {
1154        for (MembershipRequest membershipRequest : findByGroupId(groupId)) {
1155            remove(membershipRequest);
1156        }
1157    }
1158
1159    public void removeByUserId(long userId) throws SystemException {
1160        for (MembershipRequest membershipRequest : findByUserId(userId)) {
1161            remove(membershipRequest);
1162        }
1163    }
1164
1165    public void removeByG_S(long groupId, int statusId)
1166        throws SystemException {
1167        for (MembershipRequest membershipRequest : findByG_S(groupId, statusId)) {
1168            remove(membershipRequest);
1169        }
1170    }
1171
1172    public void removeAll() throws SystemException {
1173        for (MembershipRequest membershipRequest : findAll()) {
1174            remove(membershipRequest);
1175        }
1176    }
1177
1178    public int countByGroupId(long groupId) throws SystemException {
1179        boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
1180        String finderClassName = MembershipRequest.class.getName();
1181        String finderMethodName = "countByGroupId";
1182        String[] finderParams = new String[] { Long.class.getName() };
1183        Object[] finderArgs = new Object[] { new Long(groupId) };
1184
1185        Object result = null;
1186
1187        if (finderClassNameCacheEnabled) {
1188            result = FinderCache.getResult(finderClassName, finderMethodName,
1189                    finderParams, finderArgs, getSessionFactory());
1190        }
1191
1192        if (result == null) {
1193            Session session = null;
1194
1195            try {
1196                session = openSession();
1197
1198                StringMaker query = new StringMaker();
1199
1200                query.append("SELECT COUNT(*) ");
1201                query.append(
1202                    "FROM com.liferay.portal.model.MembershipRequest WHERE ");
1203
1204                query.append("groupId = ?");
1205
1206                query.append(" ");
1207
1208                Query q = session.createQuery(query.toString());
1209
1210                int queryPos = 0;
1211
1212                q.setLong(queryPos++, groupId);
1213
1214                Long count = null;
1215
1216                Iterator<Long> itr = q.list().iterator();
1217
1218                if (itr.hasNext()) {
1219                    count = itr.next();
1220                }
1221
1222                if (count == null) {
1223                    count = new Long(0);
1224                }
1225
1226                FinderCache.putResult(finderClassNameCacheEnabled,
1227                    finderClassName, finderMethodName, finderParams,
1228                    finderArgs, count);
1229
1230                return count.intValue();
1231            }
1232            catch (Exception e) {
1233                throw HibernateUtil.processException(e);
1234            }
1235            finally {
1236                closeSession(session);
1237            }
1238        }
1239        else {
1240            return ((Long)result).intValue();
1241        }
1242    }
1243
1244    public int countByUserId(long userId) throws SystemException {
1245        boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
1246        String finderClassName = MembershipRequest.class.getName();
1247        String finderMethodName = "countByUserId";
1248        String[] finderParams = new String[] { Long.class.getName() };
1249        Object[] finderArgs = new Object[] { new Long(userId) };
1250
1251        Object result = null;
1252
1253        if (finderClassNameCacheEnabled) {
1254            result = FinderCache.getResult(finderClassName, finderMethodName,
1255                    finderParams, finderArgs, getSessionFactory());
1256        }
1257
1258        if (result == null) {
1259            Session session = null;
1260
1261            try {
1262                session = openSession();
1263
1264                StringMaker query = new StringMaker();
1265
1266                query.append("SELECT COUNT(*) ");
1267                query.append(
1268                    "FROM com.liferay.portal.model.MembershipRequest WHERE ");
1269
1270                query.append("userId = ?");
1271
1272                query.append(" ");
1273
1274                Query q = session.createQuery(query.toString());
1275
1276                int queryPos = 0;
1277
1278                q.setLong(queryPos++, userId);
1279
1280                Long count = null;
1281
1282                Iterator<Long> itr = q.list().iterator();
1283
1284                if (itr.hasNext()) {
1285                    count = itr.next();
1286                }
1287
1288                if (count == null) {
1289                    count = new Long(0);
1290                }
1291
1292                FinderCache.putResult(finderClassNameCacheEnabled,
1293                    finderClassName, finderMethodName, finderParams,
1294                    finderArgs, count);
1295
1296                return count.intValue();
1297            }
1298            catch (Exception e) {
1299                throw HibernateUtil.processException(e);
1300            }
1301            finally {
1302                closeSession(session);
1303            }
1304        }
1305        else {
1306            return ((Long)result).intValue();
1307        }
1308    }
1309
1310    public int countByG_S(long groupId, int statusId) throws SystemException {
1311        boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
1312        String finderClassName = MembershipRequest.class.getName();
1313        String finderMethodName = "countByG_S";
1314        String[] finderParams = new String[] {
1315                Long.class.getName(), Integer.class.getName()
1316            };
1317        Object[] finderArgs = new Object[] {
1318                new Long(groupId), new Integer(statusId)
1319            };
1320
1321        Object result = null;
1322
1323        if (finderClassNameCacheEnabled) {
1324            result = FinderCache.getResult(finderClassName, finderMethodName,
1325                    finderParams, finderArgs, getSessionFactory());
1326        }
1327
1328        if (result == null) {
1329            Session session = null;
1330
1331            try {
1332                session = openSession();
1333
1334                StringMaker query = new StringMaker();
1335
1336                query.append("SELECT COUNT(*) ");
1337                query.append(
1338                    "FROM com.liferay.portal.model.MembershipRequest WHERE ");
1339
1340                query.append("groupId = ?");
1341
1342                query.append(" AND ");
1343
1344                query.append("statusId = ?");
1345
1346                query.append(" ");
1347
1348                Query q = session.createQuery(query.toString());
1349
1350                int queryPos = 0;
1351
1352                q.setLong(queryPos++, groupId);
1353
1354                q.setInteger(queryPos++, statusId);
1355
1356                Long count = null;
1357
1358                Iterator<Long> itr = q.list().iterator();
1359
1360                if (itr.hasNext()) {
1361                    count = itr.next();
1362                }
1363
1364                if (count == null) {
1365                    count = new Long(0);
1366                }
1367
1368                FinderCache.putResult(finderClassNameCacheEnabled,
1369                    finderClassName, finderMethodName, finderParams,
1370                    finderArgs, count);
1371
1372                return count.intValue();
1373            }
1374            catch (Exception e) {
1375                throw HibernateUtil.processException(e);
1376            }
1377            finally {
1378                closeSession(session);
1379            }
1380        }
1381        else {
1382            return ((Long)result).intValue();
1383        }
1384    }
1385
1386    public int countAll() throws SystemException {
1387        boolean finderClassNameCacheEnabled = MembershipRequestModelImpl.CACHE_ENABLED;
1388        String finderClassName = MembershipRequest.class.getName();
1389        String finderMethodName = "countAll";
1390        String[] finderParams = new String[] {  };
1391        Object[] finderArgs = new Object[] {  };
1392
1393        Object result = null;
1394
1395        if (finderClassNameCacheEnabled) {
1396            result = FinderCache.getResult(finderClassName, finderMethodName,
1397                    finderParams, finderArgs, getSessionFactory());
1398        }
1399
1400        if (result == null) {
1401            Session session = null;
1402
1403            try {
1404                session = openSession();
1405
1406                Query q = session.createQuery(
1407                        "SELECT COUNT(*) FROM com.liferay.portal.model.MembershipRequest");
1408
1409                Long count = null;
1410
1411                Iterator<Long> itr = q.list().iterator();
1412
1413                if (itr.hasNext()) {
1414                    count = itr.next();
1415                }
1416
1417                if (count == null) {
1418                    count = new Long(0);
1419                }
1420
1421                FinderCache.putResult(finderClassNameCacheEnabled,
1422                    finderClassName, finderMethodName, finderParams,
1423                    finderArgs, count);
1424
1425                return count.intValue();
1426            }
1427            catch (Exception e) {
1428                throw HibernateUtil.processException(e);
1429            }
1430            finally {
1431                closeSession(session);
1432            }
1433        }
1434        else {
1435            return ((Long)result).intValue();
1436        }
1437    }
1438
1439    protected void initDao() {
1440        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1441                    PropsUtil.get(
1442                        "value.object.listener.com.liferay.portal.model.MembershipRequest")));
1443
1444        if (listenerClassNames.length > 0) {
1445            try {
1446                List<ModelListener> listeners = new ArrayList<ModelListener>();
1447
1448                for (String listenerClassName : listenerClassNames) {
1449                    listeners.add((ModelListener)Class.forName(
1450                            listenerClassName).newInstance());
1451                }
1452
1453                _listeners = listeners.toArray(new ModelListener[listeners.size()]);
1454            }
1455            catch (Exception e) {
1456                _log.error(e);
1457            }
1458        }
1459    }
1460
1461    private static Log _log = LogFactory.getLog(MembershipRequestPersistenceImpl.class);
1462    private ModelListener[] _listeners;
1463}