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