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