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