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