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