1   /**
2    * Copyright (c) 2000-2007 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.portlet.softwarecatalog.service.persistence;
24  
25  import com.liferay.portal.SystemException;
26  import com.liferay.portal.kernel.dao.DynamicQuery;
27  import com.liferay.portal.kernel.dao.DynamicQueryInitializer;
28  import com.liferay.portal.kernel.util.OrderByComparator;
29  import com.liferay.portal.kernel.util.StringMaker;
30  import com.liferay.portal.kernel.util.StringPool;
31  import com.liferay.portal.service.persistence.BasePersistence;
32  import com.liferay.portal.spring.hibernate.FinderCache;
33  import com.liferay.portal.spring.hibernate.HibernateUtil;
34  
35  import com.liferay.portlet.softwarecatalog.NoSuchFrameworkVersionException;
36  import com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion;
37  import com.liferay.portlet.softwarecatalog.model.impl.SCFrameworkVersionImpl;
38  
39  import com.liferay.util.dao.hibernate.QueryUtil;
40  
41  import org.apache.commons.logging.Log;
42  import org.apache.commons.logging.LogFactory;
43  
44  import org.hibernate.Query;
45  import org.hibernate.Session;
46  
47  import java.util.Collections;
48  import java.util.Iterator;
49  import java.util.List;
50  
51  /**
52   * <a href="SCFrameworkVersionPersistenceImpl.java.html"><b><i>View Source</i></b></a>
53   *
54   * @author Brian Wing Shun Chan
55   *
56   */
57  public class SCFrameworkVersionPersistenceImpl extends BasePersistence
58      implements SCFrameworkVersionPersistence {
59      public SCFrameworkVersion create(long frameworkVersionId) {
60          SCFrameworkVersion scFrameworkVersion = new SCFrameworkVersionImpl();
61          scFrameworkVersion.setNew(true);
62          scFrameworkVersion.setPrimaryKey(frameworkVersionId);
63  
64          return scFrameworkVersion;
65      }
66  
67      public SCFrameworkVersion remove(long frameworkVersionId)
68          throws NoSuchFrameworkVersionException, SystemException {
69          Session session = null;
70  
71          try {
72              session = openSession();
73  
74              SCFrameworkVersion scFrameworkVersion = (SCFrameworkVersion)session.get(SCFrameworkVersionImpl.class,
75                      new Long(frameworkVersionId));
76  
77              if (scFrameworkVersion == null) {
78                  if (_log.isWarnEnabled()) {
79                      _log.warn(
80                          "No SCFrameworkVersion exists with the primary key " +
81                          frameworkVersionId);
82                  }
83  
84                  throw new NoSuchFrameworkVersionException(
85                      "No SCFrameworkVersion exists with the primary key " +
86                      frameworkVersionId);
87              }
88  
89              return remove(scFrameworkVersion);
90          }
91          catch (NoSuchFrameworkVersionException nsee) {
92              throw nsee;
93          }
94          catch (Exception e) {
95              throw HibernateUtil.processException(e);
96          }
97          finally {
98              closeSession(session);
99          }
100     }
101 
102     public SCFrameworkVersion remove(SCFrameworkVersion scFrameworkVersion)
103         throws SystemException {
104         Session session = null;
105 
106         try {
107             session = openSession();
108             session.delete(scFrameworkVersion);
109             session.flush();
110 
111             return scFrameworkVersion;
112         }
113         catch (Exception e) {
114             throw HibernateUtil.processException(e);
115         }
116         finally {
117             closeSession(session);
118             FinderCache.clearCache(SCFrameworkVersion.class.getName());
119         }
120     }
121 
122     public SCFrameworkVersion update(
123         com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion scFrameworkVersion)
124         throws SystemException {
125         return update(scFrameworkVersion, false);
126     }
127 
128     public SCFrameworkVersion update(
129         com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion scFrameworkVersion,
130         boolean merge) throws SystemException {
131         Session session = null;
132 
133         try {
134             session = openSession();
135 
136             if (merge) {
137                 session.merge(scFrameworkVersion);
138             }
139             else {
140                 if (scFrameworkVersion.isNew()) {
141                     session.save(scFrameworkVersion);
142                 }
143             }
144 
145             session.flush();
146             scFrameworkVersion.setNew(false);
147 
148             return scFrameworkVersion;
149         }
150         catch (Exception e) {
151             throw HibernateUtil.processException(e);
152         }
153         finally {
154             closeSession(session);
155             FinderCache.clearCache(SCFrameworkVersion.class.getName());
156         }
157     }
158 
159     public SCFrameworkVersion findByPrimaryKey(long frameworkVersionId)
160         throws NoSuchFrameworkVersionException, SystemException {
161         SCFrameworkVersion scFrameworkVersion = fetchByPrimaryKey(frameworkVersionId);
162 
163         if (scFrameworkVersion == null) {
164             if (_log.isWarnEnabled()) {
165                 _log.warn("No SCFrameworkVersion exists with the primary key " +
166                     frameworkVersionId);
167             }
168 
169             throw new NoSuchFrameworkVersionException(
170                 "No SCFrameworkVersion exists with the primary key " +
171                 frameworkVersionId);
172         }
173 
174         return scFrameworkVersion;
175     }
176 
177     public SCFrameworkVersion fetchByPrimaryKey(long frameworkVersionId)
178         throws SystemException {
179         Session session = null;
180 
181         try {
182             session = openSession();
183 
184             return (SCFrameworkVersion)session.get(SCFrameworkVersionImpl.class,
185                 new Long(frameworkVersionId));
186         }
187         catch (Exception e) {
188             throw HibernateUtil.processException(e);
189         }
190         finally {
191             closeSession(session);
192         }
193     }
194 
195     public List findByGroupId(long groupId) throws SystemException {
196         String finderClassName = SCFrameworkVersion.class.getName();
197         String finderMethodName = "findByGroupId";
198         String[] finderParams = new String[] { Long.class.getName() };
199         Object[] finderArgs = new Object[] { new Long(groupId) };
200         Object result = FinderCache.getResult(finderClassName,
201                 finderMethodName, finderParams, finderArgs, getSessionFactory());
202 
203         if (result == null) {
204             Session session = null;
205 
206             try {
207                 session = openSession();
208 
209                 StringMaker query = new StringMaker();
210                 query.append(
211                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
212                 query.append("groupId = ?");
213                 query.append(" ");
214                 query.append("ORDER BY ");
215                 query.append("priority ASC").append(", ");
216                 query.append("name ASC");
217 
218                 Query q = session.createQuery(query.toString());
219                 int queryPos = 0;
220                 q.setLong(queryPos++, groupId);
221 
222                 List list = q.list();
223                 FinderCache.putResult(finderClassName, finderMethodName,
224                     finderParams, finderArgs, list);
225 
226                 return list;
227             }
228             catch (Exception e) {
229                 throw HibernateUtil.processException(e);
230             }
231             finally {
232                 closeSession(session);
233             }
234         }
235         else {
236             return (List)result;
237         }
238     }
239 
240     public List findByGroupId(long groupId, int begin, int end)
241         throws SystemException {
242         return findByGroupId(groupId, begin, end, null);
243     }
244 
245     public List findByGroupId(long groupId, int begin, int end,
246         OrderByComparator obc) throws SystemException {
247         String finderClassName = SCFrameworkVersion.class.getName();
248         String finderMethodName = "findByGroupId";
249         String[] finderParams = new String[] {
250                 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
251                 "com.liferay.portal.kernel.util.OrderByComparator"
252             };
253         Object[] finderArgs = new Object[] {
254                 new Long(groupId), String.valueOf(begin), String.valueOf(end),
255                 String.valueOf(obc)
256             };
257         Object result = FinderCache.getResult(finderClassName,
258                 finderMethodName, finderParams, finderArgs, getSessionFactory());
259 
260         if (result == null) {
261             Session session = null;
262 
263             try {
264                 session = openSession();
265 
266                 StringMaker query = new StringMaker();
267                 query.append(
268                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
269                 query.append("groupId = ?");
270                 query.append(" ");
271 
272                 if (obc != null) {
273                     query.append("ORDER BY ");
274                     query.append(obc.getOrderBy());
275                 }
276                 else {
277                     query.append("ORDER BY ");
278                     query.append("priority ASC").append(", ");
279                     query.append("name ASC");
280                 }
281 
282                 Query q = session.createQuery(query.toString());
283                 int queryPos = 0;
284                 q.setLong(queryPos++, groupId);
285 
286                 List list = QueryUtil.list(q, getDialect(), begin, end);
287                 FinderCache.putResult(finderClassName, finderMethodName,
288                     finderParams, finderArgs, list);
289 
290                 return list;
291             }
292             catch (Exception e) {
293                 throw HibernateUtil.processException(e);
294             }
295             finally {
296                 closeSession(session);
297             }
298         }
299         else {
300             return (List)result;
301         }
302     }
303 
304     public SCFrameworkVersion findByGroupId_First(long groupId,
305         OrderByComparator obc)
306         throws NoSuchFrameworkVersionException, SystemException {
307         List list = findByGroupId(groupId, 0, 1, obc);
308 
309         if (list.size() == 0) {
310             StringMaker msg = new StringMaker();
311             msg.append("No SCFrameworkVersion exists with the key ");
312             msg.append(StringPool.OPEN_CURLY_BRACE);
313             msg.append("groupId=");
314             msg.append(groupId);
315             msg.append(StringPool.CLOSE_CURLY_BRACE);
316             throw new NoSuchFrameworkVersionException(msg.toString());
317         }
318         else {
319             return (SCFrameworkVersion)list.get(0);
320         }
321     }
322 
323     public SCFrameworkVersion findByGroupId_Last(long groupId,
324         OrderByComparator obc)
325         throws NoSuchFrameworkVersionException, SystemException {
326         int count = countByGroupId(groupId);
327         List list = findByGroupId(groupId, count - 1, count, obc);
328 
329         if (list.size() == 0) {
330             StringMaker msg = new StringMaker();
331             msg.append("No SCFrameworkVersion exists with the key ");
332             msg.append(StringPool.OPEN_CURLY_BRACE);
333             msg.append("groupId=");
334             msg.append(groupId);
335             msg.append(StringPool.CLOSE_CURLY_BRACE);
336             throw new NoSuchFrameworkVersionException(msg.toString());
337         }
338         else {
339             return (SCFrameworkVersion)list.get(0);
340         }
341     }
342 
343     public SCFrameworkVersion[] findByGroupId_PrevAndNext(
344         long frameworkVersionId, long groupId, OrderByComparator obc)
345         throws NoSuchFrameworkVersionException, SystemException {
346         SCFrameworkVersion scFrameworkVersion = findByPrimaryKey(frameworkVersionId);
347         int count = countByGroupId(groupId);
348         Session session = null;
349 
350         try {
351             session = openSession();
352 
353             StringMaker query = new StringMaker();
354             query.append(
355                 "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
356             query.append("groupId = ?");
357             query.append(" ");
358 
359             if (obc != null) {
360                 query.append("ORDER BY ");
361                 query.append(obc.getOrderBy());
362             }
363             else {
364                 query.append("ORDER BY ");
365                 query.append("priority ASC").append(", ");
366                 query.append("name ASC");
367             }
368 
369             Query q = session.createQuery(query.toString());
370             int queryPos = 0;
371             q.setLong(queryPos++, groupId);
372 
373             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
374                     scFrameworkVersion);
375             SCFrameworkVersion[] array = new SCFrameworkVersionImpl[3];
376             array[0] = (SCFrameworkVersion)objArray[0];
377             array[1] = (SCFrameworkVersion)objArray[1];
378             array[2] = (SCFrameworkVersion)objArray[2];
379 
380             return array;
381         }
382         catch (Exception e) {
383             throw HibernateUtil.processException(e);
384         }
385         finally {
386             closeSession(session);
387         }
388     }
389 
390     public List findByCompanyId(long companyId) throws SystemException {
391         String finderClassName = SCFrameworkVersion.class.getName();
392         String finderMethodName = "findByCompanyId";
393         String[] finderParams = new String[] { Long.class.getName() };
394         Object[] finderArgs = new Object[] { new Long(companyId) };
395         Object result = FinderCache.getResult(finderClassName,
396                 finderMethodName, finderParams, finderArgs, getSessionFactory());
397 
398         if (result == null) {
399             Session session = null;
400 
401             try {
402                 session = openSession();
403 
404                 StringMaker query = new StringMaker();
405                 query.append(
406                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
407                 query.append("companyId = ?");
408                 query.append(" ");
409                 query.append("ORDER BY ");
410                 query.append("priority ASC").append(", ");
411                 query.append("name ASC");
412 
413                 Query q = session.createQuery(query.toString());
414                 int queryPos = 0;
415                 q.setLong(queryPos++, companyId);
416 
417                 List list = q.list();
418                 FinderCache.putResult(finderClassName, finderMethodName,
419                     finderParams, finderArgs, list);
420 
421                 return list;
422             }
423             catch (Exception e) {
424                 throw HibernateUtil.processException(e);
425             }
426             finally {
427                 closeSession(session);
428             }
429         }
430         else {
431             return (List)result;
432         }
433     }
434 
435     public List findByCompanyId(long companyId, int begin, int end)
436         throws SystemException {
437         return findByCompanyId(companyId, begin, end, null);
438     }
439 
440     public List findByCompanyId(long companyId, int begin, int end,
441         OrderByComparator obc) throws SystemException {
442         String finderClassName = SCFrameworkVersion.class.getName();
443         String finderMethodName = "findByCompanyId";
444         String[] finderParams = new String[] {
445                 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
446                 "com.liferay.portal.kernel.util.OrderByComparator"
447             };
448         Object[] finderArgs = new Object[] {
449                 new Long(companyId), String.valueOf(begin), String.valueOf(end),
450                 String.valueOf(obc)
451             };
452         Object result = FinderCache.getResult(finderClassName,
453                 finderMethodName, finderParams, finderArgs, getSessionFactory());
454 
455         if (result == null) {
456             Session session = null;
457 
458             try {
459                 session = openSession();
460 
461                 StringMaker query = new StringMaker();
462                 query.append(
463                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
464                 query.append("companyId = ?");
465                 query.append(" ");
466 
467                 if (obc != null) {
468                     query.append("ORDER BY ");
469                     query.append(obc.getOrderBy());
470                 }
471                 else {
472                     query.append("ORDER BY ");
473                     query.append("priority ASC").append(", ");
474                     query.append("name ASC");
475                 }
476 
477                 Query q = session.createQuery(query.toString());
478                 int queryPos = 0;
479                 q.setLong(queryPos++, companyId);
480 
481                 List list = QueryUtil.list(q, getDialect(), begin, end);
482                 FinderCache.putResult(finderClassName, finderMethodName,
483                     finderParams, finderArgs, list);
484 
485                 return list;
486             }
487             catch (Exception e) {
488                 throw HibernateUtil.processException(e);
489             }
490             finally {
491                 closeSession(session);
492             }
493         }
494         else {
495             return (List)result;
496         }
497     }
498 
499     public SCFrameworkVersion findByCompanyId_First(long companyId,
500         OrderByComparator obc)
501         throws NoSuchFrameworkVersionException, SystemException {
502         List list = findByCompanyId(companyId, 0, 1, obc);
503 
504         if (list.size() == 0) {
505             StringMaker msg = new StringMaker();
506             msg.append("No SCFrameworkVersion exists with the key ");
507             msg.append(StringPool.OPEN_CURLY_BRACE);
508             msg.append("companyId=");
509             msg.append(companyId);
510             msg.append(StringPool.CLOSE_CURLY_BRACE);
511             throw new NoSuchFrameworkVersionException(msg.toString());
512         }
513         else {
514             return (SCFrameworkVersion)list.get(0);
515         }
516     }
517 
518     public SCFrameworkVersion findByCompanyId_Last(long companyId,
519         OrderByComparator obc)
520         throws NoSuchFrameworkVersionException, SystemException {
521         int count = countByCompanyId(companyId);
522         List list = findByCompanyId(companyId, count - 1, count, obc);
523 
524         if (list.size() == 0) {
525             StringMaker msg = new StringMaker();
526             msg.append("No SCFrameworkVersion exists with the key ");
527             msg.append(StringPool.OPEN_CURLY_BRACE);
528             msg.append("companyId=");
529             msg.append(companyId);
530             msg.append(StringPool.CLOSE_CURLY_BRACE);
531             throw new NoSuchFrameworkVersionException(msg.toString());
532         }
533         else {
534             return (SCFrameworkVersion)list.get(0);
535         }
536     }
537 
538     public SCFrameworkVersion[] findByCompanyId_PrevAndNext(
539         long frameworkVersionId, long companyId, OrderByComparator obc)
540         throws NoSuchFrameworkVersionException, SystemException {
541         SCFrameworkVersion scFrameworkVersion = findByPrimaryKey(frameworkVersionId);
542         int count = countByCompanyId(companyId);
543         Session session = null;
544 
545         try {
546             session = openSession();
547 
548             StringMaker query = new StringMaker();
549             query.append(
550                 "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
551             query.append("companyId = ?");
552             query.append(" ");
553 
554             if (obc != null) {
555                 query.append("ORDER BY ");
556                 query.append(obc.getOrderBy());
557             }
558             else {
559                 query.append("ORDER BY ");
560                 query.append("priority ASC").append(", ");
561                 query.append("name ASC");
562             }
563 
564             Query q = session.createQuery(query.toString());
565             int queryPos = 0;
566             q.setLong(queryPos++, companyId);
567 
568             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
569                     scFrameworkVersion);
570             SCFrameworkVersion[] array = new SCFrameworkVersionImpl[3];
571             array[0] = (SCFrameworkVersion)objArray[0];
572             array[1] = (SCFrameworkVersion)objArray[1];
573             array[2] = (SCFrameworkVersion)objArray[2];
574 
575             return array;
576         }
577         catch (Exception e) {
578             throw HibernateUtil.processException(e);
579         }
580         finally {
581             closeSession(session);
582         }
583     }
584 
585     public List findByG_A(long groupId, boolean active)
586         throws SystemException {
587         String finderClassName = SCFrameworkVersion.class.getName();
588         String finderMethodName = "findByG_A";
589         String[] finderParams = new String[] {
590                 Long.class.getName(), Boolean.class.getName()
591             };
592         Object[] finderArgs = new Object[] {
593                 new Long(groupId), Boolean.valueOf(active)
594             };
595         Object result = FinderCache.getResult(finderClassName,
596                 finderMethodName, finderParams, finderArgs, getSessionFactory());
597 
598         if (result == null) {
599             Session session = null;
600 
601             try {
602                 session = openSession();
603 
604                 StringMaker query = new StringMaker();
605                 query.append(
606                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
607                 query.append("groupId = ?");
608                 query.append(" AND ");
609                 query.append("active_ = ?");
610                 query.append(" ");
611                 query.append("ORDER BY ");
612                 query.append("priority ASC").append(", ");
613                 query.append("name ASC");
614 
615                 Query q = session.createQuery(query.toString());
616                 int queryPos = 0;
617                 q.setLong(queryPos++, groupId);
618                 q.setBoolean(queryPos++, active);
619 
620                 List list = q.list();
621                 FinderCache.putResult(finderClassName, finderMethodName,
622                     finderParams, finderArgs, list);
623 
624                 return list;
625             }
626             catch (Exception e) {
627                 throw HibernateUtil.processException(e);
628             }
629             finally {
630                 closeSession(session);
631             }
632         }
633         else {
634             return (List)result;
635         }
636     }
637 
638     public List findByG_A(long groupId, boolean active, int begin, int end)
639         throws SystemException {
640         return findByG_A(groupId, active, begin, end, null);
641     }
642 
643     public List findByG_A(long groupId, boolean active, int begin, int end,
644         OrderByComparator obc) throws SystemException {
645         String finderClassName = SCFrameworkVersion.class.getName();
646         String finderMethodName = "findByG_A";
647         String[] finderParams = new String[] {
648                 Long.class.getName(), Boolean.class.getName(),
649                 "java.lang.Integer", "java.lang.Integer",
650                 "com.liferay.portal.kernel.util.OrderByComparator"
651             };
652         Object[] finderArgs = new Object[] {
653                 new Long(groupId), Boolean.valueOf(active),
654                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
655             };
656         Object result = FinderCache.getResult(finderClassName,
657                 finderMethodName, finderParams, finderArgs, getSessionFactory());
658 
659         if (result == null) {
660             Session session = null;
661 
662             try {
663                 session = openSession();
664 
665                 StringMaker query = new StringMaker();
666                 query.append(
667                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
668                 query.append("groupId = ?");
669                 query.append(" AND ");
670                 query.append("active_ = ?");
671                 query.append(" ");
672 
673                 if (obc != null) {
674                     query.append("ORDER BY ");
675                     query.append(obc.getOrderBy());
676                 }
677                 else {
678                     query.append("ORDER BY ");
679                     query.append("priority ASC").append(", ");
680                     query.append("name ASC");
681                 }
682 
683                 Query q = session.createQuery(query.toString());
684                 int queryPos = 0;
685                 q.setLong(queryPos++, groupId);
686                 q.setBoolean(queryPos++, active);
687 
688                 List list = QueryUtil.list(q, getDialect(), begin, end);
689                 FinderCache.putResult(finderClassName, finderMethodName,
690                     finderParams, finderArgs, list);
691 
692                 return list;
693             }
694             catch (Exception e) {
695                 throw HibernateUtil.processException(e);
696             }
697             finally {
698                 closeSession(session);
699             }
700         }
701         else {
702             return (List)result;
703         }
704     }
705 
706     public SCFrameworkVersion findByG_A_First(long groupId, boolean active,
707         OrderByComparator obc)
708         throws NoSuchFrameworkVersionException, SystemException {
709         List list = findByG_A(groupId, active, 0, 1, obc);
710 
711         if (list.size() == 0) {
712             StringMaker msg = new StringMaker();
713             msg.append("No SCFrameworkVersion exists with the key ");
714             msg.append(StringPool.OPEN_CURLY_BRACE);
715             msg.append("groupId=");
716             msg.append(groupId);
717             msg.append(", ");
718             msg.append("active=");
719             msg.append(active);
720             msg.append(StringPool.CLOSE_CURLY_BRACE);
721             throw new NoSuchFrameworkVersionException(msg.toString());
722         }
723         else {
724             return (SCFrameworkVersion)list.get(0);
725         }
726     }
727 
728     public SCFrameworkVersion findByG_A_Last(long groupId, boolean active,
729         OrderByComparator obc)
730         throws NoSuchFrameworkVersionException, SystemException {
731         int count = countByG_A(groupId, active);
732         List list = findByG_A(groupId, active, count - 1, count, obc);
733 
734         if (list.size() == 0) {
735             StringMaker msg = new StringMaker();
736             msg.append("No SCFrameworkVersion exists with the key ");
737             msg.append(StringPool.OPEN_CURLY_BRACE);
738             msg.append("groupId=");
739             msg.append(groupId);
740             msg.append(", ");
741             msg.append("active=");
742             msg.append(active);
743             msg.append(StringPool.CLOSE_CURLY_BRACE);
744             throw new NoSuchFrameworkVersionException(msg.toString());
745         }
746         else {
747             return (SCFrameworkVersion)list.get(0);
748         }
749     }
750 
751     public SCFrameworkVersion[] findByG_A_PrevAndNext(long frameworkVersionId,
752         long groupId, boolean active, OrderByComparator obc)
753         throws NoSuchFrameworkVersionException, SystemException {
754         SCFrameworkVersion scFrameworkVersion = findByPrimaryKey(frameworkVersionId);
755         int count = countByG_A(groupId, active);
756         Session session = null;
757 
758         try {
759             session = openSession();
760 
761             StringMaker query = new StringMaker();
762             query.append(
763                 "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
764             query.append("groupId = ?");
765             query.append(" AND ");
766             query.append("active_ = ?");
767             query.append(" ");
768 
769             if (obc != null) {
770                 query.append("ORDER BY ");
771                 query.append(obc.getOrderBy());
772             }
773             else {
774                 query.append("ORDER BY ");
775                 query.append("priority ASC").append(", ");
776                 query.append("name ASC");
777             }
778 
779             Query q = session.createQuery(query.toString());
780             int queryPos = 0;
781             q.setLong(queryPos++, groupId);
782             q.setBoolean(queryPos++, active);
783 
784             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
785                     scFrameworkVersion);
786             SCFrameworkVersion[] array = new SCFrameworkVersionImpl[3];
787             array[0] = (SCFrameworkVersion)objArray[0];
788             array[1] = (SCFrameworkVersion)objArray[1];
789             array[2] = (SCFrameworkVersion)objArray[2];
790 
791             return array;
792         }
793         catch (Exception e) {
794             throw HibernateUtil.processException(e);
795         }
796         finally {
797             closeSession(session);
798         }
799     }
800 
801     public List findWithDynamicQuery(DynamicQueryInitializer queryInitializer)
802         throws SystemException {
803         Session session = null;
804 
805         try {
806             session = openSession();
807 
808             DynamicQuery query = queryInitializer.initialize(session);
809 
810             return query.list();
811         }
812         catch (Exception e) {
813             throw HibernateUtil.processException(e);
814         }
815         finally {
816             closeSession(session);
817         }
818     }
819 
820     public List findWithDynamicQuery(DynamicQueryInitializer queryInitializer,
821         int begin, int end) throws SystemException {
822         Session session = null;
823 
824         try {
825             session = openSession();
826 
827             DynamicQuery query = queryInitializer.initialize(session);
828             query.setLimit(begin, end);
829 
830             return query.list();
831         }
832         catch (Exception e) {
833             throw HibernateUtil.processException(e);
834         }
835         finally {
836             closeSession(session);
837         }
838     }
839 
840     public List findAll() throws SystemException {
841         return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
842     }
843 
844     public List findAll(int begin, int end) throws SystemException {
845         return findAll(begin, end, null);
846     }
847 
848     public List findAll(int begin, int end, OrderByComparator obc)
849         throws SystemException {
850         String finderClassName = SCFrameworkVersion.class.getName();
851         String finderMethodName = "findAll";
852         String[] finderParams = new String[] {
853                 "java.lang.Integer", "java.lang.Integer",
854                 "com.liferay.portal.kernel.util.OrderByComparator"
855             };
856         Object[] finderArgs = new Object[] {
857                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
858             };
859         Object result = FinderCache.getResult(finderClassName,
860                 finderMethodName, finderParams, finderArgs, getSessionFactory());
861 
862         if (result == null) {
863             Session session = null;
864 
865             try {
866                 session = openSession();
867 
868                 StringMaker query = new StringMaker();
869                 query.append(
870                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion ");
871 
872                 if (obc != null) {
873                     query.append("ORDER BY ");
874                     query.append(obc.getOrderBy());
875                 }
876                 else {
877                     query.append("ORDER BY ");
878                     query.append("priority ASC").append(", ");
879                     query.append("name ASC");
880                 }
881 
882                 Query q = session.createQuery(query.toString());
883                 List list = QueryUtil.list(q, getDialect(), begin, end);
884 
885                 if (obc == null) {
886                     Collections.sort(list);
887                 }
888 
889                 FinderCache.putResult(finderClassName, finderMethodName,
890                     finderParams, finderArgs, list);
891 
892                 return list;
893             }
894             catch (Exception e) {
895                 throw HibernateUtil.processException(e);
896             }
897             finally {
898                 closeSession(session);
899             }
900         }
901         else {
902             return (List)result;
903         }
904     }
905 
906     public void removeByGroupId(long groupId) throws SystemException {
907         Iterator itr = findByGroupId(groupId).iterator();
908 
909         while (itr.hasNext()) {
910             SCFrameworkVersion scFrameworkVersion = (SCFrameworkVersion)itr.next();
911             remove(scFrameworkVersion);
912         }
913     }
914 
915     public void removeByCompanyId(long companyId) throws SystemException {
916         Iterator itr = findByCompanyId(companyId).iterator();
917 
918         while (itr.hasNext()) {
919             SCFrameworkVersion scFrameworkVersion = (SCFrameworkVersion)itr.next();
920             remove(scFrameworkVersion);
921         }
922     }
923 
924     public void removeByG_A(long groupId, boolean active)
925         throws SystemException {
926         Iterator itr = findByG_A(groupId, active).iterator();
927 
928         while (itr.hasNext()) {
929             SCFrameworkVersion scFrameworkVersion = (SCFrameworkVersion)itr.next();
930             remove(scFrameworkVersion);
931         }
932     }
933 
934     public void removeAll() throws SystemException {
935         Iterator itr = findAll().iterator();
936 
937         while (itr.hasNext()) {
938             remove((SCFrameworkVersion)itr.next());
939         }
940     }
941 
942     public int countByGroupId(long groupId) throws SystemException {
943         String finderClassName = SCFrameworkVersion.class.getName();
944         String finderMethodName = "countByGroupId";
945         String[] finderParams = new String[] { Long.class.getName() };
946         Object[] finderArgs = new Object[] { new Long(groupId) };
947         Object result = FinderCache.getResult(finderClassName,
948                 finderMethodName, finderParams, finderArgs, getSessionFactory());
949 
950         if (result == null) {
951             Session session = null;
952 
953             try {
954                 session = openSession();
955 
956                 StringMaker query = new StringMaker();
957                 query.append("SELECT COUNT(*) ");
958                 query.append(
959                     "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
960                 query.append("groupId = ?");
961                 query.append(" ");
962 
963                 Query q = session.createQuery(query.toString());
964                 int queryPos = 0;
965                 q.setLong(queryPos++, groupId);
966 
967                 Long count = null;
968                 Iterator itr = q.list().iterator();
969 
970                 if (itr.hasNext()) {
971                     count = (Long)itr.next();
972                 }
973 
974                 if (count == null) {
975                     count = new Long(0);
976                 }
977 
978                 FinderCache.putResult(finderClassName, finderMethodName,
979                     finderParams, finderArgs, count);
980 
981                 return count.intValue();
982             }
983             catch (Exception e) {
984                 throw HibernateUtil.processException(e);
985             }
986             finally {
987                 closeSession(session);
988             }
989         }
990         else {
991             return ((Long)result).intValue();
992         }
993     }
994 
995     public int countByCompanyId(long companyId) throws SystemException {
996         String finderClassName = SCFrameworkVersion.class.getName();
997         String finderMethodName = "countByCompanyId";
998         String[] finderParams = new String[] { Long.class.getName() };
999         Object[] finderArgs = new Object[] { new Long(companyId) };
1000        Object result = FinderCache.getResult(finderClassName,
1001                finderMethodName, finderParams, finderArgs, getSessionFactory());
1002
1003        if (result == null) {
1004            Session session = null;
1005
1006            try {
1007                session = openSession();
1008
1009                StringMaker query = new StringMaker();
1010                query.append("SELECT COUNT(*) ");
1011                query.append(
1012                    "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
1013                query.append("companyId = ?");
1014                query.append(" ");
1015
1016                Query q = session.createQuery(query.toString());
1017                int queryPos = 0;
1018                q.setLong(queryPos++, companyId);
1019
1020                Long count = null;
1021                Iterator itr = q.list().iterator();
1022
1023                if (itr.hasNext()) {
1024                    count = (Long)itr.next();
1025                }
1026
1027                if (count == null) {
1028                    count = new Long(0);
1029                }
1030
1031                FinderCache.putResult(finderClassName, finderMethodName,
1032                    finderParams, finderArgs, count);
1033
1034                return count.intValue();
1035            }
1036            catch (Exception e) {
1037                throw HibernateUtil.processException(e);
1038            }
1039            finally {
1040                closeSession(session);
1041            }
1042        }
1043        else {
1044            return ((Long)result).intValue();
1045        }
1046    }
1047
1048    public int countByG_A(long groupId, boolean active)
1049        throws SystemException {
1050        String finderClassName = SCFrameworkVersion.class.getName();
1051        String finderMethodName = "countByG_A";
1052        String[] finderParams = new String[] {
1053                Long.class.getName(), Boolean.class.getName()
1054            };
1055        Object[] finderArgs = new Object[] {
1056                new Long(groupId), Boolean.valueOf(active)
1057            };
1058        Object result = FinderCache.getResult(finderClassName,
1059                finderMethodName, finderParams, finderArgs, getSessionFactory());
1060
1061        if (result == null) {
1062            Session session = null;
1063
1064            try {
1065                session = openSession();
1066
1067                StringMaker query = new StringMaker();
1068                query.append("SELECT COUNT(*) ");
1069                query.append(
1070                    "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion WHERE ");
1071                query.append("groupId = ?");
1072                query.append(" AND ");
1073                query.append("active_ = ?");
1074                query.append(" ");
1075
1076                Query q = session.createQuery(query.toString());
1077                int queryPos = 0;
1078                q.setLong(queryPos++, groupId);
1079                q.setBoolean(queryPos++, active);
1080
1081                Long count = null;
1082                Iterator itr = q.list().iterator();
1083
1084                if (itr.hasNext()) {
1085                    count = (Long)itr.next();
1086                }
1087
1088                if (count == null) {
1089                    count = new Long(0);
1090                }
1091
1092                FinderCache.putResult(finderClassName, finderMethodName,
1093                    finderParams, finderArgs, count);
1094
1095                return count.intValue();
1096            }
1097            catch (Exception e) {
1098                throw HibernateUtil.processException(e);
1099            }
1100            finally {
1101                closeSession(session);
1102            }
1103        }
1104        else {
1105            return ((Long)result).intValue();
1106        }
1107    }
1108
1109    public int countAll() throws SystemException {
1110        String finderClassName = SCFrameworkVersion.class.getName();
1111        String finderMethodName = "countAll";
1112        String[] finderParams = new String[] {  };
1113        Object[] finderArgs = new Object[] {  };
1114        Object result = FinderCache.getResult(finderClassName,
1115                finderMethodName, finderParams, finderArgs, getSessionFactory());
1116
1117        if (result == null) {
1118            Session session = null;
1119
1120            try {
1121                session = openSession();
1122
1123                StringMaker query = new StringMaker();
1124                query.append("SELECT COUNT(*) ");
1125                query.append(
1126                    "FROM com.liferay.portlet.softwarecatalog.model.SCFrameworkVersion");
1127
1128                Query q = session.createQuery(query.toString());
1129                Long count = null;
1130                Iterator itr = q.list().iterator();
1131
1132                if (itr.hasNext()) {
1133                    count = (Long)itr.next();
1134                }
1135
1136                if (count == null) {
1137                    count = new Long(0);
1138                }
1139
1140                FinderCache.putResult(finderClassName, finderMethodName,
1141                    finderParams, finderArgs, count);
1142
1143                return count.intValue();
1144            }
1145            catch (Exception e) {
1146                throw HibernateUtil.processException(e);
1147            }
1148            finally {
1149                closeSession(session);
1150            }
1151        }
1152        else {
1153            return ((Long)result).intValue();
1154        }
1155    }
1156
1157    protected void initDao() {
1158    }
1159
1160    private static Log _log = LogFactory.getLog(SCFrameworkVersionPersistenceImpl.class);
1161}