1
14
15 package com.liferay.portlet.announcements.service.persistence;
16
17 import com.liferay.portal.NoSuchModelException;
18 import com.liferay.portal.kernel.annotation.BeanReference;
19 import com.liferay.portal.kernel.cache.CacheRegistry;
20 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
21 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
22 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
23 import com.liferay.portal.kernel.dao.orm.FinderPath;
24 import com.liferay.portal.kernel.dao.orm.Query;
25 import com.liferay.portal.kernel.dao.orm.QueryPos;
26 import com.liferay.portal.kernel.dao.orm.QueryUtil;
27 import com.liferay.portal.kernel.dao.orm.Session;
28 import com.liferay.portal.kernel.exception.SystemException;
29 import com.liferay.portal.kernel.log.Log;
30 import com.liferay.portal.kernel.log.LogFactoryUtil;
31 import com.liferay.portal.kernel.util.GetterUtil;
32 import com.liferay.portal.kernel.util.OrderByComparator;
33 import com.liferay.portal.kernel.util.StringBundler;
34 import com.liferay.portal.kernel.util.StringPool;
35 import com.liferay.portal.kernel.util.StringUtil;
36 import com.liferay.portal.model.ModelListener;
37 import com.liferay.portal.service.persistence.BatchSessionUtil;
38 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
39
40 import com.liferay.portlet.announcements.NoSuchFlagException;
41 import com.liferay.portlet.announcements.model.AnnouncementsFlag;
42 import com.liferay.portlet.announcements.model.impl.AnnouncementsFlagImpl;
43 import com.liferay.portlet.announcements.model.impl.AnnouncementsFlagModelImpl;
44
45 import java.io.Serializable;
46
47 import java.util.ArrayList;
48 import java.util.Collections;
49 import java.util.List;
50
51
64 public class AnnouncementsFlagPersistenceImpl extends BasePersistenceImpl<AnnouncementsFlag>
65 implements AnnouncementsFlagPersistence {
66 public static final String FINDER_CLASS_NAME_ENTITY = AnnouncementsFlagImpl.class.getName();
67 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
68 ".List";
69 public static final FinderPath FINDER_PATH_FIND_BY_ENTRYID = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
70 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
71 FINDER_CLASS_NAME_LIST, "findByEntryId",
72 new String[] { Long.class.getName() });
73 public static final FinderPath FINDER_PATH_FIND_BY_OBC_ENTRYID = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
74 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
75 FINDER_CLASS_NAME_LIST, "findByEntryId",
76 new String[] {
77 Long.class.getName(),
78
79 "java.lang.Integer", "java.lang.Integer",
80 "com.liferay.portal.kernel.util.OrderByComparator"
81 });
82 public static final FinderPath FINDER_PATH_COUNT_BY_ENTRYID = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
83 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
84 FINDER_CLASS_NAME_LIST, "countByEntryId",
85 new String[] { Long.class.getName() });
86 public static final FinderPath FINDER_PATH_FETCH_BY_U_E_V = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
87 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
88 FINDER_CLASS_NAME_ENTITY, "fetchByU_E_V",
89 new String[] {
90 Long.class.getName(), Long.class.getName(),
91 Integer.class.getName()
92 });
93 public static final FinderPath FINDER_PATH_COUNT_BY_U_E_V = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
94 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
95 FINDER_CLASS_NAME_LIST, "countByU_E_V",
96 new String[] {
97 Long.class.getName(), Long.class.getName(),
98 Integer.class.getName()
99 });
100 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
101 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
102 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
103 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
104 AnnouncementsFlagModelImpl.FINDER_CACHE_ENABLED,
105 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
106
107 public void cacheResult(AnnouncementsFlag announcementsFlag) {
108 EntityCacheUtil.putResult(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
109 AnnouncementsFlagImpl.class, announcementsFlag.getPrimaryKey(),
110 announcementsFlag);
111
112 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_U_E_V,
113 new Object[] {
114 new Long(announcementsFlag.getUserId()),
115 new Long(announcementsFlag.getEntryId()),
116 new Integer(announcementsFlag.getValue())
117 }, announcementsFlag);
118 }
119
120 public void cacheResult(List<AnnouncementsFlag> announcementsFlags) {
121 for (AnnouncementsFlag announcementsFlag : announcementsFlags) {
122 if (EntityCacheUtil.getResult(
123 AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
124 AnnouncementsFlagImpl.class,
125 announcementsFlag.getPrimaryKey(), this) == null) {
126 cacheResult(announcementsFlag);
127 }
128 }
129 }
130
131 public void clearCache() {
132 CacheRegistry.clear(AnnouncementsFlagImpl.class.getName());
133 EntityCacheUtil.clearCache(AnnouncementsFlagImpl.class.getName());
134 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
135 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
136 }
137
138 public AnnouncementsFlag create(long flagId) {
139 AnnouncementsFlag announcementsFlag = new AnnouncementsFlagImpl();
140
141 announcementsFlag.setNew(true);
142 announcementsFlag.setPrimaryKey(flagId);
143
144 return announcementsFlag;
145 }
146
147 public AnnouncementsFlag remove(Serializable primaryKey)
148 throws NoSuchModelException, SystemException {
149 return remove(((Long)primaryKey).longValue());
150 }
151
152 public AnnouncementsFlag remove(long flagId)
153 throws NoSuchFlagException, SystemException {
154 Session session = null;
155
156 try {
157 session = openSession();
158
159 AnnouncementsFlag announcementsFlag = (AnnouncementsFlag)session.get(AnnouncementsFlagImpl.class,
160 new Long(flagId));
161
162 if (announcementsFlag == null) {
163 if (_log.isWarnEnabled()) {
164 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + flagId);
165 }
166
167 throw new NoSuchFlagException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
168 flagId);
169 }
170
171 return remove(announcementsFlag);
172 }
173 catch (NoSuchFlagException nsee) {
174 throw nsee;
175 }
176 catch (Exception e) {
177 throw processException(e);
178 }
179 finally {
180 closeSession(session);
181 }
182 }
183
184 public AnnouncementsFlag remove(AnnouncementsFlag announcementsFlag)
185 throws SystemException {
186 for (ModelListener<AnnouncementsFlag> listener : listeners) {
187 listener.onBeforeRemove(announcementsFlag);
188 }
189
190 announcementsFlag = removeImpl(announcementsFlag);
191
192 for (ModelListener<AnnouncementsFlag> listener : listeners) {
193 listener.onAfterRemove(announcementsFlag);
194 }
195
196 return announcementsFlag;
197 }
198
199 protected AnnouncementsFlag removeImpl(AnnouncementsFlag announcementsFlag)
200 throws SystemException {
201 announcementsFlag = toUnwrappedModel(announcementsFlag);
202
203 Session session = null;
204
205 try {
206 session = openSession();
207
208 if (announcementsFlag.isCachedModel() ||
209 BatchSessionUtil.isEnabled()) {
210 Object staleObject = session.get(AnnouncementsFlagImpl.class,
211 announcementsFlag.getPrimaryKeyObj());
212
213 if (staleObject != null) {
214 session.evict(staleObject);
215 }
216 }
217
218 session.delete(announcementsFlag);
219
220 session.flush();
221 }
222 catch (Exception e) {
223 throw processException(e);
224 }
225 finally {
226 closeSession(session);
227 }
228
229 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
230
231 AnnouncementsFlagModelImpl announcementsFlagModelImpl = (AnnouncementsFlagModelImpl)announcementsFlag;
232
233 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_U_E_V,
234 new Object[] {
235 new Long(announcementsFlagModelImpl.getOriginalUserId()),
236 new Long(announcementsFlagModelImpl.getOriginalEntryId()),
237 new Integer(announcementsFlagModelImpl.getOriginalValue())
238 });
239
240 EntityCacheUtil.removeResult(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
241 AnnouncementsFlagImpl.class, announcementsFlag.getPrimaryKey());
242
243 return announcementsFlag;
244 }
245
246 public AnnouncementsFlag updateImpl(
247 com.liferay.portlet.announcements.model.AnnouncementsFlag announcementsFlag,
248 boolean merge) throws SystemException {
249 announcementsFlag = toUnwrappedModel(announcementsFlag);
250
251 boolean isNew = announcementsFlag.isNew();
252
253 AnnouncementsFlagModelImpl announcementsFlagModelImpl = (AnnouncementsFlagModelImpl)announcementsFlag;
254
255 Session session = null;
256
257 try {
258 session = openSession();
259
260 BatchSessionUtil.update(session, announcementsFlag, merge);
261
262 announcementsFlag.setNew(false);
263 }
264 catch (Exception e) {
265 throw processException(e);
266 }
267 finally {
268 closeSession(session);
269 }
270
271 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
272
273 EntityCacheUtil.putResult(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
274 AnnouncementsFlagImpl.class, announcementsFlag.getPrimaryKey(),
275 announcementsFlag);
276
277 if (!isNew &&
278 ((announcementsFlag.getUserId() != announcementsFlagModelImpl.getOriginalUserId()) ||
279 (announcementsFlag.getEntryId() != announcementsFlagModelImpl.getOriginalEntryId()) ||
280 (announcementsFlag.getValue() != announcementsFlagModelImpl.getOriginalValue()))) {
281 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_U_E_V,
282 new Object[] {
283 new Long(announcementsFlagModelImpl.getOriginalUserId()),
284 new Long(announcementsFlagModelImpl.getOriginalEntryId()),
285 new Integer(announcementsFlagModelImpl.getOriginalValue())
286 });
287 }
288
289 if (isNew ||
290 ((announcementsFlag.getUserId() != announcementsFlagModelImpl.getOriginalUserId()) ||
291 (announcementsFlag.getEntryId() != announcementsFlagModelImpl.getOriginalEntryId()) ||
292 (announcementsFlag.getValue() != announcementsFlagModelImpl.getOriginalValue()))) {
293 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_U_E_V,
294 new Object[] {
295 new Long(announcementsFlag.getUserId()),
296 new Long(announcementsFlag.getEntryId()),
297 new Integer(announcementsFlag.getValue())
298 }, announcementsFlag);
299 }
300
301 return announcementsFlag;
302 }
303
304 protected AnnouncementsFlag toUnwrappedModel(
305 AnnouncementsFlag announcementsFlag) {
306 if (announcementsFlag instanceof AnnouncementsFlagImpl) {
307 return announcementsFlag;
308 }
309
310 AnnouncementsFlagImpl announcementsFlagImpl = new AnnouncementsFlagImpl();
311
312 announcementsFlagImpl.setNew(announcementsFlag.isNew());
313 announcementsFlagImpl.setPrimaryKey(announcementsFlag.getPrimaryKey());
314
315 announcementsFlagImpl.setFlagId(announcementsFlag.getFlagId());
316 announcementsFlagImpl.setUserId(announcementsFlag.getUserId());
317 announcementsFlagImpl.setCreateDate(announcementsFlag.getCreateDate());
318 announcementsFlagImpl.setEntryId(announcementsFlag.getEntryId());
319 announcementsFlagImpl.setValue(announcementsFlag.getValue());
320
321 return announcementsFlagImpl;
322 }
323
324 public AnnouncementsFlag findByPrimaryKey(Serializable primaryKey)
325 throws NoSuchModelException, SystemException {
326 return findByPrimaryKey(((Long)primaryKey).longValue());
327 }
328
329 public AnnouncementsFlag findByPrimaryKey(long flagId)
330 throws NoSuchFlagException, SystemException {
331 AnnouncementsFlag announcementsFlag = fetchByPrimaryKey(flagId);
332
333 if (announcementsFlag == null) {
334 if (_log.isWarnEnabled()) {
335 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + flagId);
336 }
337
338 throw new NoSuchFlagException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
339 flagId);
340 }
341
342 return announcementsFlag;
343 }
344
345 public AnnouncementsFlag fetchByPrimaryKey(Serializable primaryKey)
346 throws SystemException {
347 return fetchByPrimaryKey(((Long)primaryKey).longValue());
348 }
349
350 public AnnouncementsFlag fetchByPrimaryKey(long flagId)
351 throws SystemException {
352 AnnouncementsFlag announcementsFlag = (AnnouncementsFlag)EntityCacheUtil.getResult(AnnouncementsFlagModelImpl.ENTITY_CACHE_ENABLED,
353 AnnouncementsFlagImpl.class, flagId, this);
354
355 if (announcementsFlag == null) {
356 Session session = null;
357
358 try {
359 session = openSession();
360
361 announcementsFlag = (AnnouncementsFlag)session.get(AnnouncementsFlagImpl.class,
362 new Long(flagId));
363 }
364 catch (Exception e) {
365 throw processException(e);
366 }
367 finally {
368 if (announcementsFlag != null) {
369 cacheResult(announcementsFlag);
370 }
371
372 closeSession(session);
373 }
374 }
375
376 return announcementsFlag;
377 }
378
379 public List<AnnouncementsFlag> findByEntryId(long entryId)
380 throws SystemException {
381 Object[] finderArgs = new Object[] { new Long(entryId) };
382
383 List<AnnouncementsFlag> list = (List<AnnouncementsFlag>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_ENTRYID,
384 finderArgs, this);
385
386 if (list == null) {
387 Session session = null;
388
389 try {
390 session = openSession();
391
392 StringBundler query = new StringBundler(3);
393
394 query.append(_SQL_SELECT_ANNOUNCEMENTSFLAG_WHERE);
395
396 query.append(_FINDER_COLUMN_ENTRYID_ENTRYID_2);
397
398 query.append(AnnouncementsFlagModelImpl.ORDER_BY_JPQL);
399
400 String sql = query.toString();
401
402 Query q = session.createQuery(sql);
403
404 QueryPos qPos = QueryPos.getInstance(q);
405
406 qPos.add(entryId);
407
408 list = q.list();
409 }
410 catch (Exception e) {
411 throw processException(e);
412 }
413 finally {
414 if (list == null) {
415 list = new ArrayList<AnnouncementsFlag>();
416 }
417
418 cacheResult(list);
419
420 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_ENTRYID,
421 finderArgs, list);
422
423 closeSession(session);
424 }
425 }
426
427 return list;
428 }
429
430 public List<AnnouncementsFlag> findByEntryId(long entryId, int start,
431 int end) throws SystemException {
432 return findByEntryId(entryId, start, end, null);
433 }
434
435 public List<AnnouncementsFlag> findByEntryId(long entryId, int start,
436 int end, OrderByComparator obc) throws SystemException {
437 Object[] finderArgs = new Object[] {
438 new Long(entryId),
439
440 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
441 };
442
443 List<AnnouncementsFlag> list = (List<AnnouncementsFlag>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_ENTRYID,
444 finderArgs, this);
445
446 if (list == null) {
447 Session session = null;
448
449 try {
450 session = openSession();
451
452 StringBundler query = null;
453
454 if (obc != null) {
455 query = new StringBundler(3 +
456 (obc.getOrderByFields().length * 3));
457 }
458 else {
459 query = new StringBundler(3);
460 }
461
462 query.append(_SQL_SELECT_ANNOUNCEMENTSFLAG_WHERE);
463
464 query.append(_FINDER_COLUMN_ENTRYID_ENTRYID_2);
465
466 if (obc != null) {
467 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
468 }
469
470 else {
471 query.append(AnnouncementsFlagModelImpl.ORDER_BY_JPQL);
472 }
473
474 String sql = query.toString();
475
476 Query q = session.createQuery(sql);
477
478 QueryPos qPos = QueryPos.getInstance(q);
479
480 qPos.add(entryId);
481
482 list = (List<AnnouncementsFlag>)QueryUtil.list(q, getDialect(),
483 start, end);
484 }
485 catch (Exception e) {
486 throw processException(e);
487 }
488 finally {
489 if (list == null) {
490 list = new ArrayList<AnnouncementsFlag>();
491 }
492
493 cacheResult(list);
494
495 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_ENTRYID,
496 finderArgs, list);
497
498 closeSession(session);
499 }
500 }
501
502 return list;
503 }
504
505 public AnnouncementsFlag findByEntryId_First(long entryId,
506 OrderByComparator obc) throws NoSuchFlagException, SystemException {
507 List<AnnouncementsFlag> list = findByEntryId(entryId, 0, 1, obc);
508
509 if (list.isEmpty()) {
510 StringBundler msg = new StringBundler(4);
511
512 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
513
514 msg.append("entryId=");
515 msg.append(entryId);
516
517 msg.append(StringPool.CLOSE_CURLY_BRACE);
518
519 throw new NoSuchFlagException(msg.toString());
520 }
521 else {
522 return list.get(0);
523 }
524 }
525
526 public AnnouncementsFlag findByEntryId_Last(long entryId,
527 OrderByComparator obc) throws NoSuchFlagException, SystemException {
528 int count = countByEntryId(entryId);
529
530 List<AnnouncementsFlag> list = findByEntryId(entryId, count - 1, count,
531 obc);
532
533 if (list.isEmpty()) {
534 StringBundler msg = new StringBundler(4);
535
536 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
537
538 msg.append("entryId=");
539 msg.append(entryId);
540
541 msg.append(StringPool.CLOSE_CURLY_BRACE);
542
543 throw new NoSuchFlagException(msg.toString());
544 }
545 else {
546 return list.get(0);
547 }
548 }
549
550 public AnnouncementsFlag[] findByEntryId_PrevAndNext(long flagId,
551 long entryId, OrderByComparator obc)
552 throws NoSuchFlagException, SystemException {
553 AnnouncementsFlag announcementsFlag = findByPrimaryKey(flagId);
554
555 int count = countByEntryId(entryId);
556
557 Session session = null;
558
559 try {
560 session = openSession();
561
562 StringBundler query = null;
563
564 if (obc != null) {
565 query = new StringBundler(3 +
566 (obc.getOrderByFields().length * 3));
567 }
568 else {
569 query = new StringBundler(3);
570 }
571
572 query.append(_SQL_SELECT_ANNOUNCEMENTSFLAG_WHERE);
573
574 query.append(_FINDER_COLUMN_ENTRYID_ENTRYID_2);
575
576 if (obc != null) {
577 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
578 }
579
580 else {
581 query.append(AnnouncementsFlagModelImpl.ORDER_BY_JPQL);
582 }
583
584 String sql = query.toString();
585
586 Query q = session.createQuery(sql);
587
588 QueryPos qPos = QueryPos.getInstance(q);
589
590 qPos.add(entryId);
591
592 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
593 announcementsFlag);
594
595 AnnouncementsFlag[] array = new AnnouncementsFlagImpl[3];
596
597 array[0] = (AnnouncementsFlag)objArray[0];
598 array[1] = (AnnouncementsFlag)objArray[1];
599 array[2] = (AnnouncementsFlag)objArray[2];
600
601 return array;
602 }
603 catch (Exception e) {
604 throw processException(e);
605 }
606 finally {
607 closeSession(session);
608 }
609 }
610
611 public AnnouncementsFlag findByU_E_V(long userId, long entryId, int value)
612 throws NoSuchFlagException, SystemException {
613 AnnouncementsFlag announcementsFlag = fetchByU_E_V(userId, entryId,
614 value);
615
616 if (announcementsFlag == null) {
617 StringBundler msg = new StringBundler(8);
618
619 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
620
621 msg.append("userId=");
622 msg.append(userId);
623
624 msg.append(", entryId=");
625 msg.append(entryId);
626
627 msg.append(", value=");
628 msg.append(value);
629
630 msg.append(StringPool.CLOSE_CURLY_BRACE);
631
632 if (_log.isWarnEnabled()) {
633 _log.warn(msg.toString());
634 }
635
636 throw new NoSuchFlagException(msg.toString());
637 }
638
639 return announcementsFlag;
640 }
641
642 public AnnouncementsFlag fetchByU_E_V(long userId, long entryId, int value)
643 throws SystemException {
644 return fetchByU_E_V(userId, entryId, value, true);
645 }
646
647 public AnnouncementsFlag fetchByU_E_V(long userId, long entryId, int value,
648 boolean retrieveFromCache) throws SystemException {
649 Object[] finderArgs = new Object[] {
650 new Long(userId), new Long(entryId), new Integer(value)
651 };
652
653 Object result = null;
654
655 if (retrieveFromCache) {
656 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_U_E_V,
657 finderArgs, this);
658 }
659
660 if (result == null) {
661 Session session = null;
662
663 try {
664 session = openSession();
665
666 StringBundler query = new StringBundler(5);
667
668 query.append(_SQL_SELECT_ANNOUNCEMENTSFLAG_WHERE);
669
670 query.append(_FINDER_COLUMN_U_E_V_USERID_2);
671
672 query.append(_FINDER_COLUMN_U_E_V_ENTRYID_2);
673
674 query.append(_FINDER_COLUMN_U_E_V_VALUE_2);
675
676 query.append(AnnouncementsFlagModelImpl.ORDER_BY_JPQL);
677
678 String sql = query.toString();
679
680 Query q = session.createQuery(sql);
681
682 QueryPos qPos = QueryPos.getInstance(q);
683
684 qPos.add(userId);
685
686 qPos.add(entryId);
687
688 qPos.add(value);
689
690 List<AnnouncementsFlag> list = q.list();
691
692 result = list;
693
694 AnnouncementsFlag announcementsFlag = null;
695
696 if (list.isEmpty()) {
697 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_U_E_V,
698 finderArgs, list);
699 }
700 else {
701 announcementsFlag = list.get(0);
702
703 cacheResult(announcementsFlag);
704
705 if ((announcementsFlag.getUserId() != userId) ||
706 (announcementsFlag.getEntryId() != entryId) ||
707 (announcementsFlag.getValue() != value)) {
708 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_U_E_V,
709 finderArgs, announcementsFlag);
710 }
711 }
712
713 return announcementsFlag;
714 }
715 catch (Exception e) {
716 throw processException(e);
717 }
718 finally {
719 if (result == null) {
720 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_U_E_V,
721 finderArgs, new ArrayList<AnnouncementsFlag>());
722 }
723
724 closeSession(session);
725 }
726 }
727 else {
728 if (result instanceof List<?>) {
729 return null;
730 }
731 else {
732 return (AnnouncementsFlag)result;
733 }
734 }
735 }
736
737 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
738 throws SystemException {
739 Session session = null;
740
741 try {
742 session = openSession();
743
744 dynamicQuery.compile(session);
745
746 return dynamicQuery.list();
747 }
748 catch (Exception e) {
749 throw processException(e);
750 }
751 finally {
752 closeSession(session);
753 }
754 }
755
756 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
757 int start, int end) throws SystemException {
758 Session session = null;
759
760 try {
761 session = openSession();
762
763 dynamicQuery.setLimit(start, end);
764
765 dynamicQuery.compile(session);
766
767 return dynamicQuery.list();
768 }
769 catch (Exception e) {
770 throw processException(e);
771 }
772 finally {
773 closeSession(session);
774 }
775 }
776
777 public List<AnnouncementsFlag> findAll() throws SystemException {
778 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
779 }
780
781 public List<AnnouncementsFlag> findAll(int start, int end)
782 throws SystemException {
783 return findAll(start, end, null);
784 }
785
786 public List<AnnouncementsFlag> findAll(int start, int end,
787 OrderByComparator obc) throws SystemException {
788 Object[] finderArgs = new Object[] {
789 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
790 };
791
792 List<AnnouncementsFlag> list = (List<AnnouncementsFlag>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
793 finderArgs, this);
794
795 if (list == null) {
796 Session session = null;
797
798 try {
799 session = openSession();
800
801 StringBundler query = null;
802 String sql = null;
803
804 if (obc != null) {
805 query = new StringBundler(2 +
806 (obc.getOrderByFields().length * 3));
807
808 query.append(_SQL_SELECT_ANNOUNCEMENTSFLAG);
809
810 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
811
812 sql = query.toString();
813 }
814
815 else {
816 sql = _SQL_SELECT_ANNOUNCEMENTSFLAG.concat(AnnouncementsFlagModelImpl.ORDER_BY_JPQL);
817 }
818
819 Query q = session.createQuery(sql);
820
821 if (obc == null) {
822 list = (List<AnnouncementsFlag>)QueryUtil.list(q,
823 getDialect(), start, end, false);
824
825 Collections.sort(list);
826 }
827 else {
828 list = (List<AnnouncementsFlag>)QueryUtil.list(q,
829 getDialect(), start, end);
830 }
831 }
832 catch (Exception e) {
833 throw processException(e);
834 }
835 finally {
836 if (list == null) {
837 list = new ArrayList<AnnouncementsFlag>();
838 }
839
840 cacheResult(list);
841
842 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
843
844 closeSession(session);
845 }
846 }
847
848 return list;
849 }
850
851 public void removeByEntryId(long entryId) throws SystemException {
852 for (AnnouncementsFlag announcementsFlag : findByEntryId(entryId)) {
853 remove(announcementsFlag);
854 }
855 }
856
857 public void removeByU_E_V(long userId, long entryId, int value)
858 throws NoSuchFlagException, SystemException {
859 AnnouncementsFlag announcementsFlag = findByU_E_V(userId, entryId, value);
860
861 remove(announcementsFlag);
862 }
863
864 public void removeAll() throws SystemException {
865 for (AnnouncementsFlag announcementsFlag : findAll()) {
866 remove(announcementsFlag);
867 }
868 }
869
870 public int countByEntryId(long entryId) throws SystemException {
871 Object[] finderArgs = new Object[] { new Long(entryId) };
872
873 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_ENTRYID,
874 finderArgs, this);
875
876 if (count == null) {
877 Session session = null;
878
879 try {
880 session = openSession();
881
882 StringBundler query = new StringBundler(2);
883
884 query.append(_SQL_COUNT_ANNOUNCEMENTSFLAG_WHERE);
885
886 query.append(_FINDER_COLUMN_ENTRYID_ENTRYID_2);
887
888 String sql = query.toString();
889
890 Query q = session.createQuery(sql);
891
892 QueryPos qPos = QueryPos.getInstance(q);
893
894 qPos.add(entryId);
895
896 count = (Long)q.uniqueResult();
897 }
898 catch (Exception e) {
899 throw processException(e);
900 }
901 finally {
902 if (count == null) {
903 count = Long.valueOf(0);
904 }
905
906 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_ENTRYID,
907 finderArgs, count);
908
909 closeSession(session);
910 }
911 }
912
913 return count.intValue();
914 }
915
916 public int countByU_E_V(long userId, long entryId, int value)
917 throws SystemException {
918 Object[] finderArgs = new Object[] {
919 new Long(userId), new Long(entryId), new Integer(value)
920 };
921
922 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_U_E_V,
923 finderArgs, this);
924
925 if (count == null) {
926 Session session = null;
927
928 try {
929 session = openSession();
930
931 StringBundler query = new StringBundler(4);
932
933 query.append(_SQL_COUNT_ANNOUNCEMENTSFLAG_WHERE);
934
935 query.append(_FINDER_COLUMN_U_E_V_USERID_2);
936
937 query.append(_FINDER_COLUMN_U_E_V_ENTRYID_2);
938
939 query.append(_FINDER_COLUMN_U_E_V_VALUE_2);
940
941 String sql = query.toString();
942
943 Query q = session.createQuery(sql);
944
945 QueryPos qPos = QueryPos.getInstance(q);
946
947 qPos.add(userId);
948
949 qPos.add(entryId);
950
951 qPos.add(value);
952
953 count = (Long)q.uniqueResult();
954 }
955 catch (Exception e) {
956 throw processException(e);
957 }
958 finally {
959 if (count == null) {
960 count = Long.valueOf(0);
961 }
962
963 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_U_E_V,
964 finderArgs, count);
965
966 closeSession(session);
967 }
968 }
969
970 return count.intValue();
971 }
972
973 public int countAll() throws SystemException {
974 Object[] finderArgs = new Object[0];
975
976 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
977 finderArgs, this);
978
979 if (count == null) {
980 Session session = null;
981
982 try {
983 session = openSession();
984
985 Query q = session.createQuery(_SQL_COUNT_ANNOUNCEMENTSFLAG);
986
987 count = (Long)q.uniqueResult();
988 }
989 catch (Exception e) {
990 throw processException(e);
991 }
992 finally {
993 if (count == null) {
994 count = Long.valueOf(0);
995 }
996
997 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
998 count);
999
1000 closeSession(session);
1001 }
1002 }
1003
1004 return count.intValue();
1005 }
1006
1007 public void afterPropertiesSet() {
1008 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1009 com.liferay.portal.util.PropsUtil.get(
1010 "value.object.listener.com.liferay.portlet.announcements.model.AnnouncementsFlag")));
1011
1012 if (listenerClassNames.length > 0) {
1013 try {
1014 List<ModelListener<AnnouncementsFlag>> listenersList = new ArrayList<ModelListener<AnnouncementsFlag>>();
1015
1016 for (String listenerClassName : listenerClassNames) {
1017 listenersList.add((ModelListener<AnnouncementsFlag>)Class.forName(
1018 listenerClassName).newInstance());
1019 }
1020
1021 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1022 }
1023 catch (Exception e) {
1024 _log.error(e);
1025 }
1026 }
1027 }
1028
1029 @BeanReference(name = "com.liferay.portlet.announcements.service.persistence.AnnouncementsDeliveryPersistence")
1030 protected com.liferay.portlet.announcements.service.persistence.AnnouncementsDeliveryPersistence announcementsDeliveryPersistence;
1031 @BeanReference(name = "com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryPersistence")
1032 protected com.liferay.portlet.announcements.service.persistence.AnnouncementsEntryPersistence announcementsEntryPersistence;
1033 @BeanReference(name = "com.liferay.portlet.announcements.service.persistence.AnnouncementsFlagPersistence")
1034 protected com.liferay.portlet.announcements.service.persistence.AnnouncementsFlagPersistence announcementsFlagPersistence;
1035 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence")
1036 protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1037 @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence")
1038 protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1039 private static final String _SQL_SELECT_ANNOUNCEMENTSFLAG = "SELECT announcementsFlag FROM AnnouncementsFlag announcementsFlag";
1040 private static final String _SQL_SELECT_ANNOUNCEMENTSFLAG_WHERE = "SELECT announcementsFlag FROM AnnouncementsFlag announcementsFlag WHERE ";
1041 private static final String _SQL_COUNT_ANNOUNCEMENTSFLAG = "SELECT COUNT(announcementsFlag) FROM AnnouncementsFlag announcementsFlag";
1042 private static final String _SQL_COUNT_ANNOUNCEMENTSFLAG_WHERE = "SELECT COUNT(announcementsFlag) FROM AnnouncementsFlag announcementsFlag WHERE ";
1043 private static final String _FINDER_COLUMN_ENTRYID_ENTRYID_2 = "announcementsFlag.entryId = ?";
1044 private static final String _FINDER_COLUMN_U_E_V_USERID_2 = "announcementsFlag.userId = ? AND ";
1045 private static final String _FINDER_COLUMN_U_E_V_ENTRYID_2 = "announcementsFlag.entryId = ? AND ";
1046 private static final String _FINDER_COLUMN_U_E_V_VALUE_2 = "announcementsFlag.value = ?";
1047 private static final String _ORDER_BY_ENTITY_ALIAS = "announcementsFlag.";
1048 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No AnnouncementsFlag exists with the primary key ";
1049 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No AnnouncementsFlag exists with the key {";
1050 private static Log _log = LogFactoryUtil.getLog(AnnouncementsFlagPersistenceImpl.class);
1051}