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.imagegallery.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.DynamicQuery;
22  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
23  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
24  import com.liferay.portal.kernel.dao.orm.FinderPath;
25  import com.liferay.portal.kernel.dao.orm.Query;
26  import com.liferay.portal.kernel.dao.orm.QueryPos;
27  import com.liferay.portal.kernel.dao.orm.QueryUtil;
28  import com.liferay.portal.kernel.dao.orm.Session;
29  import com.liferay.portal.kernel.log.Log;
30  import com.liferay.portal.kernel.log.LogFactoryUtil;
31  import com.liferay.portal.kernel.util.GetterUtil;
32  import com.liferay.portal.kernel.util.OrderByComparator;
33  import com.liferay.portal.kernel.util.StringBundler;
34  import com.liferay.portal.kernel.util.StringPool;
35  import com.liferay.portal.kernel.util.StringUtil;
36  import com.liferay.portal.kernel.util.Validator;
37  import com.liferay.portal.kernel.uuid.PortalUUIDUtil;
38  import com.liferay.portal.model.ModelListener;
39  import com.liferay.portal.service.persistence.BatchSessionUtil;
40  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
41  
42  import com.liferay.portlet.imagegallery.NoSuchImageException;
43  import com.liferay.portlet.imagegallery.model.IGImage;
44  import com.liferay.portlet.imagegallery.model.impl.IGImageImpl;
45  import com.liferay.portlet.imagegallery.model.impl.IGImageModelImpl;
46  
47  import java.io.Serializable;
48  
49  import java.util.ArrayList;
50  import java.util.Collections;
51  import java.util.List;
52  
53  /**
54   * <a href="IGImagePersistenceImpl.java.html"><b><i>View Source</i></b></a>
55   *
56   * <p>
57   * ServiceBuilder generated this class. Modifications in this class will be
58   * overwritten the next time is generated.
59   * </p>
60   *
61   * @author    Brian Wing Shun Chan
62   * @see       IGImagePersistence
63   * @see       IGImageUtil
64   * @generated
65   */
66  public class IGImagePersistenceImpl extends BasePersistenceImpl<IGImage>
67      implements IGImagePersistence {
68      public static final String FINDER_CLASS_NAME_ENTITY = IGImageImpl.class.getName();
69      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
70          ".List";
71      public static final FinderPath FINDER_PATH_FIND_BY_UUID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
72              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
73              "findByUuid", new String[] { String.class.getName() });
74      public static final FinderPath FINDER_PATH_FIND_BY_OBC_UUID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
75              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
76              "findByUuid",
77              new String[] {
78                  String.class.getName(),
79                  
80              "java.lang.Integer", "java.lang.Integer",
81                  "com.liferay.portal.kernel.util.OrderByComparator"
82              });
83      public static final FinderPath FINDER_PATH_COUNT_BY_UUID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
84              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
85              "countByUuid", new String[] { String.class.getName() });
86      public static final FinderPath FINDER_PATH_FETCH_BY_UUID_G = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
87              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
88              "fetchByUUID_G",
89              new String[] { String.class.getName(), Long.class.getName() });
90      public static final FinderPath FINDER_PATH_COUNT_BY_UUID_G = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
91              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
92              "countByUUID_G",
93              new String[] { String.class.getName(), Long.class.getName() });
94      public static final FinderPath FINDER_PATH_FIND_BY_GROUPID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
95              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
96              "findByGroupId", new String[] { Long.class.getName() });
97      public static final FinderPath FINDER_PATH_FIND_BY_OBC_GROUPID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
98              IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
99              "findByGroupId",
100             new String[] {
101                 Long.class.getName(),
102                 
103             "java.lang.Integer", "java.lang.Integer",
104                 "com.liferay.portal.kernel.util.OrderByComparator"
105             });
106     public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
107             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
108             "countByGroupId", new String[] { Long.class.getName() });
109     public static final FinderPath FINDER_PATH_FIND_BY_FOLDERID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
110             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
111             "findByFolderId", new String[] { Long.class.getName() });
112     public static final FinderPath FINDER_PATH_FIND_BY_OBC_FOLDERID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
113             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
114             "findByFolderId",
115             new String[] {
116                 Long.class.getName(),
117                 
118             "java.lang.Integer", "java.lang.Integer",
119                 "com.liferay.portal.kernel.util.OrderByComparator"
120             });
121     public static final FinderPath FINDER_PATH_COUNT_BY_FOLDERID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
122             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
123             "countByFolderId", new String[] { Long.class.getName() });
124     public static final FinderPath FINDER_PATH_FETCH_BY_SMALLIMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
125             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
126             "fetchBySmallImageId", new String[] { Long.class.getName() });
127     public static final FinderPath FINDER_PATH_COUNT_BY_SMALLIMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
128             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
129             "countBySmallImageId", new String[] { Long.class.getName() });
130     public static final FinderPath FINDER_PATH_FETCH_BY_LARGEIMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
131             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
132             "fetchByLargeImageId", new String[] { Long.class.getName() });
133     public static final FinderPath FINDER_PATH_COUNT_BY_LARGEIMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
134             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
135             "countByLargeImageId", new String[] { Long.class.getName() });
136     public static final FinderPath FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
137             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
138             "fetchByCustom1ImageId", new String[] { Long.class.getName() });
139     public static final FinderPath FINDER_PATH_COUNT_BY_CUSTOM1IMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
140             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
141             "countByCustom1ImageId", new String[] { Long.class.getName() });
142     public static final FinderPath FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
143             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
144             "fetchByCustom2ImageId", new String[] { Long.class.getName() });
145     public static final FinderPath FINDER_PATH_COUNT_BY_CUSTOM2IMAGEID = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
146             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
147             "countByCustom2ImageId", new String[] { Long.class.getName() });
148     public static final FinderPath FINDER_PATH_FIND_BY_G_U = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
149             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
150             "findByG_U",
151             new String[] { Long.class.getName(), Long.class.getName() });
152     public static final FinderPath FINDER_PATH_FIND_BY_OBC_G_U = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
153             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
154             "findByG_U",
155             new String[] {
156                 Long.class.getName(), Long.class.getName(),
157                 
158             "java.lang.Integer", "java.lang.Integer",
159                 "com.liferay.portal.kernel.util.OrderByComparator"
160             });
161     public static final FinderPath FINDER_PATH_COUNT_BY_G_U = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
162             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
163             "countByG_U",
164             new String[] { Long.class.getName(), Long.class.getName() });
165     public static final FinderPath FINDER_PATH_FIND_BY_F_N = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
166             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
167             "findByF_N",
168             new String[] { Long.class.getName(), String.class.getName() });
169     public static final FinderPath FINDER_PATH_FIND_BY_OBC_F_N = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
170             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
171             "findByF_N",
172             new String[] {
173                 Long.class.getName(), String.class.getName(),
174                 
175             "java.lang.Integer", "java.lang.Integer",
176                 "com.liferay.portal.kernel.util.OrderByComparator"
177             });
178     public static final FinderPath FINDER_PATH_COUNT_BY_F_N = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
179             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
180             "countByF_N",
181             new String[] { Long.class.getName(), String.class.getName() });
182     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
183             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
184             "findAll", new String[0]);
185     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(IGImageModelImpl.ENTITY_CACHE_ENABLED,
186             IGImageModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
187             "countAll", new String[0]);
188 
189     public void cacheResult(IGImage igImage) {
190         EntityCacheUtil.putResult(IGImageModelImpl.ENTITY_CACHE_ENABLED,
191             IGImageImpl.class, igImage.getPrimaryKey(), igImage);
192 
193         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_UUID_G,
194             new Object[] { igImage.getUuid(), new Long(igImage.getGroupId()) },
195             igImage);
196 
197         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
198             new Object[] { new Long(igImage.getSmallImageId()) }, igImage);
199 
200         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
201             new Object[] { new Long(igImage.getLargeImageId()) }, igImage);
202 
203         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
204             new Object[] { new Long(igImage.getCustom1ImageId()) }, igImage);
205 
206         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
207             new Object[] { new Long(igImage.getCustom2ImageId()) }, igImage);
208     }
209 
210     public void cacheResult(List<IGImage> igImages) {
211         for (IGImage igImage : igImages) {
212             if (EntityCacheUtil.getResult(
213                         IGImageModelImpl.ENTITY_CACHE_ENABLED,
214                         IGImageImpl.class, igImage.getPrimaryKey(), this) == null) {
215                 cacheResult(igImage);
216             }
217         }
218     }
219 
220     public void clearCache() {
221         CacheRegistry.clear(IGImageImpl.class.getName());
222         EntityCacheUtil.clearCache(IGImageImpl.class.getName());
223         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
224         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
225     }
226 
227     public IGImage create(long imageId) {
228         IGImage igImage = new IGImageImpl();
229 
230         igImage.setNew(true);
231         igImage.setPrimaryKey(imageId);
232 
233         String uuid = PortalUUIDUtil.generate();
234 
235         igImage.setUuid(uuid);
236 
237         return igImage;
238     }
239 
240     public IGImage remove(Serializable primaryKey)
241         throws NoSuchModelException, SystemException {
242         return remove(((Long)primaryKey).longValue());
243     }
244 
245     public IGImage remove(long imageId)
246         throws NoSuchImageException, SystemException {
247         Session session = null;
248 
249         try {
250             session = openSession();
251 
252             IGImage igImage = (IGImage)session.get(IGImageImpl.class,
253                     new Long(imageId));
254 
255             if (igImage == null) {
256                 if (_log.isWarnEnabled()) {
257                     _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + imageId);
258                 }
259 
260                 throw new NoSuchImageException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
261                     imageId);
262             }
263 
264             return remove(igImage);
265         }
266         catch (NoSuchImageException nsee) {
267             throw nsee;
268         }
269         catch (Exception e) {
270             throw processException(e);
271         }
272         finally {
273             closeSession(session);
274         }
275     }
276 
277     public IGImage remove(IGImage igImage) throws SystemException {
278         for (ModelListener<IGImage> listener : listeners) {
279             listener.onBeforeRemove(igImage);
280         }
281 
282         igImage = removeImpl(igImage);
283 
284         for (ModelListener<IGImage> listener : listeners) {
285             listener.onAfterRemove(igImage);
286         }
287 
288         return igImage;
289     }
290 
291     protected IGImage removeImpl(IGImage igImage) throws SystemException {
292         igImage = toUnwrappedModel(igImage);
293 
294         Session session = null;
295 
296         try {
297             session = openSession();
298 
299             if (igImage.isCachedModel() || BatchSessionUtil.isEnabled()) {
300                 Object staleObject = session.get(IGImageImpl.class,
301                         igImage.getPrimaryKeyObj());
302 
303                 if (staleObject != null) {
304                     session.evict(staleObject);
305                 }
306             }
307 
308             session.delete(igImage);
309 
310             session.flush();
311         }
312         catch (Exception e) {
313             throw processException(e);
314         }
315         finally {
316             closeSession(session);
317         }
318 
319         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
320 
321         IGImageModelImpl igImageModelImpl = (IGImageModelImpl)igImage;
322 
323         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_UUID_G,
324             new Object[] {
325                 igImageModelImpl.getOriginalUuid(),
326                 new Long(igImageModelImpl.getOriginalGroupId())
327             });
328 
329         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
330             new Object[] { new Long(igImageModelImpl.getOriginalSmallImageId()) });
331 
332         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
333             new Object[] { new Long(igImageModelImpl.getOriginalLargeImageId()) });
334 
335         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
336             new Object[] { new Long(igImageModelImpl.getOriginalCustom1ImageId()) });
337 
338         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
339             new Object[] { new Long(igImageModelImpl.getOriginalCustom2ImageId()) });
340 
341         EntityCacheUtil.removeResult(IGImageModelImpl.ENTITY_CACHE_ENABLED,
342             IGImageImpl.class, igImage.getPrimaryKey());
343 
344         return igImage;
345     }
346 
347     /**
348      * @deprecated Use {@link BasePersistence#update(com.liferay.portal.model.BaseModel, boolean)}.
349      */
350     public IGImage update(IGImage igImage) throws SystemException {
351         if (_log.isWarnEnabled()) {
352             _log.warn(
353                 "Using the deprecated update(IGImage igImage) method. Use update(IGImage igImage, boolean merge) instead.");
354         }
355 
356         return update(igImage, false);
357     }
358 
359     public IGImage updateImpl(
360         com.liferay.portlet.imagegallery.model.IGImage igImage, boolean merge)
361         throws SystemException {
362         igImage = toUnwrappedModel(igImage);
363 
364         boolean isNew = igImage.isNew();
365 
366         IGImageModelImpl igImageModelImpl = (IGImageModelImpl)igImage;
367 
368         if (Validator.isNull(igImage.getUuid())) {
369             String uuid = PortalUUIDUtil.generate();
370 
371             igImage.setUuid(uuid);
372         }
373 
374         Session session = null;
375 
376         try {
377             session = openSession();
378 
379             BatchSessionUtil.update(session, igImage, merge);
380 
381             igImage.setNew(false);
382         }
383         catch (Exception e) {
384             throw processException(e);
385         }
386         finally {
387             closeSession(session);
388         }
389 
390         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
391 
392         EntityCacheUtil.putResult(IGImageModelImpl.ENTITY_CACHE_ENABLED,
393             IGImageImpl.class, igImage.getPrimaryKey(), igImage);
394 
395         if (!isNew &&
396                 (!Validator.equals(igImage.getUuid(),
397                     igImageModelImpl.getOriginalUuid()) ||
398                 (igImage.getGroupId() != igImageModelImpl.getOriginalGroupId()))) {
399             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_UUID_G,
400                 new Object[] {
401                     igImageModelImpl.getOriginalUuid(),
402                     new Long(igImageModelImpl.getOriginalGroupId())
403                 });
404         }
405 
406         if (isNew ||
407                 (!Validator.equals(igImage.getUuid(),
408                     igImageModelImpl.getOriginalUuid()) ||
409                 (igImage.getGroupId() != igImageModelImpl.getOriginalGroupId()))) {
410             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_UUID_G,
411                 new Object[] { igImage.getUuid(), new Long(igImage.getGroupId()) },
412                 igImage);
413         }
414 
415         if (!isNew &&
416                 (igImage.getSmallImageId() != igImageModelImpl.getOriginalSmallImageId())) {
417             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
418                 new Object[] {
419                     new Long(igImageModelImpl.getOriginalSmallImageId())
420                 });
421         }
422 
423         if (isNew ||
424                 (igImage.getSmallImageId() != igImageModelImpl.getOriginalSmallImageId())) {
425             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
426                 new Object[] { new Long(igImage.getSmallImageId()) }, igImage);
427         }
428 
429         if (!isNew &&
430                 (igImage.getLargeImageId() != igImageModelImpl.getOriginalLargeImageId())) {
431             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
432                 new Object[] {
433                     new Long(igImageModelImpl.getOriginalLargeImageId())
434                 });
435         }
436 
437         if (isNew ||
438                 (igImage.getLargeImageId() != igImageModelImpl.getOriginalLargeImageId())) {
439             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
440                 new Object[] { new Long(igImage.getLargeImageId()) }, igImage);
441         }
442 
443         if (!isNew &&
444                 (igImage.getCustom1ImageId() != igImageModelImpl.getOriginalCustom1ImageId())) {
445             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
446                 new Object[] {
447                     new Long(igImageModelImpl.getOriginalCustom1ImageId())
448                 });
449         }
450 
451         if (isNew ||
452                 (igImage.getCustom1ImageId() != igImageModelImpl.getOriginalCustom1ImageId())) {
453             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
454                 new Object[] { new Long(igImage.getCustom1ImageId()) }, igImage);
455         }
456 
457         if (!isNew &&
458                 (igImage.getCustom2ImageId() != igImageModelImpl.getOriginalCustom2ImageId())) {
459             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
460                 new Object[] {
461                     new Long(igImageModelImpl.getOriginalCustom2ImageId())
462                 });
463         }
464 
465         if (isNew ||
466                 (igImage.getCustom2ImageId() != igImageModelImpl.getOriginalCustom2ImageId())) {
467             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
468                 new Object[] { new Long(igImage.getCustom2ImageId()) }, igImage);
469         }
470 
471         return igImage;
472     }
473 
474     protected IGImage toUnwrappedModel(IGImage igImage) {
475         if (igImage instanceof IGImageImpl) {
476             return igImage;
477         }
478 
479         IGImageImpl igImageImpl = new IGImageImpl();
480 
481         igImageImpl.setNew(igImage.isNew());
482         igImageImpl.setPrimaryKey(igImage.getPrimaryKey());
483 
484         igImageImpl.setUuid(igImage.getUuid());
485         igImageImpl.setImageId(igImage.getImageId());
486         igImageImpl.setGroupId(igImage.getGroupId());
487         igImageImpl.setCompanyId(igImage.getCompanyId());
488         igImageImpl.setUserId(igImage.getUserId());
489         igImageImpl.setCreateDate(igImage.getCreateDate());
490         igImageImpl.setModifiedDate(igImage.getModifiedDate());
491         igImageImpl.setFolderId(igImage.getFolderId());
492         igImageImpl.setName(igImage.getName());
493         igImageImpl.setDescription(igImage.getDescription());
494         igImageImpl.setSmallImageId(igImage.getSmallImageId());
495         igImageImpl.setLargeImageId(igImage.getLargeImageId());
496         igImageImpl.setCustom1ImageId(igImage.getCustom1ImageId());
497         igImageImpl.setCustom2ImageId(igImage.getCustom2ImageId());
498 
499         return igImageImpl;
500     }
501 
502     public IGImage findByPrimaryKey(Serializable primaryKey)
503         throws NoSuchModelException, SystemException {
504         return findByPrimaryKey(((Long)primaryKey).longValue());
505     }
506 
507     public IGImage findByPrimaryKey(long imageId)
508         throws NoSuchImageException, SystemException {
509         IGImage igImage = fetchByPrimaryKey(imageId);
510 
511         if (igImage == null) {
512             if (_log.isWarnEnabled()) {
513                 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + imageId);
514             }
515 
516             throw new NoSuchImageException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
517                 imageId);
518         }
519 
520         return igImage;
521     }
522 
523     public IGImage fetchByPrimaryKey(Serializable primaryKey)
524         throws SystemException {
525         return fetchByPrimaryKey(((Long)primaryKey).longValue());
526     }
527 
528     public IGImage fetchByPrimaryKey(long imageId) throws SystemException {
529         IGImage igImage = (IGImage)EntityCacheUtil.getResult(IGImageModelImpl.ENTITY_CACHE_ENABLED,
530                 IGImageImpl.class, imageId, this);
531 
532         if (igImage == null) {
533             Session session = null;
534 
535             try {
536                 session = openSession();
537 
538                 igImage = (IGImage)session.get(IGImageImpl.class,
539                         new Long(imageId));
540             }
541             catch (Exception e) {
542                 throw processException(e);
543             }
544             finally {
545                 if (igImage != null) {
546                     cacheResult(igImage);
547                 }
548 
549                 closeSession(session);
550             }
551         }
552 
553         return igImage;
554     }
555 
556     public List<IGImage> findByUuid(String uuid) throws SystemException {
557         Object[] finderArgs = new Object[] { uuid };
558 
559         List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_UUID,
560                 finderArgs, this);
561 
562         if (list == null) {
563             Session session = null;
564 
565             try {
566                 session = openSession();
567 
568                 StringBundler query = new StringBundler(3);
569 
570                 query.append(_SQL_SELECT_IGIMAGE_WHERE);
571 
572                 if (uuid == null) {
573                     query.append(_FINDER_COLUMN_UUID_UUID_1);
574                 }
575                 else {
576                     if (uuid.equals(StringPool.BLANK)) {
577                         query.append(_FINDER_COLUMN_UUID_UUID_3);
578                     }
579                     else {
580                         query.append(_FINDER_COLUMN_UUID_UUID_2);
581                     }
582                 }
583 
584                 query.append(IGImageModelImpl.ORDER_BY_JPQL);
585 
586                 String sql = query.toString();
587 
588                 Query q = session.createQuery(sql);
589 
590                 QueryPos qPos = QueryPos.getInstance(q);
591 
592                 if (uuid != null) {
593                     qPos.add(uuid);
594                 }
595 
596                 list = q.list();
597             }
598             catch (Exception e) {
599                 throw processException(e);
600             }
601             finally {
602                 if (list == null) {
603                     list = new ArrayList<IGImage>();
604                 }
605 
606                 cacheResult(list);
607 
608                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_UUID, finderArgs,
609                     list);
610 
611                 closeSession(session);
612             }
613         }
614 
615         return list;
616     }
617 
618     public List<IGImage> findByUuid(String uuid, int start, int end)
619         throws SystemException {
620         return findByUuid(uuid, start, end, null);
621     }
622 
623     public List<IGImage> findByUuid(String uuid, int start, int end,
624         OrderByComparator obc) throws SystemException {
625         Object[] finderArgs = new Object[] {
626                 uuid,
627                 
628                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
629             };
630 
631         List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_UUID,
632                 finderArgs, this);
633 
634         if (list == null) {
635             Session session = null;
636 
637             try {
638                 session = openSession();
639 
640                 StringBundler query = null;
641 
642                 if (obc != null) {
643                     query = new StringBundler(3 +
644                             (obc.getOrderByFields().length * 3));
645                 }
646                 else {
647                     query = new StringBundler(3);
648                 }
649 
650                 query.append(_SQL_SELECT_IGIMAGE_WHERE);
651 
652                 if (uuid == null) {
653                     query.append(_FINDER_COLUMN_UUID_UUID_1);
654                 }
655                 else {
656                     if (uuid.equals(StringPool.BLANK)) {
657                         query.append(_FINDER_COLUMN_UUID_UUID_3);
658                     }
659                     else {
660                         query.append(_FINDER_COLUMN_UUID_UUID_2);
661                     }
662                 }
663 
664                 if (obc != null) {
665                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
666                 }
667 
668                 else {
669                     query.append(IGImageModelImpl.ORDER_BY_JPQL);
670                 }
671 
672                 String sql = query.toString();
673 
674                 Query q = session.createQuery(sql);
675 
676                 QueryPos qPos = QueryPos.getInstance(q);
677 
678                 if (uuid != null) {
679                     qPos.add(uuid);
680                 }
681 
682                 list = (List<IGImage>)QueryUtil.list(q, getDialect(), start, end);
683             }
684             catch (Exception e) {
685                 throw processException(e);
686             }
687             finally {
688                 if (list == null) {
689                     list = new ArrayList<IGImage>();
690                 }
691 
692                 cacheResult(list);
693 
694                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_UUID,
695                     finderArgs, list);
696 
697                 closeSession(session);
698             }
699         }
700 
701         return list;
702     }
703 
704     public IGImage findByUuid_First(String uuid, OrderByComparator obc)
705         throws NoSuchImageException, SystemException {
706         List<IGImage> list = findByUuid(uuid, 0, 1, obc);
707 
708         if (list.isEmpty()) {
709             StringBundler msg = new StringBundler(4);
710 
711             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
712 
713             msg.append("uuid=");
714             msg.append(uuid);
715 
716             msg.append(StringPool.CLOSE_CURLY_BRACE);
717 
718             throw new NoSuchImageException(msg.toString());
719         }
720         else {
721             return list.get(0);
722         }
723     }
724 
725     public IGImage findByUuid_Last(String uuid, OrderByComparator obc)
726         throws NoSuchImageException, SystemException {
727         int count = countByUuid(uuid);
728 
729         List<IGImage> list = findByUuid(uuid, count - 1, count, obc);
730 
731         if (list.isEmpty()) {
732             StringBundler msg = new StringBundler(4);
733 
734             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
735 
736             msg.append("uuid=");
737             msg.append(uuid);
738 
739             msg.append(StringPool.CLOSE_CURLY_BRACE);
740 
741             throw new NoSuchImageException(msg.toString());
742         }
743         else {
744             return list.get(0);
745         }
746     }
747 
748     public IGImage[] findByUuid_PrevAndNext(long imageId, String uuid,
749         OrderByComparator obc) throws NoSuchImageException, SystemException {
750         IGImage igImage = findByPrimaryKey(imageId);
751 
752         int count = countByUuid(uuid);
753 
754         Session session = null;
755 
756         try {
757             session = openSession();
758 
759             StringBundler query = null;
760 
761             if (obc != null) {
762                 query = new StringBundler(3 +
763                         (obc.getOrderByFields().length * 3));
764             }
765             else {
766                 query = new StringBundler(3);
767             }
768 
769             query.append(_SQL_SELECT_IGIMAGE_WHERE);
770 
771             if (uuid == null) {
772                 query.append(_FINDER_COLUMN_UUID_UUID_1);
773             }
774             else {
775                 if (uuid.equals(StringPool.BLANK)) {
776                     query.append(_FINDER_COLUMN_UUID_UUID_3);
777                 }
778                 else {
779                     query.append(_FINDER_COLUMN_UUID_UUID_2);
780                 }
781             }
782 
783             if (obc != null) {
784                 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
785             }
786 
787             else {
788                 query.append(IGImageModelImpl.ORDER_BY_JPQL);
789             }
790 
791             String sql = query.toString();
792 
793             Query q = session.createQuery(sql);
794 
795             QueryPos qPos = QueryPos.getInstance(q);
796 
797             if (uuid != null) {
798                 qPos.add(uuid);
799             }
800 
801             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, igImage);
802 
803             IGImage[] array = new IGImageImpl[3];
804 
805             array[0] = (IGImage)objArray[0];
806             array[1] = (IGImage)objArray[1];
807             array[2] = (IGImage)objArray[2];
808 
809             return array;
810         }
811         catch (Exception e) {
812             throw processException(e);
813         }
814         finally {
815             closeSession(session);
816         }
817     }
818 
819     public IGImage findByUUID_G(String uuid, long groupId)
820         throws NoSuchImageException, SystemException {
821         IGImage igImage = fetchByUUID_G(uuid, groupId);
822 
823         if (igImage == null) {
824             StringBundler msg = new StringBundler(6);
825 
826             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
827 
828             msg.append("uuid=");
829             msg.append(uuid);
830 
831             msg.append(", groupId=");
832             msg.append(groupId);
833 
834             msg.append(StringPool.CLOSE_CURLY_BRACE);
835 
836             if (_log.isWarnEnabled()) {
837                 _log.warn(msg.toString());
838             }
839 
840             throw new NoSuchImageException(msg.toString());
841         }
842 
843         return igImage;
844     }
845 
846     public IGImage fetchByUUID_G(String uuid, long groupId)
847         throws SystemException {
848         return fetchByUUID_G(uuid, groupId, true);
849     }
850 
851     public IGImage fetchByUUID_G(String uuid, long groupId,
852         boolean retrieveFromCache) throws SystemException {
853         Object[] finderArgs = new Object[] { uuid, new Long(groupId) };
854 
855         Object result = null;
856 
857         if (retrieveFromCache) {
858             result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_UUID_G,
859                     finderArgs, this);
860         }
861 
862         if (result == null) {
863             Session session = null;
864 
865             try {
866                 session = openSession();
867 
868                 StringBundler query = new StringBundler(4);
869 
870                 query.append(_SQL_SELECT_IGIMAGE_WHERE);
871 
872                 if (uuid == null) {
873                     query.append(_FINDER_COLUMN_UUID_G_UUID_1);
874                 }
875                 else {
876                     if (uuid.equals(StringPool.BLANK)) {
877                         query.append(_FINDER_COLUMN_UUID_G_UUID_3);
878                     }
879                     else {
880                         query.append(_FINDER_COLUMN_UUID_G_UUID_2);
881                     }
882                 }
883 
884                 query.append(_FINDER_COLUMN_UUID_G_GROUPID_2);
885 
886                 query.append(IGImageModelImpl.ORDER_BY_JPQL);
887 
888                 String sql = query.toString();
889 
890                 Query q = session.createQuery(sql);
891 
892                 QueryPos qPos = QueryPos.getInstance(q);
893 
894                 if (uuid != null) {
895                     qPos.add(uuid);
896                 }
897 
898                 qPos.add(groupId);
899 
900                 List<IGImage> list = q.list();
901 
902                 result = list;
903 
904                 IGImage igImage = null;
905 
906                 if (list.isEmpty()) {
907                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_UUID_G,
908                         finderArgs, list);
909                 }
910                 else {
911                     igImage = list.get(0);
912 
913                     cacheResult(igImage);
914 
915                     if ((igImage.getUuid() == null) ||
916                             !igImage.getUuid().equals(uuid) ||
917                             (igImage.getGroupId() != groupId)) {
918                         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_UUID_G,
919                             finderArgs, igImage);
920                     }
921                 }
922 
923                 return igImage;
924             }
925             catch (Exception e) {
926                 throw processException(e);
927             }
928             finally {
929                 if (result == null) {
930                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_UUID_G,
931                         finderArgs, new ArrayList<IGImage>());
932                 }
933 
934                 closeSession(session);
935             }
936         }
937         else {
938             if (result instanceof List<?>) {
939                 return null;
940             }
941             else {
942                 return (IGImage)result;
943             }
944         }
945     }
946 
947     public List<IGImage> findByGroupId(long groupId) throws SystemException {
948         Object[] finderArgs = new Object[] { new Long(groupId) };
949 
950         List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_GROUPID,
951                 finderArgs, this);
952 
953         if (list == null) {
954             Session session = null;
955 
956             try {
957                 session = openSession();
958 
959                 StringBundler query = new StringBundler(3);
960 
961                 query.append(_SQL_SELECT_IGIMAGE_WHERE);
962 
963                 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
964 
965                 query.append(IGImageModelImpl.ORDER_BY_JPQL);
966 
967                 String sql = query.toString();
968 
969                 Query q = session.createQuery(sql);
970 
971                 QueryPos qPos = QueryPos.getInstance(q);
972 
973                 qPos.add(groupId);
974 
975                 list = q.list();
976             }
977             catch (Exception e) {
978                 throw processException(e);
979             }
980             finally {
981                 if (list == null) {
982                     list = new ArrayList<IGImage>();
983                 }
984 
985                 cacheResult(list);
986 
987                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_GROUPID,
988                     finderArgs, list);
989 
990                 closeSession(session);
991             }
992         }
993 
994         return list;
995     }
996 
997     public List<IGImage> findByGroupId(long groupId, int start, int end)
998         throws SystemException {
999         return findByGroupId(groupId, start, end, null);
1000    }
1001
1002    public List<IGImage> findByGroupId(long groupId, int start, int end,
1003        OrderByComparator obc) throws SystemException {
1004        Object[] finderArgs = new Object[] {
1005                new Long(groupId),
1006                
1007                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1008            };
1009
1010        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_GROUPID,
1011                finderArgs, this);
1012
1013        if (list == null) {
1014            Session session = null;
1015
1016            try {
1017                session = openSession();
1018
1019                StringBundler query = null;
1020
1021                if (obc != null) {
1022                    query = new StringBundler(3 +
1023                            (obc.getOrderByFields().length * 3));
1024                }
1025                else {
1026                    query = new StringBundler(3);
1027                }
1028
1029                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1030
1031                query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
1032
1033                if (obc != null) {
1034                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1035                }
1036
1037                else {
1038                    query.append(IGImageModelImpl.ORDER_BY_JPQL);
1039                }
1040
1041                String sql = query.toString();
1042
1043                Query q = session.createQuery(sql);
1044
1045                QueryPos qPos = QueryPos.getInstance(q);
1046
1047                qPos.add(groupId);
1048
1049                list = (List<IGImage>)QueryUtil.list(q, getDialect(), start, end);
1050            }
1051            catch (Exception e) {
1052                throw processException(e);
1053            }
1054            finally {
1055                if (list == null) {
1056                    list = new ArrayList<IGImage>();
1057                }
1058
1059                cacheResult(list);
1060
1061                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_GROUPID,
1062                    finderArgs, list);
1063
1064                closeSession(session);
1065            }
1066        }
1067
1068        return list;
1069    }
1070
1071    public IGImage findByGroupId_First(long groupId, OrderByComparator obc)
1072        throws NoSuchImageException, SystemException {
1073        List<IGImage> list = findByGroupId(groupId, 0, 1, obc);
1074
1075        if (list.isEmpty()) {
1076            StringBundler msg = new StringBundler(4);
1077
1078            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1079
1080            msg.append("groupId=");
1081            msg.append(groupId);
1082
1083            msg.append(StringPool.CLOSE_CURLY_BRACE);
1084
1085            throw new NoSuchImageException(msg.toString());
1086        }
1087        else {
1088            return list.get(0);
1089        }
1090    }
1091
1092    public IGImage findByGroupId_Last(long groupId, OrderByComparator obc)
1093        throws NoSuchImageException, SystemException {
1094        int count = countByGroupId(groupId);
1095
1096        List<IGImage> list = findByGroupId(groupId, count - 1, count, obc);
1097
1098        if (list.isEmpty()) {
1099            StringBundler msg = new StringBundler(4);
1100
1101            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1102
1103            msg.append("groupId=");
1104            msg.append(groupId);
1105
1106            msg.append(StringPool.CLOSE_CURLY_BRACE);
1107
1108            throw new NoSuchImageException(msg.toString());
1109        }
1110        else {
1111            return list.get(0);
1112        }
1113    }
1114
1115    public IGImage[] findByGroupId_PrevAndNext(long imageId, long groupId,
1116        OrderByComparator obc) throws NoSuchImageException, SystemException {
1117        IGImage igImage = findByPrimaryKey(imageId);
1118
1119        int count = countByGroupId(groupId);
1120
1121        Session session = null;
1122
1123        try {
1124            session = openSession();
1125
1126            StringBundler query = null;
1127
1128            if (obc != null) {
1129                query = new StringBundler(3 +
1130                        (obc.getOrderByFields().length * 3));
1131            }
1132            else {
1133                query = new StringBundler(3);
1134            }
1135
1136            query.append(_SQL_SELECT_IGIMAGE_WHERE);
1137
1138            query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
1139
1140            if (obc != null) {
1141                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1142            }
1143
1144            else {
1145                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1146            }
1147
1148            String sql = query.toString();
1149
1150            Query q = session.createQuery(sql);
1151
1152            QueryPos qPos = QueryPos.getInstance(q);
1153
1154            qPos.add(groupId);
1155
1156            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, igImage);
1157
1158            IGImage[] array = new IGImageImpl[3];
1159
1160            array[0] = (IGImage)objArray[0];
1161            array[1] = (IGImage)objArray[1];
1162            array[2] = (IGImage)objArray[2];
1163
1164            return array;
1165        }
1166        catch (Exception e) {
1167            throw processException(e);
1168        }
1169        finally {
1170            closeSession(session);
1171        }
1172    }
1173
1174    public List<IGImage> findByFolderId(long folderId)
1175        throws SystemException {
1176        Object[] finderArgs = new Object[] { new Long(folderId) };
1177
1178        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_FOLDERID,
1179                finderArgs, this);
1180
1181        if (list == null) {
1182            Session session = null;
1183
1184            try {
1185                session = openSession();
1186
1187                StringBundler query = new StringBundler(3);
1188
1189                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1190
1191                query.append(_FINDER_COLUMN_FOLDERID_FOLDERID_2);
1192
1193                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1194
1195                String sql = query.toString();
1196
1197                Query q = session.createQuery(sql);
1198
1199                QueryPos qPos = QueryPos.getInstance(q);
1200
1201                qPos.add(folderId);
1202
1203                list = q.list();
1204            }
1205            catch (Exception e) {
1206                throw processException(e);
1207            }
1208            finally {
1209                if (list == null) {
1210                    list = new ArrayList<IGImage>();
1211                }
1212
1213                cacheResult(list);
1214
1215                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_FOLDERID,
1216                    finderArgs, list);
1217
1218                closeSession(session);
1219            }
1220        }
1221
1222        return list;
1223    }
1224
1225    public List<IGImage> findByFolderId(long folderId, int start, int end)
1226        throws SystemException {
1227        return findByFolderId(folderId, start, end, null);
1228    }
1229
1230    public List<IGImage> findByFolderId(long folderId, int start, int end,
1231        OrderByComparator obc) throws SystemException {
1232        Object[] finderArgs = new Object[] {
1233                new Long(folderId),
1234                
1235                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1236            };
1237
1238        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_FOLDERID,
1239                finderArgs, this);
1240
1241        if (list == null) {
1242            Session session = null;
1243
1244            try {
1245                session = openSession();
1246
1247                StringBundler query = null;
1248
1249                if (obc != null) {
1250                    query = new StringBundler(3 +
1251                            (obc.getOrderByFields().length * 3));
1252                }
1253                else {
1254                    query = new StringBundler(3);
1255                }
1256
1257                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1258
1259                query.append(_FINDER_COLUMN_FOLDERID_FOLDERID_2);
1260
1261                if (obc != null) {
1262                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1263                }
1264
1265                else {
1266                    query.append(IGImageModelImpl.ORDER_BY_JPQL);
1267                }
1268
1269                String sql = query.toString();
1270
1271                Query q = session.createQuery(sql);
1272
1273                QueryPos qPos = QueryPos.getInstance(q);
1274
1275                qPos.add(folderId);
1276
1277                list = (List<IGImage>)QueryUtil.list(q, getDialect(), start, end);
1278            }
1279            catch (Exception e) {
1280                throw processException(e);
1281            }
1282            finally {
1283                if (list == null) {
1284                    list = new ArrayList<IGImage>();
1285                }
1286
1287                cacheResult(list);
1288
1289                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_FOLDERID,
1290                    finderArgs, list);
1291
1292                closeSession(session);
1293            }
1294        }
1295
1296        return list;
1297    }
1298
1299    public IGImage findByFolderId_First(long folderId, OrderByComparator obc)
1300        throws NoSuchImageException, SystemException {
1301        List<IGImage> list = findByFolderId(folderId, 0, 1, obc);
1302
1303        if (list.isEmpty()) {
1304            StringBundler msg = new StringBundler(4);
1305
1306            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1307
1308            msg.append("folderId=");
1309            msg.append(folderId);
1310
1311            msg.append(StringPool.CLOSE_CURLY_BRACE);
1312
1313            throw new NoSuchImageException(msg.toString());
1314        }
1315        else {
1316            return list.get(0);
1317        }
1318    }
1319
1320    public IGImage findByFolderId_Last(long folderId, OrderByComparator obc)
1321        throws NoSuchImageException, SystemException {
1322        int count = countByFolderId(folderId);
1323
1324        List<IGImage> list = findByFolderId(folderId, count - 1, count, obc);
1325
1326        if (list.isEmpty()) {
1327            StringBundler msg = new StringBundler(4);
1328
1329            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1330
1331            msg.append("folderId=");
1332            msg.append(folderId);
1333
1334            msg.append(StringPool.CLOSE_CURLY_BRACE);
1335
1336            throw new NoSuchImageException(msg.toString());
1337        }
1338        else {
1339            return list.get(0);
1340        }
1341    }
1342
1343    public IGImage[] findByFolderId_PrevAndNext(long imageId, long folderId,
1344        OrderByComparator obc) throws NoSuchImageException, SystemException {
1345        IGImage igImage = findByPrimaryKey(imageId);
1346
1347        int count = countByFolderId(folderId);
1348
1349        Session session = null;
1350
1351        try {
1352            session = openSession();
1353
1354            StringBundler query = null;
1355
1356            if (obc != null) {
1357                query = new StringBundler(3 +
1358                        (obc.getOrderByFields().length * 3));
1359            }
1360            else {
1361                query = new StringBundler(3);
1362            }
1363
1364            query.append(_SQL_SELECT_IGIMAGE_WHERE);
1365
1366            query.append(_FINDER_COLUMN_FOLDERID_FOLDERID_2);
1367
1368            if (obc != null) {
1369                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1370            }
1371
1372            else {
1373                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1374            }
1375
1376            String sql = query.toString();
1377
1378            Query q = session.createQuery(sql);
1379
1380            QueryPos qPos = QueryPos.getInstance(q);
1381
1382            qPos.add(folderId);
1383
1384            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, igImage);
1385
1386            IGImage[] array = new IGImageImpl[3];
1387
1388            array[0] = (IGImage)objArray[0];
1389            array[1] = (IGImage)objArray[1];
1390            array[2] = (IGImage)objArray[2];
1391
1392            return array;
1393        }
1394        catch (Exception e) {
1395            throw processException(e);
1396        }
1397        finally {
1398            closeSession(session);
1399        }
1400    }
1401
1402    public IGImage findBySmallImageId(long smallImageId)
1403        throws NoSuchImageException, SystemException {
1404        IGImage igImage = fetchBySmallImageId(smallImageId);
1405
1406        if (igImage == null) {
1407            StringBundler msg = new StringBundler(4);
1408
1409            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1410
1411            msg.append("smallImageId=");
1412            msg.append(smallImageId);
1413
1414            msg.append(StringPool.CLOSE_CURLY_BRACE);
1415
1416            if (_log.isWarnEnabled()) {
1417                _log.warn(msg.toString());
1418            }
1419
1420            throw new NoSuchImageException(msg.toString());
1421        }
1422
1423        return igImage;
1424    }
1425
1426    public IGImage fetchBySmallImageId(long smallImageId)
1427        throws SystemException {
1428        return fetchBySmallImageId(smallImageId, true);
1429    }
1430
1431    public IGImage fetchBySmallImageId(long smallImageId,
1432        boolean retrieveFromCache) throws SystemException {
1433        Object[] finderArgs = new Object[] { new Long(smallImageId) };
1434
1435        Object result = null;
1436
1437        if (retrieveFromCache) {
1438            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
1439                    finderArgs, this);
1440        }
1441
1442        if (result == null) {
1443            Session session = null;
1444
1445            try {
1446                session = openSession();
1447
1448                StringBundler query = new StringBundler(3);
1449
1450                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1451
1452                query.append(_FINDER_COLUMN_SMALLIMAGEID_SMALLIMAGEID_2);
1453
1454                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1455
1456                String sql = query.toString();
1457
1458                Query q = session.createQuery(sql);
1459
1460                QueryPos qPos = QueryPos.getInstance(q);
1461
1462                qPos.add(smallImageId);
1463
1464                List<IGImage> list = q.list();
1465
1466                result = list;
1467
1468                IGImage igImage = null;
1469
1470                if (list.isEmpty()) {
1471                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
1472                        finderArgs, list);
1473                }
1474                else {
1475                    igImage = list.get(0);
1476
1477                    cacheResult(igImage);
1478
1479                    if ((igImage.getSmallImageId() != smallImageId)) {
1480                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
1481                            finderArgs, igImage);
1482                    }
1483                }
1484
1485                return igImage;
1486            }
1487            catch (Exception e) {
1488                throw processException(e);
1489            }
1490            finally {
1491                if (result == null) {
1492                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_SMALLIMAGEID,
1493                        finderArgs, new ArrayList<IGImage>());
1494                }
1495
1496                closeSession(session);
1497            }
1498        }
1499        else {
1500            if (result instanceof List<?>) {
1501                return null;
1502            }
1503            else {
1504                return (IGImage)result;
1505            }
1506        }
1507    }
1508
1509    public IGImage findByLargeImageId(long largeImageId)
1510        throws NoSuchImageException, SystemException {
1511        IGImage igImage = fetchByLargeImageId(largeImageId);
1512
1513        if (igImage == null) {
1514            StringBundler msg = new StringBundler(4);
1515
1516            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1517
1518            msg.append("largeImageId=");
1519            msg.append(largeImageId);
1520
1521            msg.append(StringPool.CLOSE_CURLY_BRACE);
1522
1523            if (_log.isWarnEnabled()) {
1524                _log.warn(msg.toString());
1525            }
1526
1527            throw new NoSuchImageException(msg.toString());
1528        }
1529
1530        return igImage;
1531    }
1532
1533    public IGImage fetchByLargeImageId(long largeImageId)
1534        throws SystemException {
1535        return fetchByLargeImageId(largeImageId, true);
1536    }
1537
1538    public IGImage fetchByLargeImageId(long largeImageId,
1539        boolean retrieveFromCache) throws SystemException {
1540        Object[] finderArgs = new Object[] { new Long(largeImageId) };
1541
1542        Object result = null;
1543
1544        if (retrieveFromCache) {
1545            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
1546                    finderArgs, this);
1547        }
1548
1549        if (result == null) {
1550            Session session = null;
1551
1552            try {
1553                session = openSession();
1554
1555                StringBundler query = new StringBundler(3);
1556
1557                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1558
1559                query.append(_FINDER_COLUMN_LARGEIMAGEID_LARGEIMAGEID_2);
1560
1561                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1562
1563                String sql = query.toString();
1564
1565                Query q = session.createQuery(sql);
1566
1567                QueryPos qPos = QueryPos.getInstance(q);
1568
1569                qPos.add(largeImageId);
1570
1571                List<IGImage> list = q.list();
1572
1573                result = list;
1574
1575                IGImage igImage = null;
1576
1577                if (list.isEmpty()) {
1578                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
1579                        finderArgs, list);
1580                }
1581                else {
1582                    igImage = list.get(0);
1583
1584                    cacheResult(igImage);
1585
1586                    if ((igImage.getLargeImageId() != largeImageId)) {
1587                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
1588                            finderArgs, igImage);
1589                    }
1590                }
1591
1592                return igImage;
1593            }
1594            catch (Exception e) {
1595                throw processException(e);
1596            }
1597            finally {
1598                if (result == null) {
1599                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LARGEIMAGEID,
1600                        finderArgs, new ArrayList<IGImage>());
1601                }
1602
1603                closeSession(session);
1604            }
1605        }
1606        else {
1607            if (result instanceof List<?>) {
1608                return null;
1609            }
1610            else {
1611                return (IGImage)result;
1612            }
1613        }
1614    }
1615
1616    public IGImage findByCustom1ImageId(long custom1ImageId)
1617        throws NoSuchImageException, SystemException {
1618        IGImage igImage = fetchByCustom1ImageId(custom1ImageId);
1619
1620        if (igImage == null) {
1621            StringBundler msg = new StringBundler(4);
1622
1623            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1624
1625            msg.append("custom1ImageId=");
1626            msg.append(custom1ImageId);
1627
1628            msg.append(StringPool.CLOSE_CURLY_BRACE);
1629
1630            if (_log.isWarnEnabled()) {
1631                _log.warn(msg.toString());
1632            }
1633
1634            throw new NoSuchImageException(msg.toString());
1635        }
1636
1637        return igImage;
1638    }
1639
1640    public IGImage fetchByCustom1ImageId(long custom1ImageId)
1641        throws SystemException {
1642        return fetchByCustom1ImageId(custom1ImageId, true);
1643    }
1644
1645    public IGImage fetchByCustom1ImageId(long custom1ImageId,
1646        boolean retrieveFromCache) throws SystemException {
1647        Object[] finderArgs = new Object[] { new Long(custom1ImageId) };
1648
1649        Object result = null;
1650
1651        if (retrieveFromCache) {
1652            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
1653                    finderArgs, this);
1654        }
1655
1656        if (result == null) {
1657            Session session = null;
1658
1659            try {
1660                session = openSession();
1661
1662                StringBundler query = new StringBundler(3);
1663
1664                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1665
1666                query.append(_FINDER_COLUMN_CUSTOM1IMAGEID_CUSTOM1IMAGEID_2);
1667
1668                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1669
1670                String sql = query.toString();
1671
1672                Query q = session.createQuery(sql);
1673
1674                QueryPos qPos = QueryPos.getInstance(q);
1675
1676                qPos.add(custom1ImageId);
1677
1678                List<IGImage> list = q.list();
1679
1680                result = list;
1681
1682                IGImage igImage = null;
1683
1684                if (list.isEmpty()) {
1685                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
1686                        finderArgs, list);
1687                }
1688                else {
1689                    igImage = list.get(0);
1690
1691                    cacheResult(igImage);
1692
1693                    if ((igImage.getCustom1ImageId() != custom1ImageId)) {
1694                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
1695                            finderArgs, igImage);
1696                    }
1697                }
1698
1699                return igImage;
1700            }
1701            catch (Exception e) {
1702                throw processException(e);
1703            }
1704            finally {
1705                if (result == null) {
1706                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM1IMAGEID,
1707                        finderArgs, new ArrayList<IGImage>());
1708                }
1709
1710                closeSession(session);
1711            }
1712        }
1713        else {
1714            if (result instanceof List<?>) {
1715                return null;
1716            }
1717            else {
1718                return (IGImage)result;
1719            }
1720        }
1721    }
1722
1723    public IGImage findByCustom2ImageId(long custom2ImageId)
1724        throws NoSuchImageException, SystemException {
1725        IGImage igImage = fetchByCustom2ImageId(custom2ImageId);
1726
1727        if (igImage == null) {
1728            StringBundler msg = new StringBundler(4);
1729
1730            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1731
1732            msg.append("custom2ImageId=");
1733            msg.append(custom2ImageId);
1734
1735            msg.append(StringPool.CLOSE_CURLY_BRACE);
1736
1737            if (_log.isWarnEnabled()) {
1738                _log.warn(msg.toString());
1739            }
1740
1741            throw new NoSuchImageException(msg.toString());
1742        }
1743
1744        return igImage;
1745    }
1746
1747    public IGImage fetchByCustom2ImageId(long custom2ImageId)
1748        throws SystemException {
1749        return fetchByCustom2ImageId(custom2ImageId, true);
1750    }
1751
1752    public IGImage fetchByCustom2ImageId(long custom2ImageId,
1753        boolean retrieveFromCache) throws SystemException {
1754        Object[] finderArgs = new Object[] { new Long(custom2ImageId) };
1755
1756        Object result = null;
1757
1758        if (retrieveFromCache) {
1759            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
1760                    finderArgs, this);
1761        }
1762
1763        if (result == null) {
1764            Session session = null;
1765
1766            try {
1767                session = openSession();
1768
1769                StringBundler query = new StringBundler(3);
1770
1771                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1772
1773                query.append(_FINDER_COLUMN_CUSTOM2IMAGEID_CUSTOM2IMAGEID_2);
1774
1775                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1776
1777                String sql = query.toString();
1778
1779                Query q = session.createQuery(sql);
1780
1781                QueryPos qPos = QueryPos.getInstance(q);
1782
1783                qPos.add(custom2ImageId);
1784
1785                List<IGImage> list = q.list();
1786
1787                result = list;
1788
1789                IGImage igImage = null;
1790
1791                if (list.isEmpty()) {
1792                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
1793                        finderArgs, list);
1794                }
1795                else {
1796                    igImage = list.get(0);
1797
1798                    cacheResult(igImage);
1799
1800                    if ((igImage.getCustom2ImageId() != custom2ImageId)) {
1801                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
1802                            finderArgs, igImage);
1803                    }
1804                }
1805
1806                return igImage;
1807            }
1808            catch (Exception e) {
1809                throw processException(e);
1810            }
1811            finally {
1812                if (result == null) {
1813                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_CUSTOM2IMAGEID,
1814                        finderArgs, new ArrayList<IGImage>());
1815                }
1816
1817                closeSession(session);
1818            }
1819        }
1820        else {
1821            if (result instanceof List<?>) {
1822                return null;
1823            }
1824            else {
1825                return (IGImage)result;
1826            }
1827        }
1828    }
1829
1830    public List<IGImage> findByG_U(long groupId, long userId)
1831        throws SystemException {
1832        Object[] finderArgs = new Object[] { new Long(groupId), new Long(userId) };
1833
1834        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_G_U,
1835                finderArgs, this);
1836
1837        if (list == null) {
1838            Session session = null;
1839
1840            try {
1841                session = openSession();
1842
1843                StringBundler query = new StringBundler(4);
1844
1845                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1846
1847                query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1848
1849                query.append(_FINDER_COLUMN_G_U_USERID_2);
1850
1851                query.append(IGImageModelImpl.ORDER_BY_JPQL);
1852
1853                String sql = query.toString();
1854
1855                Query q = session.createQuery(sql);
1856
1857                QueryPos qPos = QueryPos.getInstance(q);
1858
1859                qPos.add(groupId);
1860
1861                qPos.add(userId);
1862
1863                list = q.list();
1864            }
1865            catch (Exception e) {
1866                throw processException(e);
1867            }
1868            finally {
1869                if (list == null) {
1870                    list = new ArrayList<IGImage>();
1871                }
1872
1873                cacheResult(list);
1874
1875                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_G_U, finderArgs,
1876                    list);
1877
1878                closeSession(session);
1879            }
1880        }
1881
1882        return list;
1883    }
1884
1885    public List<IGImage> findByG_U(long groupId, long userId, int start, int end)
1886        throws SystemException {
1887        return findByG_U(groupId, userId, start, end, null);
1888    }
1889
1890    public List<IGImage> findByG_U(long groupId, long userId, int start,
1891        int end, OrderByComparator obc) throws SystemException {
1892        Object[] finderArgs = new Object[] {
1893                new Long(groupId), new Long(userId),
1894                
1895                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1896            };
1897
1898        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_G_U,
1899                finderArgs, this);
1900
1901        if (list == null) {
1902            Session session = null;
1903
1904            try {
1905                session = openSession();
1906
1907                StringBundler query = null;
1908
1909                if (obc != null) {
1910                    query = new StringBundler(4 +
1911                            (obc.getOrderByFields().length * 3));
1912                }
1913                else {
1914                    query = new StringBundler(4);
1915                }
1916
1917                query.append(_SQL_SELECT_IGIMAGE_WHERE);
1918
1919                query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1920
1921                query.append(_FINDER_COLUMN_G_U_USERID_2);
1922
1923                if (obc != null) {
1924                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1925                }
1926
1927                else {
1928                    query.append(IGImageModelImpl.ORDER_BY_JPQL);
1929                }
1930
1931                String sql = query.toString();
1932
1933                Query q = session.createQuery(sql);
1934
1935                QueryPos qPos = QueryPos.getInstance(q);
1936
1937                qPos.add(groupId);
1938
1939                qPos.add(userId);
1940
1941                list = (List<IGImage>)QueryUtil.list(q, getDialect(), start, end);
1942            }
1943            catch (Exception e) {
1944                throw processException(e);
1945            }
1946            finally {
1947                if (list == null) {
1948                    list = new ArrayList<IGImage>();
1949                }
1950
1951                cacheResult(list);
1952
1953                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_G_U,
1954                    finderArgs, list);
1955
1956                closeSession(session);
1957            }
1958        }
1959
1960        return list;
1961    }
1962
1963    public IGImage findByG_U_First(long groupId, long userId,
1964        OrderByComparator obc) throws NoSuchImageException, SystemException {
1965        List<IGImage> list = findByG_U(groupId, userId, 0, 1, obc);
1966
1967        if (list.isEmpty()) {
1968            StringBundler msg = new StringBundler(6);
1969
1970            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1971
1972            msg.append("groupId=");
1973            msg.append(groupId);
1974
1975            msg.append(", userId=");
1976            msg.append(userId);
1977
1978            msg.append(StringPool.CLOSE_CURLY_BRACE);
1979
1980            throw new NoSuchImageException(msg.toString());
1981        }
1982        else {
1983            return list.get(0);
1984        }
1985    }
1986
1987    public IGImage findByG_U_Last(long groupId, long userId,
1988        OrderByComparator obc) throws NoSuchImageException, SystemException {
1989        int count = countByG_U(groupId, userId);
1990
1991        List<IGImage> list = findByG_U(groupId, userId, count - 1, count, obc);
1992
1993        if (list.isEmpty()) {
1994            StringBundler msg = new StringBundler(6);
1995
1996            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1997
1998            msg.append("groupId=");
1999            msg.append(groupId);
2000
2001            msg.append(", userId=");
2002            msg.append(userId);
2003
2004            msg.append(StringPool.CLOSE_CURLY_BRACE);
2005
2006            throw new NoSuchImageException(msg.toString());
2007        }
2008        else {
2009            return list.get(0);
2010        }
2011    }
2012
2013    public IGImage[] findByG_U_PrevAndNext(long imageId, long groupId,
2014        long userId, OrderByComparator obc)
2015        throws NoSuchImageException, SystemException {
2016        IGImage igImage = findByPrimaryKey(imageId);
2017
2018        int count = countByG_U(groupId, userId);
2019
2020        Session session = null;
2021
2022        try {
2023            session = openSession();
2024
2025            StringBundler query = null;
2026
2027            if (obc != null) {
2028                query = new StringBundler(4 +
2029                        (obc.getOrderByFields().length * 3));
2030            }
2031            else {
2032                query = new StringBundler(4);
2033            }
2034
2035            query.append(_SQL_SELECT_IGIMAGE_WHERE);
2036
2037            query.append(_FINDER_COLUMN_G_U_GROUPID_2);
2038
2039            query.append(_FINDER_COLUMN_G_U_USERID_2);
2040
2041            if (obc != null) {
2042                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
2043            }
2044
2045            else {
2046                query.append(IGImageModelImpl.ORDER_BY_JPQL);
2047            }
2048
2049            String sql = query.toString();
2050
2051            Query q = session.createQuery(sql);
2052
2053            QueryPos qPos = QueryPos.getInstance(q);
2054
2055            qPos.add(groupId);
2056
2057            qPos.add(userId);
2058
2059            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, igImage);
2060
2061            IGImage[] array = new IGImageImpl[3];
2062
2063            array[0] = (IGImage)objArray[0];
2064            array[1] = (IGImage)objArray[1];
2065            array[2] = (IGImage)objArray[2];
2066
2067            return array;
2068        }
2069        catch (Exception e) {
2070            throw processException(e);
2071        }
2072        finally {
2073            closeSession(session);
2074        }
2075    }
2076
2077    public List<IGImage> findByF_N(long folderId, String name)
2078        throws SystemException {
2079        Object[] finderArgs = new Object[] { new Long(folderId), name };
2080
2081        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_F_N,
2082                finderArgs, this);
2083
2084        if (list == null) {
2085            Session session = null;
2086
2087            try {
2088                session = openSession();
2089
2090                StringBundler query = new StringBundler(4);
2091
2092                query.append(_SQL_SELECT_IGIMAGE_WHERE);
2093
2094                query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
2095
2096                if (name == null) {
2097                    query.append(_FINDER_COLUMN_F_N_NAME_1);
2098                }
2099                else {
2100                    if (name.equals(StringPool.BLANK)) {
2101                        query.append(_FINDER_COLUMN_F_N_NAME_3);
2102                    }
2103                    else {
2104                        query.append(_FINDER_COLUMN_F_N_NAME_2);
2105                    }
2106                }
2107
2108                query.append(IGImageModelImpl.ORDER_BY_JPQL);
2109
2110                String sql = query.toString();
2111
2112                Query q = session.createQuery(sql);
2113
2114                QueryPos qPos = QueryPos.getInstance(q);
2115
2116                qPos.add(folderId);
2117
2118                if (name != null) {
2119                    qPos.add(name);
2120                }
2121
2122                list = q.list();
2123            }
2124            catch (Exception e) {
2125                throw processException(e);
2126            }
2127            finally {
2128                if (list == null) {
2129                    list = new ArrayList<IGImage>();
2130                }
2131
2132                cacheResult(list);
2133
2134                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_F_N, finderArgs,
2135                    list);
2136
2137                closeSession(session);
2138            }
2139        }
2140
2141        return list;
2142    }
2143
2144    public List<IGImage> findByF_N(long folderId, String name, int start,
2145        int end) throws SystemException {
2146        return findByF_N(folderId, name, start, end, null);
2147    }
2148
2149    public List<IGImage> findByF_N(long folderId, String name, int start,
2150        int end, OrderByComparator obc) throws SystemException {
2151        Object[] finderArgs = new Object[] {
2152                new Long(folderId),
2153                
2154                name,
2155                
2156                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
2157            };
2158
2159        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_F_N,
2160                finderArgs, this);
2161
2162        if (list == null) {
2163            Session session = null;
2164
2165            try {
2166                session = openSession();
2167
2168                StringBundler query = null;
2169
2170                if (obc != null) {
2171                    query = new StringBundler(4 +
2172                            (obc.getOrderByFields().length * 3));
2173                }
2174                else {
2175                    query = new StringBundler(4);
2176                }
2177
2178                query.append(_SQL_SELECT_IGIMAGE_WHERE);
2179
2180                query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
2181
2182                if (name == null) {
2183                    query.append(_FINDER_COLUMN_F_N_NAME_1);
2184                }
2185                else {
2186                    if (name.equals(StringPool.BLANK)) {
2187                        query.append(_FINDER_COLUMN_F_N_NAME_3);
2188                    }
2189                    else {
2190                        query.append(_FINDER_COLUMN_F_N_NAME_2);
2191                    }
2192                }
2193
2194                if (obc != null) {
2195                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
2196                }
2197
2198                else {
2199                    query.append(IGImageModelImpl.ORDER_BY_JPQL);
2200                }
2201
2202                String sql = query.toString();
2203
2204                Query q = session.createQuery(sql);
2205
2206                QueryPos qPos = QueryPos.getInstance(q);
2207
2208                qPos.add(folderId);
2209
2210                if (name != null) {
2211                    qPos.add(name);
2212                }
2213
2214                list = (List<IGImage>)QueryUtil.list(q, getDialect(), start, end);
2215            }
2216            catch (Exception e) {
2217                throw processException(e);
2218            }
2219            finally {
2220                if (list == null) {
2221                    list = new ArrayList<IGImage>();
2222                }
2223
2224                cacheResult(list);
2225
2226                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_F_N,
2227                    finderArgs, list);
2228
2229                closeSession(session);
2230            }
2231        }
2232
2233        return list;
2234    }
2235
2236    public IGImage findByF_N_First(long folderId, String name,
2237        OrderByComparator obc) throws NoSuchImageException, SystemException {
2238        List<IGImage> list = findByF_N(folderId, name, 0, 1, obc);
2239
2240        if (list.isEmpty()) {
2241            StringBundler msg = new StringBundler(6);
2242
2243            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2244
2245            msg.append("folderId=");
2246            msg.append(folderId);
2247
2248            msg.append(", name=");
2249            msg.append(name);
2250
2251            msg.append(StringPool.CLOSE_CURLY_BRACE);
2252
2253            throw new NoSuchImageException(msg.toString());
2254        }
2255        else {
2256            return list.get(0);
2257        }
2258    }
2259
2260    public IGImage findByF_N_Last(long folderId, String name,
2261        OrderByComparator obc) throws NoSuchImageException, SystemException {
2262        int count = countByF_N(folderId, name);
2263
2264        List<IGImage> list = findByF_N(folderId, name, count - 1, count, obc);
2265
2266        if (list.isEmpty()) {
2267            StringBundler msg = new StringBundler(6);
2268
2269            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2270
2271            msg.append("folderId=");
2272            msg.append(folderId);
2273
2274            msg.append(", name=");
2275            msg.append(name);
2276
2277            msg.append(StringPool.CLOSE_CURLY_BRACE);
2278
2279            throw new NoSuchImageException(msg.toString());
2280        }
2281        else {
2282            return list.get(0);
2283        }
2284    }
2285
2286    public IGImage[] findByF_N_PrevAndNext(long imageId, long folderId,
2287        String name, OrderByComparator obc)
2288        throws NoSuchImageException, SystemException {
2289        IGImage igImage = findByPrimaryKey(imageId);
2290
2291        int count = countByF_N(folderId, name);
2292
2293        Session session = null;
2294
2295        try {
2296            session = openSession();
2297
2298            StringBundler query = null;
2299
2300            if (obc != null) {
2301                query = new StringBundler(4 +
2302                        (obc.getOrderByFields().length * 3));
2303            }
2304            else {
2305                query = new StringBundler(4);
2306            }
2307
2308            query.append(_SQL_SELECT_IGIMAGE_WHERE);
2309
2310            query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
2311
2312            if (name == null) {
2313                query.append(_FINDER_COLUMN_F_N_NAME_1);
2314            }
2315            else {
2316                if (name.equals(StringPool.BLANK)) {
2317                    query.append(_FINDER_COLUMN_F_N_NAME_3);
2318                }
2319                else {
2320                    query.append(_FINDER_COLUMN_F_N_NAME_2);
2321                }
2322            }
2323
2324            if (obc != null) {
2325                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
2326            }
2327
2328            else {
2329                query.append(IGImageModelImpl.ORDER_BY_JPQL);
2330            }
2331
2332            String sql = query.toString();
2333
2334            Query q = session.createQuery(sql);
2335
2336            QueryPos qPos = QueryPos.getInstance(q);
2337
2338            qPos.add(folderId);
2339
2340            if (name != null) {
2341                qPos.add(name);
2342            }
2343
2344            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, igImage);
2345
2346            IGImage[] array = new IGImageImpl[3];
2347
2348            array[0] = (IGImage)objArray[0];
2349            array[1] = (IGImage)objArray[1];
2350            array[2] = (IGImage)objArray[2];
2351
2352            return array;
2353        }
2354        catch (Exception e) {
2355            throw processException(e);
2356        }
2357        finally {
2358            closeSession(session);
2359        }
2360    }
2361
2362    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
2363        throws SystemException {
2364        Session session = null;
2365
2366        try {
2367            session = openSession();
2368
2369            dynamicQuery.compile(session);
2370
2371            return dynamicQuery.list();
2372        }
2373        catch (Exception e) {
2374            throw processException(e);
2375        }
2376        finally {
2377            closeSession(session);
2378        }
2379    }
2380
2381    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
2382        int start, int end) throws SystemException {
2383        Session session = null;
2384
2385        try {
2386            session = openSession();
2387
2388            dynamicQuery.setLimit(start, end);
2389
2390            dynamicQuery.compile(session);
2391
2392            return dynamicQuery.list();
2393        }
2394        catch (Exception e) {
2395            throw processException(e);
2396        }
2397        finally {
2398            closeSession(session);
2399        }
2400    }
2401
2402    public List<IGImage> findAll() throws SystemException {
2403        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
2404    }
2405
2406    public List<IGImage> findAll(int start, int end) throws SystemException {
2407        return findAll(start, end, null);
2408    }
2409
2410    public List<IGImage> findAll(int start, int end, OrderByComparator obc)
2411        throws SystemException {
2412        Object[] finderArgs = new Object[] {
2413                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
2414            };
2415
2416        List<IGImage> list = (List<IGImage>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
2417                finderArgs, this);
2418
2419        if (list == null) {
2420            Session session = null;
2421
2422            try {
2423                session = openSession();
2424
2425                StringBundler query = null;
2426                String sql = null;
2427
2428                if (obc != null) {
2429                    query = new StringBundler(2 +
2430                            (obc.getOrderByFields().length * 3));
2431
2432                    query.append(_SQL_SELECT_IGIMAGE);
2433
2434                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
2435
2436                    sql = query.toString();
2437                }
2438
2439                else {
2440                    sql = _SQL_SELECT_IGIMAGE.concat(IGImageModelImpl.ORDER_BY_JPQL);
2441                }
2442
2443                Query q = session.createQuery(sql);
2444
2445                if (obc == null) {
2446                    list = (List<IGImage>)QueryUtil.list(q, getDialect(),
2447                            start, end, false);
2448
2449                    Collections.sort(list);
2450                }
2451                else {
2452                    list = (List<IGImage>)QueryUtil.list(q, getDialect(),
2453                            start, end);
2454                }
2455            }
2456            catch (Exception e) {
2457                throw processException(e);
2458            }
2459            finally {
2460                if (list == null) {
2461                    list = new ArrayList<IGImage>();
2462                }
2463
2464                cacheResult(list);
2465
2466                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
2467
2468                closeSession(session);
2469            }
2470        }
2471
2472        return list;
2473    }
2474
2475    public void removeByUuid(String uuid) throws SystemException {
2476        for (IGImage igImage : findByUuid(uuid)) {
2477            remove(igImage);
2478        }
2479    }
2480
2481    public void removeByUUID_G(String uuid, long groupId)
2482        throws NoSuchImageException, SystemException {
2483        IGImage igImage = findByUUID_G(uuid, groupId);
2484
2485        remove(igImage);
2486    }
2487
2488    public void removeByGroupId(long groupId) throws SystemException {
2489        for (IGImage igImage : findByGroupId(groupId)) {
2490            remove(igImage);
2491        }
2492    }
2493
2494    public void removeByFolderId(long folderId) throws SystemException {
2495        for (IGImage igImage : findByFolderId(folderId)) {
2496            remove(igImage);
2497        }
2498    }
2499
2500    public void removeBySmallImageId(long smallImageId)
2501        throws NoSuchImageException, SystemException {
2502        IGImage igImage = findBySmallImageId(smallImageId);
2503
2504        remove(igImage);
2505    }
2506
2507    public void removeByLargeImageId(long largeImageId)
2508        throws NoSuchImageException, SystemException {
2509        IGImage igImage = findByLargeImageId(largeImageId);
2510
2511        remove(igImage);
2512    }
2513
2514    public void removeByCustom1ImageId(long custom1ImageId)
2515        throws NoSuchImageException, SystemException {
2516        IGImage igImage = findByCustom1ImageId(custom1ImageId);
2517
2518        remove(igImage);
2519    }
2520
2521    public void removeByCustom2ImageId(long custom2ImageId)
2522        throws NoSuchImageException, SystemException {
2523        IGImage igImage = findByCustom2ImageId(custom2ImageId);
2524
2525        remove(igImage);
2526    }
2527
2528    public void removeByG_U(long groupId, long userId)
2529        throws SystemException {
2530        for (IGImage igImage : findByG_U(groupId, userId)) {
2531            remove(igImage);
2532        }
2533    }
2534
2535    public void removeByF_N(long folderId, String name)
2536        throws SystemException {
2537        for (IGImage igImage : findByF_N(folderId, name)) {
2538            remove(igImage);
2539        }
2540    }
2541
2542    public void removeAll() throws SystemException {
2543        for (IGImage igImage : findAll()) {
2544            remove(igImage);
2545        }
2546    }
2547
2548    public int countByUuid(String uuid) throws SystemException {
2549        Object[] finderArgs = new Object[] { uuid };
2550
2551        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_UUID,
2552                finderArgs, this);
2553
2554        if (count == null) {
2555            Session session = null;
2556
2557            try {
2558                session = openSession();
2559
2560                StringBundler query = new StringBundler(2);
2561
2562                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2563
2564                if (uuid == null) {
2565                    query.append(_FINDER_COLUMN_UUID_UUID_1);
2566                }
2567                else {
2568                    if (uuid.equals(StringPool.BLANK)) {
2569                        query.append(_FINDER_COLUMN_UUID_UUID_3);
2570                    }
2571                    else {
2572                        query.append(_FINDER_COLUMN_UUID_UUID_2);
2573                    }
2574                }
2575
2576                String sql = query.toString();
2577
2578                Query q = session.createQuery(sql);
2579
2580                QueryPos qPos = QueryPos.getInstance(q);
2581
2582                if (uuid != null) {
2583                    qPos.add(uuid);
2584                }
2585
2586                count = (Long)q.uniqueResult();
2587            }
2588            catch (Exception e) {
2589                throw processException(e);
2590            }
2591            finally {
2592                if (count == null) {
2593                    count = Long.valueOf(0);
2594                }
2595
2596                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_UUID,
2597                    finderArgs, count);
2598
2599                closeSession(session);
2600            }
2601        }
2602
2603        return count.intValue();
2604    }
2605
2606    public int countByUUID_G(String uuid, long groupId)
2607        throws SystemException {
2608        Object[] finderArgs = new Object[] { uuid, new Long(groupId) };
2609
2610        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_UUID_G,
2611                finderArgs, this);
2612
2613        if (count == null) {
2614            Session session = null;
2615
2616            try {
2617                session = openSession();
2618
2619                StringBundler query = new StringBundler(3);
2620
2621                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2622
2623                if (uuid == null) {
2624                    query.append(_FINDER_COLUMN_UUID_G_UUID_1);
2625                }
2626                else {
2627                    if (uuid.equals(StringPool.BLANK)) {
2628                        query.append(_FINDER_COLUMN_UUID_G_UUID_3);
2629                    }
2630                    else {
2631                        query.append(_FINDER_COLUMN_UUID_G_UUID_2);
2632                    }
2633                }
2634
2635                query.append(_FINDER_COLUMN_UUID_G_GROUPID_2);
2636
2637                String sql = query.toString();
2638
2639                Query q = session.createQuery(sql);
2640
2641                QueryPos qPos = QueryPos.getInstance(q);
2642
2643                if (uuid != null) {
2644                    qPos.add(uuid);
2645                }
2646
2647                qPos.add(groupId);
2648
2649                count = (Long)q.uniqueResult();
2650            }
2651            catch (Exception e) {
2652                throw processException(e);
2653            }
2654            finally {
2655                if (count == null) {
2656                    count = Long.valueOf(0);
2657                }
2658
2659                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_UUID_G,
2660                    finderArgs, count);
2661
2662                closeSession(session);
2663            }
2664        }
2665
2666        return count.intValue();
2667    }
2668
2669    public int countByGroupId(long groupId) throws SystemException {
2670        Object[] finderArgs = new Object[] { new Long(groupId) };
2671
2672        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_GROUPID,
2673                finderArgs, this);
2674
2675        if (count == null) {
2676            Session session = null;
2677
2678            try {
2679                session = openSession();
2680
2681                StringBundler query = new StringBundler(2);
2682
2683                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2684
2685                query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
2686
2687                String sql = query.toString();
2688
2689                Query q = session.createQuery(sql);
2690
2691                QueryPos qPos = QueryPos.getInstance(q);
2692
2693                qPos.add(groupId);
2694
2695                count = (Long)q.uniqueResult();
2696            }
2697            catch (Exception e) {
2698                throw processException(e);
2699            }
2700            finally {
2701                if (count == null) {
2702                    count = Long.valueOf(0);
2703                }
2704
2705                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_GROUPID,
2706                    finderArgs, count);
2707
2708                closeSession(session);
2709            }
2710        }
2711
2712        return count.intValue();
2713    }
2714
2715    public int countByFolderId(long folderId) throws SystemException {
2716        Object[] finderArgs = new Object[] { new Long(folderId) };
2717
2718        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_FOLDERID,
2719                finderArgs, this);
2720
2721        if (count == null) {
2722            Session session = null;
2723
2724            try {
2725                session = openSession();
2726
2727                StringBundler query = new StringBundler(2);
2728
2729                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2730
2731                query.append(_FINDER_COLUMN_FOLDERID_FOLDERID_2);
2732
2733                String sql = query.toString();
2734
2735                Query q = session.createQuery(sql);
2736
2737                QueryPos qPos = QueryPos.getInstance(q);
2738
2739                qPos.add(folderId);
2740
2741                count = (Long)q.uniqueResult();
2742            }
2743            catch (Exception e) {
2744                throw processException(e);
2745            }
2746            finally {
2747                if (count == null) {
2748                    count = Long.valueOf(0);
2749                }
2750
2751                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_FOLDERID,
2752                    finderArgs, count);
2753
2754                closeSession(session);
2755            }
2756        }
2757
2758        return count.intValue();
2759    }
2760
2761    public int countBySmallImageId(long smallImageId) throws SystemException {
2762        Object[] finderArgs = new Object[] { new Long(smallImageId) };
2763
2764        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_SMALLIMAGEID,
2765                finderArgs, this);
2766
2767        if (count == null) {
2768            Session session = null;
2769
2770            try {
2771                session = openSession();
2772
2773                StringBundler query = new StringBundler(2);
2774
2775                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2776
2777                query.append(_FINDER_COLUMN_SMALLIMAGEID_SMALLIMAGEID_2);
2778
2779                String sql = query.toString();
2780
2781                Query q = session.createQuery(sql);
2782
2783                QueryPos qPos = QueryPos.getInstance(q);
2784
2785                qPos.add(smallImageId);
2786
2787                count = (Long)q.uniqueResult();
2788            }
2789            catch (Exception e) {
2790                throw processException(e);
2791            }
2792            finally {
2793                if (count == null) {
2794                    count = Long.valueOf(0);
2795                }
2796
2797                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_SMALLIMAGEID,
2798                    finderArgs, count);
2799
2800                closeSession(session);
2801            }
2802        }
2803
2804        return count.intValue();
2805    }
2806
2807    public int countByLargeImageId(long largeImageId) throws SystemException {
2808        Object[] finderArgs = new Object[] { new Long(largeImageId) };
2809
2810        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_LARGEIMAGEID,
2811                finderArgs, this);
2812
2813        if (count == null) {
2814            Session session = null;
2815
2816            try {
2817                session = openSession();
2818
2819                StringBundler query = new StringBundler(2);
2820
2821                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2822
2823                query.append(_FINDER_COLUMN_LARGEIMAGEID_LARGEIMAGEID_2);
2824
2825                String sql = query.toString();
2826
2827                Query q = session.createQuery(sql);
2828
2829                QueryPos qPos = QueryPos.getInstance(q);
2830
2831                qPos.add(largeImageId);
2832
2833                count = (Long)q.uniqueResult();
2834            }
2835            catch (Exception e) {
2836                throw processException(e);
2837            }
2838            finally {
2839                if (count == null) {
2840                    count = Long.valueOf(0);
2841                }
2842
2843                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LARGEIMAGEID,
2844                    finderArgs, count);
2845
2846                closeSession(session);
2847            }
2848        }
2849
2850        return count.intValue();
2851    }
2852
2853    public int countByCustom1ImageId(long custom1ImageId)
2854        throws SystemException {
2855        Object[] finderArgs = new Object[] { new Long(custom1ImageId) };
2856
2857        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_CUSTOM1IMAGEID,
2858                finderArgs, this);
2859
2860        if (count == null) {
2861            Session session = null;
2862
2863            try {
2864                session = openSession();
2865
2866                StringBundler query = new StringBundler(2);
2867
2868                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2869
2870                query.append(_FINDER_COLUMN_CUSTOM1IMAGEID_CUSTOM1IMAGEID_2);
2871
2872                String sql = query.toString();
2873
2874                Query q = session.createQuery(sql);
2875
2876                QueryPos qPos = QueryPos.getInstance(q);
2877
2878                qPos.add(custom1ImageId);
2879
2880                count = (Long)q.uniqueResult();
2881            }
2882            catch (Exception e) {
2883                throw processException(e);
2884            }
2885            finally {
2886                if (count == null) {
2887                    count = Long.valueOf(0);
2888                }
2889
2890                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_CUSTOM1IMAGEID,
2891                    finderArgs, count);
2892
2893                closeSession(session);
2894            }
2895        }
2896
2897        return count.intValue();
2898    }
2899
2900    public int countByCustom2ImageId(long custom2ImageId)
2901        throws SystemException {
2902        Object[] finderArgs = new Object[] { new Long(custom2ImageId) };
2903
2904        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_CUSTOM2IMAGEID,
2905                finderArgs, this);
2906
2907        if (count == null) {
2908            Session session = null;
2909
2910            try {
2911                session = openSession();
2912
2913                StringBundler query = new StringBundler(2);
2914
2915                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2916
2917                query.append(_FINDER_COLUMN_CUSTOM2IMAGEID_CUSTOM2IMAGEID_2);
2918
2919                String sql = query.toString();
2920
2921                Query q = session.createQuery(sql);
2922
2923                QueryPos qPos = QueryPos.getInstance(q);
2924
2925                qPos.add(custom2ImageId);
2926
2927                count = (Long)q.uniqueResult();
2928            }
2929            catch (Exception e) {
2930                throw processException(e);
2931            }
2932            finally {
2933                if (count == null) {
2934                    count = Long.valueOf(0);
2935                }
2936
2937                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_CUSTOM2IMAGEID,
2938                    finderArgs, count);
2939
2940                closeSession(session);
2941            }
2942        }
2943
2944        return count.intValue();
2945    }
2946
2947    public int countByG_U(long groupId, long userId) throws SystemException {
2948        Object[] finderArgs = new Object[] { new Long(groupId), new Long(userId) };
2949
2950        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_U,
2951                finderArgs, this);
2952
2953        if (count == null) {
2954            Session session = null;
2955
2956            try {
2957                session = openSession();
2958
2959                StringBundler query = new StringBundler(3);
2960
2961                query.append(_SQL_COUNT_IGIMAGE_WHERE);
2962
2963                query.append(_FINDER_COLUMN_G_U_GROUPID_2);
2964
2965                query.append(_FINDER_COLUMN_G_U_USERID_2);
2966
2967                String sql = query.toString();
2968
2969                Query q = session.createQuery(sql);
2970
2971                QueryPos qPos = QueryPos.getInstance(q);
2972
2973                qPos.add(groupId);
2974
2975                qPos.add(userId);
2976
2977                count = (Long)q.uniqueResult();
2978            }
2979            catch (Exception e) {
2980                throw processException(e);
2981            }
2982            finally {
2983                if (count == null) {
2984                    count = Long.valueOf(0);
2985                }
2986
2987                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U, finderArgs,
2988                    count);
2989
2990                closeSession(session);
2991            }
2992        }
2993
2994        return count.intValue();
2995    }
2996
2997    public int countByF_N(long folderId, String name) throws SystemException {
2998        Object[] finderArgs = new Object[] { new Long(folderId), name };
2999
3000        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_F_N,
3001                finderArgs, this);
3002
3003        if (count == null) {
3004            Session session = null;
3005
3006            try {
3007                session = openSession();
3008
3009                StringBundler query = new StringBundler(3);
3010
3011                query.append(_SQL_COUNT_IGIMAGE_WHERE);
3012
3013                query.append(_FINDER_COLUMN_F_N_FOLDERID_2);
3014
3015                if (name == null) {
3016                    query.append(_FINDER_COLUMN_F_N_NAME_1);
3017                }
3018                else {
3019                    if (name.equals(StringPool.BLANK)) {
3020                        query.append(_FINDER_COLUMN_F_N_NAME_3);
3021                    }
3022                    else {
3023                        query.append(_FINDER_COLUMN_F_N_NAME_2);
3024                    }
3025                }
3026
3027                String sql = query.toString();
3028
3029                Query q = session.createQuery(sql);
3030
3031                QueryPos qPos = QueryPos.getInstance(q);
3032
3033                qPos.add(folderId);
3034
3035                if (name != null) {
3036                    qPos.add(name);
3037                }
3038
3039                count = (Long)q.uniqueResult();
3040            }
3041            catch (Exception e) {
3042                throw processException(e);
3043            }
3044            finally {
3045                if (count == null) {
3046                    count = Long.valueOf(0);
3047                }
3048
3049                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_F_N, finderArgs,
3050                    count);
3051
3052                closeSession(session);
3053            }
3054        }
3055
3056        return count.intValue();
3057    }
3058
3059    public int countAll() throws SystemException {
3060        Object[] finderArgs = new Object[0];
3061
3062        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
3063                finderArgs, this);
3064
3065        if (count == null) {
3066            Session session = null;
3067
3068            try {
3069                session = openSession();
3070
3071                Query q = session.createQuery(_SQL_COUNT_IGIMAGE);
3072
3073                count = (Long)q.uniqueResult();
3074            }
3075            catch (Exception e) {
3076                throw processException(e);
3077            }
3078            finally {
3079                if (count == null) {
3080                    count = Long.valueOf(0);
3081                }
3082
3083                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
3084                    count);
3085
3086                closeSession(session);
3087            }
3088        }
3089
3090        return count.intValue();
3091    }
3092
3093    public void afterPropertiesSet() {
3094        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
3095                    com.liferay.portal.util.PropsUtil.get(
3096                        "value.object.listener.com.liferay.portlet.imagegallery.model.IGImage")));
3097
3098        if (listenerClassNames.length > 0) {
3099            try {
3100                List<ModelListener<IGImage>> listenersList = new ArrayList<ModelListener<IGImage>>();
3101
3102                for (String listenerClassName : listenerClassNames) {
3103                    listenersList.add((ModelListener<IGImage>)Class.forName(
3104                            listenerClassName).newInstance());
3105                }
3106
3107                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
3108            }
3109            catch (Exception e) {
3110                _log.error(e);
3111            }
3112        }
3113    }
3114
3115    @BeanReference(name = "com.liferay.portlet.imagegallery.service.persistence.IGFolderPersistence")
3116    protected com.liferay.portlet.imagegallery.service.persistence.IGFolderPersistence igFolderPersistence;
3117    @BeanReference(name = "com.liferay.portlet.imagegallery.service.persistence.IGImagePersistence")
3118    protected com.liferay.portlet.imagegallery.service.persistence.IGImagePersistence igImagePersistence;
3119    @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence")
3120    protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
3121    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence")
3122    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
3123    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence")
3124    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
3125    @BeanReference(name = "com.liferay.portlet.social.service.persistence.SocialActivityPersistence")
3126    protected com.liferay.portlet.social.service.persistence.SocialActivityPersistence socialActivityPersistence;
3127    @BeanReference(name = "com.liferay.portlet.tags.service.persistence.TagsAssetPersistence")
3128    protected com.liferay.portlet.tags.service.persistence.TagsAssetPersistence tagsAssetPersistence;
3129    @BeanReference(name = "com.liferay.portlet.tags.service.persistence.TagsEntryPersistence")
3130    protected com.liferay.portlet.tags.service.persistence.TagsEntryPersistence tagsEntryPersistence;
3131    private static final String _SQL_SELECT_IGIMAGE = "SELECT igImage FROM IGImage igImage";
3132    private static final String _SQL_SELECT_IGIMAGE_WHERE = "SELECT igImage FROM IGImage igImage WHERE ";
3133    private static final String _SQL_COUNT_IGIMAGE = "SELECT COUNT(igImage) FROM IGImage igImage";
3134    private static final String _SQL_COUNT_IGIMAGE_WHERE = "SELECT COUNT(igImage) FROM IGImage igImage WHERE ";
3135    private static final String _FINDER_COLUMN_UUID_UUID_1 = "igImage.uuid IS NULL";
3136    private static final String _FINDER_COLUMN_UUID_UUID_2 = "igImage.uuid = ?";
3137    private static final String _FINDER_COLUMN_UUID_UUID_3 = "(igImage.uuid IS NULL OR igImage.uuid = ?)";
3138    private static final String _FINDER_COLUMN_UUID_G_UUID_1 = "igImage.uuid IS NULL AND ";
3139    private static final String _FINDER_COLUMN_UUID_G_UUID_2 = "igImage.uuid = ? AND ";
3140    private static final String _FINDER_COLUMN_UUID_G_UUID_3 = "(igImage.uuid IS NULL OR igImage.uuid = ?) AND ";
3141    private static final String _FINDER_COLUMN_UUID_G_GROUPID_2 = "igImage.groupId = ?";
3142    private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "igImage.groupId = ?";
3143    private static final String _FINDER_COLUMN_FOLDERID_FOLDERID_2 = "igImage.folderId = ?";
3144    private static final String _FINDER_COLUMN_SMALLIMAGEID_SMALLIMAGEID_2 = "igImage.smallImageId = ?";
3145    private static final String _FINDER_COLUMN_LARGEIMAGEID_LARGEIMAGEID_2 = "igImage.largeImageId = ?";
3146    private static final String _FINDER_COLUMN_CUSTOM1IMAGEID_CUSTOM1IMAGEID_2 = "igImage.custom1ImageId = ?";
3147    private static final String _FINDER_COLUMN_CUSTOM2IMAGEID_CUSTOM2IMAGEID_2 = "igImage.custom2ImageId = ?";
3148    private static final String _FINDER_COLUMN_G_U_GROUPID_2 = "igImage.groupId = ? AND ";
3149    private static final String _FINDER_COLUMN_G_U_USERID_2 = "igImage.userId = ?";
3150    private static final String _FINDER_COLUMN_F_N_FOLDERID_2 = "igImage.folderId = ? AND ";
3151    private static final String _FINDER_COLUMN_F_N_NAME_1 = "igImage.name IS NULL";
3152    private static final String _FINDER_COLUMN_F_N_NAME_2 = "igImage.name = ?";
3153    private static final String _FINDER_COLUMN_F_N_NAME_3 = "(igImage.name IS NULL OR igImage.name = ?)";
3154    private static final String _ORDER_BY_ENTITY_ALIAS = "igImage.";
3155    private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No IGImage exists with the primary key ";
3156    private static final String _NO_SUCH_ENTITY_WITH_KEY = "No IGImage exists with the key {";
3157    private static Log _log = LogFactoryUtil.getLog(IGImagePersistenceImpl.class);
3158}