1
22
23 package com.liferay.portlet.messageboards.service.persistence;
24
25 import com.liferay.portal.SystemException;
26 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
27 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
28 import com.liferay.portal.kernel.dao.orm.Query;
29 import com.liferay.portal.kernel.dao.orm.QueryPos;
30 import com.liferay.portal.kernel.dao.orm.QueryUtil;
31 import com.liferay.portal.kernel.dao.orm.Session;
32 import com.liferay.portal.kernel.util.GetterUtil;
33 import com.liferay.portal.kernel.util.ListUtil;
34 import com.liferay.portal.kernel.util.OrderByComparator;
35 import com.liferay.portal.kernel.util.StringPool;
36 import com.liferay.portal.kernel.util.StringUtil;
37 import com.liferay.portal.model.ModelListener;
38 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
39
40 import com.liferay.portlet.messageboards.NoSuchMessageFlagException;
41 import com.liferay.portlet.messageboards.model.MBMessageFlag;
42 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
43 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagModelImpl;
44
45 import org.apache.commons.logging.Log;
46 import org.apache.commons.logging.LogFactory;
47
48 import java.util.ArrayList;
49 import java.util.Collections;
50 import java.util.Iterator;
51 import java.util.List;
52
53
59 public class MBMessageFlagPersistenceImpl extends BasePersistenceImpl
60 implements MBMessageFlagPersistence {
61 public MBMessageFlag create(long messageFlagId) {
62 MBMessageFlag mbMessageFlag = new MBMessageFlagImpl();
63
64 mbMessageFlag.setNew(true);
65 mbMessageFlag.setPrimaryKey(messageFlagId);
66
67 return mbMessageFlag;
68 }
69
70 public MBMessageFlag remove(long messageFlagId)
71 throws NoSuchMessageFlagException, SystemException {
72 Session session = null;
73
74 try {
75 session = openSession();
76
77 MBMessageFlag mbMessageFlag = (MBMessageFlag)session.get(MBMessageFlagImpl.class,
78 new Long(messageFlagId));
79
80 if (mbMessageFlag == null) {
81 if (_log.isWarnEnabled()) {
82 _log.warn("No MBMessageFlag exists with the primary key " +
83 messageFlagId);
84 }
85
86 throw new NoSuchMessageFlagException(
87 "No MBMessageFlag exists with the primary key " +
88 messageFlagId);
89 }
90
91 return remove(mbMessageFlag);
92 }
93 catch (NoSuchMessageFlagException nsee) {
94 throw nsee;
95 }
96 catch (Exception e) {
97 throw processException(e);
98 }
99 finally {
100 closeSession(session);
101 }
102 }
103
104 public MBMessageFlag remove(MBMessageFlag mbMessageFlag)
105 throws SystemException {
106 if (_listeners.length > 0) {
107 for (ModelListener listener : _listeners) {
108 listener.onBeforeRemove(mbMessageFlag);
109 }
110 }
111
112 mbMessageFlag = removeImpl(mbMessageFlag);
113
114 if (_listeners.length > 0) {
115 for (ModelListener listener : _listeners) {
116 listener.onAfterRemove(mbMessageFlag);
117 }
118 }
119
120 return mbMessageFlag;
121 }
122
123 protected MBMessageFlag removeImpl(MBMessageFlag mbMessageFlag)
124 throws SystemException {
125 Session session = null;
126
127 try {
128 session = openSession();
129
130 session.delete(mbMessageFlag);
131
132 session.flush();
133
134 return mbMessageFlag;
135 }
136 catch (Exception e) {
137 throw processException(e);
138 }
139 finally {
140 closeSession(session);
141
142 FinderCacheUtil.clearCache(MBMessageFlag.class.getName());
143 }
144 }
145
146
149 public MBMessageFlag update(MBMessageFlag mbMessageFlag)
150 throws SystemException {
151 if (_log.isWarnEnabled()) {
152 _log.warn(
153 "Using the deprecated update(MBMessageFlag mbMessageFlag) method. Use update(MBMessageFlag mbMessageFlag, boolean merge) instead.");
154 }
155
156 return update(mbMessageFlag, false);
157 }
158
159
172 public MBMessageFlag update(MBMessageFlag mbMessageFlag, boolean merge)
173 throws SystemException {
174 boolean isNew = mbMessageFlag.isNew();
175
176 if (_listeners.length > 0) {
177 for (ModelListener listener : _listeners) {
178 if (isNew) {
179 listener.onBeforeCreate(mbMessageFlag);
180 }
181 else {
182 listener.onBeforeUpdate(mbMessageFlag);
183 }
184 }
185 }
186
187 mbMessageFlag = updateImpl(mbMessageFlag, merge);
188
189 if (_listeners.length > 0) {
190 for (ModelListener listener : _listeners) {
191 if (isNew) {
192 listener.onAfterCreate(mbMessageFlag);
193 }
194 else {
195 listener.onAfterUpdate(mbMessageFlag);
196 }
197 }
198 }
199
200 return mbMessageFlag;
201 }
202
203 public MBMessageFlag updateImpl(
204 com.liferay.portlet.messageboards.model.MBMessageFlag mbMessageFlag,
205 boolean merge) throws SystemException {
206 Session session = null;
207
208 try {
209 session = openSession();
210
211 if (merge) {
212 session.merge(mbMessageFlag);
213 }
214 else {
215 if (mbMessageFlag.isNew()) {
216 session.save(mbMessageFlag);
217 }
218 }
219
220 session.flush();
221
222 mbMessageFlag.setNew(false);
223
224 return mbMessageFlag;
225 }
226 catch (Exception e) {
227 throw processException(e);
228 }
229 finally {
230 closeSession(session);
231
232 FinderCacheUtil.clearCache(MBMessageFlag.class.getName());
233 }
234 }
235
236 public MBMessageFlag findByPrimaryKey(long messageFlagId)
237 throws NoSuchMessageFlagException, SystemException {
238 MBMessageFlag mbMessageFlag = fetchByPrimaryKey(messageFlagId);
239
240 if (mbMessageFlag == null) {
241 if (_log.isWarnEnabled()) {
242 _log.warn("No MBMessageFlag exists with the primary key " +
243 messageFlagId);
244 }
245
246 throw new NoSuchMessageFlagException(
247 "No MBMessageFlag exists with the primary key " +
248 messageFlagId);
249 }
250
251 return mbMessageFlag;
252 }
253
254 public MBMessageFlag fetchByPrimaryKey(long messageFlagId)
255 throws SystemException {
256 Session session = null;
257
258 try {
259 session = openSession();
260
261 return (MBMessageFlag)session.get(MBMessageFlagImpl.class,
262 new Long(messageFlagId));
263 }
264 catch (Exception e) {
265 throw processException(e);
266 }
267 finally {
268 closeSession(session);
269 }
270 }
271
272 public List<MBMessageFlag> findByUserId(long userId)
273 throws SystemException {
274 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
275 String finderClassName = MBMessageFlag.class.getName();
276 String finderMethodName = "findByUserId";
277 String[] finderParams = new String[] { Long.class.getName() };
278 Object[] finderArgs = new Object[] { new Long(userId) };
279
280 Object result = null;
281
282 if (finderClassNameCacheEnabled) {
283 result = FinderCacheUtil.getResult(finderClassName,
284 finderMethodName, finderParams, finderArgs, this);
285 }
286
287 if (result == null) {
288 Session session = null;
289
290 try {
291 session = openSession();
292
293 StringBuilder query = new StringBuilder();
294
295 query.append(
296 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
297
298 query.append("userId = ?");
299
300 query.append(" ");
301
302 Query q = session.createQuery(query.toString());
303
304 QueryPos qPos = QueryPos.getInstance(q);
305
306 qPos.add(userId);
307
308 List<MBMessageFlag> list = q.list();
309
310 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
311 finderClassName, finderMethodName, finderParams,
312 finderArgs, list);
313
314 return list;
315 }
316 catch (Exception e) {
317 throw processException(e);
318 }
319 finally {
320 closeSession(session);
321 }
322 }
323 else {
324 return (List<MBMessageFlag>)result;
325 }
326 }
327
328 public List<MBMessageFlag> findByUserId(long userId, int start, int end)
329 throws SystemException {
330 return findByUserId(userId, start, end, null);
331 }
332
333 public List<MBMessageFlag> findByUserId(long userId, int start, int end,
334 OrderByComparator obc) throws SystemException {
335 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
336 String finderClassName = MBMessageFlag.class.getName();
337 String finderMethodName = "findByUserId";
338 String[] finderParams = new String[] {
339 Long.class.getName(),
340
341 "java.lang.Integer", "java.lang.Integer",
342 "com.liferay.portal.kernel.util.OrderByComparator"
343 };
344 Object[] finderArgs = new Object[] {
345 new Long(userId),
346
347 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
348 };
349
350 Object result = null;
351
352 if (finderClassNameCacheEnabled) {
353 result = FinderCacheUtil.getResult(finderClassName,
354 finderMethodName, finderParams, finderArgs, this);
355 }
356
357 if (result == null) {
358 Session session = null;
359
360 try {
361 session = openSession();
362
363 StringBuilder query = new StringBuilder();
364
365 query.append(
366 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
367
368 query.append("userId = ?");
369
370 query.append(" ");
371
372 if (obc != null) {
373 query.append("ORDER BY ");
374 query.append(obc.getOrderBy());
375 }
376
377 Query q = session.createQuery(query.toString());
378
379 QueryPos qPos = QueryPos.getInstance(q);
380
381 qPos.add(userId);
382
383 List<MBMessageFlag> list = (List<MBMessageFlag>)QueryUtil.list(q,
384 getDialect(), start, end);
385
386 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
387 finderClassName, finderMethodName, finderParams,
388 finderArgs, list);
389
390 return list;
391 }
392 catch (Exception e) {
393 throw processException(e);
394 }
395 finally {
396 closeSession(session);
397 }
398 }
399 else {
400 return (List<MBMessageFlag>)result;
401 }
402 }
403
404 public MBMessageFlag findByUserId_First(long userId, OrderByComparator obc)
405 throws NoSuchMessageFlagException, SystemException {
406 List<MBMessageFlag> list = findByUserId(userId, 0, 1, obc);
407
408 if (list.size() == 0) {
409 StringBuilder msg = new StringBuilder();
410
411 msg.append("No MBMessageFlag exists with the key {");
412
413 msg.append("userId=" + userId);
414
415 msg.append(StringPool.CLOSE_CURLY_BRACE);
416
417 throw new NoSuchMessageFlagException(msg.toString());
418 }
419 else {
420 return list.get(0);
421 }
422 }
423
424 public MBMessageFlag findByUserId_Last(long userId, OrderByComparator obc)
425 throws NoSuchMessageFlagException, SystemException {
426 int count = countByUserId(userId);
427
428 List<MBMessageFlag> list = findByUserId(userId, count - 1, count, obc);
429
430 if (list.size() == 0) {
431 StringBuilder msg = new StringBuilder();
432
433 msg.append("No MBMessageFlag exists with the key {");
434
435 msg.append("userId=" + userId);
436
437 msg.append(StringPool.CLOSE_CURLY_BRACE);
438
439 throw new NoSuchMessageFlagException(msg.toString());
440 }
441 else {
442 return list.get(0);
443 }
444 }
445
446 public MBMessageFlag[] findByUserId_PrevAndNext(long messageFlagId,
447 long userId, OrderByComparator obc)
448 throws NoSuchMessageFlagException, SystemException {
449 MBMessageFlag mbMessageFlag = findByPrimaryKey(messageFlagId);
450
451 int count = countByUserId(userId);
452
453 Session session = null;
454
455 try {
456 session = openSession();
457
458 StringBuilder query = new StringBuilder();
459
460 query.append(
461 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
462
463 query.append("userId = ?");
464
465 query.append(" ");
466
467 if (obc != null) {
468 query.append("ORDER BY ");
469 query.append(obc.getOrderBy());
470 }
471
472 Query q = session.createQuery(query.toString());
473
474 QueryPos qPos = QueryPos.getInstance(q);
475
476 qPos.add(userId);
477
478 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
479 mbMessageFlag);
480
481 MBMessageFlag[] array = new MBMessageFlagImpl[3];
482
483 array[0] = (MBMessageFlag)objArray[0];
484 array[1] = (MBMessageFlag)objArray[1];
485 array[2] = (MBMessageFlag)objArray[2];
486
487 return array;
488 }
489 catch (Exception e) {
490 throw processException(e);
491 }
492 finally {
493 closeSession(session);
494 }
495 }
496
497 public List<MBMessageFlag> findByMessageId(long messageId)
498 throws SystemException {
499 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
500 String finderClassName = MBMessageFlag.class.getName();
501 String finderMethodName = "findByMessageId";
502 String[] finderParams = new String[] { Long.class.getName() };
503 Object[] finderArgs = new Object[] { new Long(messageId) };
504
505 Object result = null;
506
507 if (finderClassNameCacheEnabled) {
508 result = FinderCacheUtil.getResult(finderClassName,
509 finderMethodName, finderParams, finderArgs, this);
510 }
511
512 if (result == null) {
513 Session session = null;
514
515 try {
516 session = openSession();
517
518 StringBuilder query = new StringBuilder();
519
520 query.append(
521 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
522
523 query.append("messageId = ?");
524
525 query.append(" ");
526
527 Query q = session.createQuery(query.toString());
528
529 QueryPos qPos = QueryPos.getInstance(q);
530
531 qPos.add(messageId);
532
533 List<MBMessageFlag> list = q.list();
534
535 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
536 finderClassName, finderMethodName, finderParams,
537 finderArgs, list);
538
539 return list;
540 }
541 catch (Exception e) {
542 throw processException(e);
543 }
544 finally {
545 closeSession(session);
546 }
547 }
548 else {
549 return (List<MBMessageFlag>)result;
550 }
551 }
552
553 public List<MBMessageFlag> findByMessageId(long messageId, int start,
554 int end) throws SystemException {
555 return findByMessageId(messageId, start, end, null);
556 }
557
558 public List<MBMessageFlag> findByMessageId(long messageId, int start,
559 int end, OrderByComparator obc) throws SystemException {
560 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
561 String finderClassName = MBMessageFlag.class.getName();
562 String finderMethodName = "findByMessageId";
563 String[] finderParams = new String[] {
564 Long.class.getName(),
565
566 "java.lang.Integer", "java.lang.Integer",
567 "com.liferay.portal.kernel.util.OrderByComparator"
568 };
569 Object[] finderArgs = new Object[] {
570 new Long(messageId),
571
572 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
573 };
574
575 Object result = null;
576
577 if (finderClassNameCacheEnabled) {
578 result = FinderCacheUtil.getResult(finderClassName,
579 finderMethodName, finderParams, finderArgs, this);
580 }
581
582 if (result == null) {
583 Session session = null;
584
585 try {
586 session = openSession();
587
588 StringBuilder query = new StringBuilder();
589
590 query.append(
591 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
592
593 query.append("messageId = ?");
594
595 query.append(" ");
596
597 if (obc != null) {
598 query.append("ORDER BY ");
599 query.append(obc.getOrderBy());
600 }
601
602 Query q = session.createQuery(query.toString());
603
604 QueryPos qPos = QueryPos.getInstance(q);
605
606 qPos.add(messageId);
607
608 List<MBMessageFlag> list = (List<MBMessageFlag>)QueryUtil.list(q,
609 getDialect(), start, end);
610
611 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
612 finderClassName, finderMethodName, finderParams,
613 finderArgs, list);
614
615 return list;
616 }
617 catch (Exception e) {
618 throw processException(e);
619 }
620 finally {
621 closeSession(session);
622 }
623 }
624 else {
625 return (List<MBMessageFlag>)result;
626 }
627 }
628
629 public MBMessageFlag findByMessageId_First(long messageId,
630 OrderByComparator obc)
631 throws NoSuchMessageFlagException, SystemException {
632 List<MBMessageFlag> list = findByMessageId(messageId, 0, 1, obc);
633
634 if (list.size() == 0) {
635 StringBuilder msg = new StringBuilder();
636
637 msg.append("No MBMessageFlag exists with the key {");
638
639 msg.append("messageId=" + messageId);
640
641 msg.append(StringPool.CLOSE_CURLY_BRACE);
642
643 throw new NoSuchMessageFlagException(msg.toString());
644 }
645 else {
646 return list.get(0);
647 }
648 }
649
650 public MBMessageFlag findByMessageId_Last(long messageId,
651 OrderByComparator obc)
652 throws NoSuchMessageFlagException, SystemException {
653 int count = countByMessageId(messageId);
654
655 List<MBMessageFlag> list = findByMessageId(messageId, count - 1, count,
656 obc);
657
658 if (list.size() == 0) {
659 StringBuilder msg = new StringBuilder();
660
661 msg.append("No MBMessageFlag exists with the key {");
662
663 msg.append("messageId=" + messageId);
664
665 msg.append(StringPool.CLOSE_CURLY_BRACE);
666
667 throw new NoSuchMessageFlagException(msg.toString());
668 }
669 else {
670 return list.get(0);
671 }
672 }
673
674 public MBMessageFlag[] findByMessageId_PrevAndNext(long messageFlagId,
675 long messageId, OrderByComparator obc)
676 throws NoSuchMessageFlagException, SystemException {
677 MBMessageFlag mbMessageFlag = findByPrimaryKey(messageFlagId);
678
679 int count = countByMessageId(messageId);
680
681 Session session = null;
682
683 try {
684 session = openSession();
685
686 StringBuilder query = new StringBuilder();
687
688 query.append(
689 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
690
691 query.append("messageId = ?");
692
693 query.append(" ");
694
695 if (obc != null) {
696 query.append("ORDER BY ");
697 query.append(obc.getOrderBy());
698 }
699
700 Query q = session.createQuery(query.toString());
701
702 QueryPos qPos = QueryPos.getInstance(q);
703
704 qPos.add(messageId);
705
706 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
707 mbMessageFlag);
708
709 MBMessageFlag[] array = new MBMessageFlagImpl[3];
710
711 array[0] = (MBMessageFlag)objArray[0];
712 array[1] = (MBMessageFlag)objArray[1];
713 array[2] = (MBMessageFlag)objArray[2];
714
715 return array;
716 }
717 catch (Exception e) {
718 throw processException(e);
719 }
720 finally {
721 closeSession(session);
722 }
723 }
724
725 public MBMessageFlag findByU_M(long userId, long messageId)
726 throws NoSuchMessageFlagException, SystemException {
727 MBMessageFlag mbMessageFlag = fetchByU_M(userId, messageId);
728
729 if (mbMessageFlag == null) {
730 StringBuilder msg = new StringBuilder();
731
732 msg.append("No MBMessageFlag exists with the key {");
733
734 msg.append("userId=" + userId);
735
736 msg.append(", ");
737 msg.append("messageId=" + messageId);
738
739 msg.append(StringPool.CLOSE_CURLY_BRACE);
740
741 if (_log.isWarnEnabled()) {
742 _log.warn(msg.toString());
743 }
744
745 throw new NoSuchMessageFlagException(msg.toString());
746 }
747
748 return mbMessageFlag;
749 }
750
751 public MBMessageFlag fetchByU_M(long userId, long messageId)
752 throws SystemException {
753 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
754 String finderClassName = MBMessageFlag.class.getName();
755 String finderMethodName = "fetchByU_M";
756 String[] finderParams = new String[] {
757 Long.class.getName(), Long.class.getName()
758 };
759 Object[] finderArgs = new Object[] { new Long(userId), new Long(messageId) };
760
761 Object result = null;
762
763 if (finderClassNameCacheEnabled) {
764 result = FinderCacheUtil.getResult(finderClassName,
765 finderMethodName, finderParams, finderArgs, this);
766 }
767
768 if (result == null) {
769 Session session = null;
770
771 try {
772 session = openSession();
773
774 StringBuilder query = new StringBuilder();
775
776 query.append(
777 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
778
779 query.append("userId = ?");
780
781 query.append(" AND ");
782
783 query.append("messageId = ?");
784
785 query.append(" ");
786
787 Query q = session.createQuery(query.toString());
788
789 QueryPos qPos = QueryPos.getInstance(q);
790
791 qPos.add(userId);
792
793 qPos.add(messageId);
794
795 List<MBMessageFlag> list = q.list();
796
797 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
798 finderClassName, finderMethodName, finderParams,
799 finderArgs, list);
800
801 if (list.size() == 0) {
802 return null;
803 }
804 else {
805 return list.get(0);
806 }
807 }
808 catch (Exception e) {
809 throw processException(e);
810 }
811 finally {
812 closeSession(session);
813 }
814 }
815 else {
816 List<MBMessageFlag> list = (List<MBMessageFlag>)result;
817
818 if (list.size() == 0) {
819 return null;
820 }
821 else {
822 return list.get(0);
823 }
824 }
825 }
826
827 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
828 throws SystemException {
829 Session session = null;
830
831 try {
832 session = openSession();
833
834 dynamicQuery.compile(session);
835
836 return dynamicQuery.list();
837 }
838 catch (Exception e) {
839 throw processException(e);
840 }
841 finally {
842 closeSession(session);
843 }
844 }
845
846 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
847 int start, int end) throws SystemException {
848 Session session = null;
849
850 try {
851 session = openSession();
852
853 dynamicQuery.setLimit(start, end);
854
855 dynamicQuery.compile(session);
856
857 return dynamicQuery.list();
858 }
859 catch (Exception e) {
860 throw processException(e);
861 }
862 finally {
863 closeSession(session);
864 }
865 }
866
867 public List<MBMessageFlag> findAll() throws SystemException {
868 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
869 }
870
871 public List<MBMessageFlag> findAll(int start, int end)
872 throws SystemException {
873 return findAll(start, end, null);
874 }
875
876 public List<MBMessageFlag> findAll(int start, int end, OrderByComparator obc)
877 throws SystemException {
878 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
879 String finderClassName = MBMessageFlag.class.getName();
880 String finderMethodName = "findAll";
881 String[] finderParams = new String[] {
882 "java.lang.Integer", "java.lang.Integer",
883 "com.liferay.portal.kernel.util.OrderByComparator"
884 };
885 Object[] finderArgs = new Object[] {
886 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
887 };
888
889 Object result = null;
890
891 if (finderClassNameCacheEnabled) {
892 result = FinderCacheUtil.getResult(finderClassName,
893 finderMethodName, finderParams, finderArgs, this);
894 }
895
896 if (result == null) {
897 Session session = null;
898
899 try {
900 session = openSession();
901
902 StringBuilder query = new StringBuilder();
903
904 query.append(
905 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag ");
906
907 if (obc != null) {
908 query.append("ORDER BY ");
909 query.append(obc.getOrderBy());
910 }
911
912 Query q = session.createQuery(query.toString());
913
914 List<MBMessageFlag> list = (List<MBMessageFlag>)QueryUtil.list(q,
915 getDialect(), start, end);
916
917 if (obc == null) {
918 Collections.sort(list);
919 }
920
921 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
922 finderClassName, finderMethodName, finderParams,
923 finderArgs, list);
924
925 return list;
926 }
927 catch (Exception e) {
928 throw processException(e);
929 }
930 finally {
931 closeSession(session);
932 }
933 }
934 else {
935 return (List<MBMessageFlag>)result;
936 }
937 }
938
939 public void removeByUserId(long userId) throws SystemException {
940 for (MBMessageFlag mbMessageFlag : findByUserId(userId)) {
941 remove(mbMessageFlag);
942 }
943 }
944
945 public void removeByMessageId(long messageId) throws SystemException {
946 for (MBMessageFlag mbMessageFlag : findByMessageId(messageId)) {
947 remove(mbMessageFlag);
948 }
949 }
950
951 public void removeByU_M(long userId, long messageId)
952 throws NoSuchMessageFlagException, SystemException {
953 MBMessageFlag mbMessageFlag = findByU_M(userId, messageId);
954
955 remove(mbMessageFlag);
956 }
957
958 public void removeAll() throws SystemException {
959 for (MBMessageFlag mbMessageFlag : findAll()) {
960 remove(mbMessageFlag);
961 }
962 }
963
964 public int countByUserId(long userId) throws SystemException {
965 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
966 String finderClassName = MBMessageFlag.class.getName();
967 String finderMethodName = "countByUserId";
968 String[] finderParams = new String[] { Long.class.getName() };
969 Object[] finderArgs = new Object[] { new Long(userId) };
970
971 Object result = null;
972
973 if (finderClassNameCacheEnabled) {
974 result = FinderCacheUtil.getResult(finderClassName,
975 finderMethodName, finderParams, finderArgs, this);
976 }
977
978 if (result == null) {
979 Session session = null;
980
981 try {
982 session = openSession();
983
984 StringBuilder query = new StringBuilder();
985
986 query.append("SELECT COUNT(*) ");
987 query.append(
988 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
989
990 query.append("userId = ?");
991
992 query.append(" ");
993
994 Query q = session.createQuery(query.toString());
995
996 QueryPos qPos = QueryPos.getInstance(q);
997
998 qPos.add(userId);
999
1000 Long count = null;
1001
1002 Iterator<Long> itr = q.list().iterator();
1003
1004 if (itr.hasNext()) {
1005 count = itr.next();
1006 }
1007
1008 if (count == null) {
1009 count = new Long(0);
1010 }
1011
1012 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1013 finderClassName, finderMethodName, finderParams,
1014 finderArgs, count);
1015
1016 return count.intValue();
1017 }
1018 catch (Exception e) {
1019 throw processException(e);
1020 }
1021 finally {
1022 closeSession(session);
1023 }
1024 }
1025 else {
1026 return ((Long)result).intValue();
1027 }
1028 }
1029
1030 public int countByMessageId(long messageId) throws SystemException {
1031 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
1032 String finderClassName = MBMessageFlag.class.getName();
1033 String finderMethodName = "countByMessageId";
1034 String[] finderParams = new String[] { Long.class.getName() };
1035 Object[] finderArgs = new Object[] { new Long(messageId) };
1036
1037 Object result = null;
1038
1039 if (finderClassNameCacheEnabled) {
1040 result = FinderCacheUtil.getResult(finderClassName,
1041 finderMethodName, finderParams, finderArgs, this);
1042 }
1043
1044 if (result == null) {
1045 Session session = null;
1046
1047 try {
1048 session = openSession();
1049
1050 StringBuilder query = new StringBuilder();
1051
1052 query.append("SELECT COUNT(*) ");
1053 query.append(
1054 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
1055
1056 query.append("messageId = ?");
1057
1058 query.append(" ");
1059
1060 Query q = session.createQuery(query.toString());
1061
1062 QueryPos qPos = QueryPos.getInstance(q);
1063
1064 qPos.add(messageId);
1065
1066 Long count = null;
1067
1068 Iterator<Long> itr = q.list().iterator();
1069
1070 if (itr.hasNext()) {
1071 count = itr.next();
1072 }
1073
1074 if (count == null) {
1075 count = new Long(0);
1076 }
1077
1078 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1079 finderClassName, finderMethodName, finderParams,
1080 finderArgs, count);
1081
1082 return count.intValue();
1083 }
1084 catch (Exception e) {
1085 throw processException(e);
1086 }
1087 finally {
1088 closeSession(session);
1089 }
1090 }
1091 else {
1092 return ((Long)result).intValue();
1093 }
1094 }
1095
1096 public int countByU_M(long userId, long messageId)
1097 throws SystemException {
1098 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
1099 String finderClassName = MBMessageFlag.class.getName();
1100 String finderMethodName = "countByU_M";
1101 String[] finderParams = new String[] {
1102 Long.class.getName(), Long.class.getName()
1103 };
1104 Object[] finderArgs = new Object[] { new Long(userId), new Long(messageId) };
1105
1106 Object result = null;
1107
1108 if (finderClassNameCacheEnabled) {
1109 result = FinderCacheUtil.getResult(finderClassName,
1110 finderMethodName, finderParams, finderArgs, this);
1111 }
1112
1113 if (result == null) {
1114 Session session = null;
1115
1116 try {
1117 session = openSession();
1118
1119 StringBuilder query = new StringBuilder();
1120
1121 query.append("SELECT COUNT(*) ");
1122 query.append(
1123 "FROM com.liferay.portlet.messageboards.model.MBMessageFlag WHERE ");
1124
1125 query.append("userId = ?");
1126
1127 query.append(" AND ");
1128
1129 query.append("messageId = ?");
1130
1131 query.append(" ");
1132
1133 Query q = session.createQuery(query.toString());
1134
1135 QueryPos qPos = QueryPos.getInstance(q);
1136
1137 qPos.add(userId);
1138
1139 qPos.add(messageId);
1140
1141 Long count = null;
1142
1143 Iterator<Long> itr = q.list().iterator();
1144
1145 if (itr.hasNext()) {
1146 count = itr.next();
1147 }
1148
1149 if (count == null) {
1150 count = new Long(0);
1151 }
1152
1153 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1154 finderClassName, finderMethodName, finderParams,
1155 finderArgs, count);
1156
1157 return count.intValue();
1158 }
1159 catch (Exception e) {
1160 throw processException(e);
1161 }
1162 finally {
1163 closeSession(session);
1164 }
1165 }
1166 else {
1167 return ((Long)result).intValue();
1168 }
1169 }
1170
1171 public int countAll() throws SystemException {
1172 boolean finderClassNameCacheEnabled = MBMessageFlagModelImpl.CACHE_ENABLED;
1173 String finderClassName = MBMessageFlag.class.getName();
1174 String finderMethodName = "countAll";
1175 String[] finderParams = new String[] { };
1176 Object[] finderArgs = new Object[] { };
1177
1178 Object result = null;
1179
1180 if (finderClassNameCacheEnabled) {
1181 result = FinderCacheUtil.getResult(finderClassName,
1182 finderMethodName, finderParams, finderArgs, this);
1183 }
1184
1185 if (result == null) {
1186 Session session = null;
1187
1188 try {
1189 session = openSession();
1190
1191 Query q = session.createQuery(
1192 "SELECT COUNT(*) FROM com.liferay.portlet.messageboards.model.MBMessageFlag");
1193
1194 Long count = null;
1195
1196 Iterator<Long> itr = q.list().iterator();
1197
1198 if (itr.hasNext()) {
1199 count = itr.next();
1200 }
1201
1202 if (count == null) {
1203 count = new Long(0);
1204 }
1205
1206 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1207 finderClassName, finderMethodName, finderParams,
1208 finderArgs, count);
1209
1210 return count.intValue();
1211 }
1212 catch (Exception e) {
1213 throw processException(e);
1214 }
1215 finally {
1216 closeSession(session);
1217 }
1218 }
1219 else {
1220 return ((Long)result).intValue();
1221 }
1222 }
1223
1224 public void registerListener(ModelListener listener) {
1225 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
1226
1227 listeners.add(listener);
1228
1229 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
1230 }
1231
1232 public void unregisterListener(ModelListener listener) {
1233 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
1234
1235 listeners.remove(listener);
1236
1237 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
1238 }
1239
1240 public void afterPropertiesSet() {
1241 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1242 com.liferay.portal.util.PropsUtil.get(
1243 "value.object.listener.com.liferay.portlet.messageboards.model.MBMessageFlag")));
1244
1245 if (listenerClassNames.length > 0) {
1246 try {
1247 List<ModelListener> listeners = new ArrayList<ModelListener>();
1248
1249 for (String listenerClassName : listenerClassNames) {
1250 listeners.add((ModelListener)Class.forName(
1251 listenerClassName).newInstance());
1252 }
1253
1254 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
1255 }
1256 catch (Exception e) {
1257 _log.error(e);
1258 }
1259 }
1260 }
1261
1262 private static Log _log = LogFactory.getLog(MBMessageFlagPersistenceImpl.class);
1263 private ModelListener[] _listeners = new ModelListener[0];
1264}