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