001
014
015 package com.liferay.portal.service.persistence;
016
017 import com.liferay.portal.NoSuchPortletPreferencesException;
018 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
019 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
020 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
021 import com.liferay.portal.kernel.dao.orm.FinderPath;
022 import com.liferay.portal.kernel.dao.orm.Query;
023 import com.liferay.portal.kernel.dao.orm.QueryPos;
024 import com.liferay.portal.kernel.dao.orm.QueryUtil;
025 import com.liferay.portal.kernel.dao.orm.Session;
026 import com.liferay.portal.kernel.exception.SystemException;
027 import com.liferay.portal.kernel.log.Log;
028 import com.liferay.portal.kernel.log.LogFactoryUtil;
029 import com.liferay.portal.kernel.util.GetterUtil;
030 import com.liferay.portal.kernel.util.InstanceFactory;
031 import com.liferay.portal.kernel.util.OrderByComparator;
032 import com.liferay.portal.kernel.util.StringBundler;
033 import com.liferay.portal.kernel.util.StringPool;
034 import com.liferay.portal.kernel.util.StringUtil;
035 import com.liferay.portal.kernel.util.UnmodifiableList;
036 import com.liferay.portal.kernel.util.Validator;
037 import com.liferay.portal.model.CacheModel;
038 import com.liferay.portal.model.ModelListener;
039 import com.liferay.portal.model.PortletPreferences;
040 import com.liferay.portal.model.impl.PortletPreferencesImpl;
041 import com.liferay.portal.model.impl.PortletPreferencesModelImpl;
042 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
043
044 import java.io.Serializable;
045
046 import java.util.ArrayList;
047 import java.util.Collections;
048 import java.util.List;
049
050
062 public class PortletPreferencesPersistenceImpl extends BasePersistenceImpl<PortletPreferences>
063 implements PortletPreferencesPersistence {
064
069 public static final String FINDER_CLASS_NAME_ENTITY = PortletPreferencesImpl.class.getName();
070 public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
071 ".List1";
072 public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
073 ".List2";
074 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
075 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
076 PortletPreferencesImpl.class,
077 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]);
078 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
079 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
080 PortletPreferencesImpl.class,
081 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]);
082 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
083 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
084 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]);
085 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_PLID = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
086 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
087 PortletPreferencesImpl.class,
088 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByPlid",
089 new String[] {
090 Long.class.getName(),
091
092 Integer.class.getName(), Integer.class.getName(),
093 OrderByComparator.class.getName()
094 });
095 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PLID = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
096 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
097 PortletPreferencesImpl.class,
098 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByPlid",
099 new String[] { Long.class.getName() },
100 PortletPreferencesModelImpl.PLID_COLUMN_BITMASK);
101 public static final FinderPath FINDER_PATH_COUNT_BY_PLID = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
102 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
103 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByPlid",
104 new String[] { Long.class.getName() });
105
106
113 @Override
114 public List<PortletPreferences> findByPlid(long plid)
115 throws SystemException {
116 return findByPlid(plid, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
117 }
118
119
132 @Override
133 public List<PortletPreferences> findByPlid(long plid, int start, int end)
134 throws SystemException {
135 return findByPlid(plid, start, end, null);
136 }
137
138
152 @Override
153 public List<PortletPreferences> findByPlid(long plid, int start, int end,
154 OrderByComparator orderByComparator) throws SystemException {
155 boolean pagination = true;
156 FinderPath finderPath = null;
157 Object[] finderArgs = null;
158
159 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
160 (orderByComparator == null)) {
161 pagination = false;
162 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PLID;
163 finderArgs = new Object[] { plid };
164 }
165 else {
166 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_PLID;
167 finderArgs = new Object[] { plid, start, end, orderByComparator };
168 }
169
170 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
171 finderArgs, this);
172
173 if ((list != null) && !list.isEmpty()) {
174 for (PortletPreferences portletPreferences : list) {
175 if ((plid != portletPreferences.getPlid())) {
176 list = null;
177
178 break;
179 }
180 }
181 }
182
183 if (list == null) {
184 StringBundler query = null;
185
186 if (orderByComparator != null) {
187 query = new StringBundler(3 +
188 (orderByComparator.getOrderByFields().length * 3));
189 }
190 else {
191 query = new StringBundler(3);
192 }
193
194 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
195
196 query.append(_FINDER_COLUMN_PLID_PLID_2);
197
198 if (orderByComparator != null) {
199 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
200 orderByComparator);
201 }
202 else
203 if (pagination) {
204 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
205 }
206
207 String sql = query.toString();
208
209 Session session = null;
210
211 try {
212 session = openSession();
213
214 Query q = session.createQuery(sql);
215
216 QueryPos qPos = QueryPos.getInstance(q);
217
218 qPos.add(plid);
219
220 if (!pagination) {
221 list = (List<PortletPreferences>)QueryUtil.list(q,
222 getDialect(), start, end, false);
223
224 Collections.sort(list);
225
226 list = new UnmodifiableList<PortletPreferences>(list);
227 }
228 else {
229 list = (List<PortletPreferences>)QueryUtil.list(q,
230 getDialect(), start, end);
231 }
232
233 cacheResult(list);
234
235 FinderCacheUtil.putResult(finderPath, finderArgs, list);
236 }
237 catch (Exception e) {
238 FinderCacheUtil.removeResult(finderPath, finderArgs);
239
240 throw processException(e);
241 }
242 finally {
243 closeSession(session);
244 }
245 }
246
247 return list;
248 }
249
250
259 @Override
260 public PortletPreferences findByPlid_First(long plid,
261 OrderByComparator orderByComparator)
262 throws NoSuchPortletPreferencesException, SystemException {
263 PortletPreferences portletPreferences = fetchByPlid_First(plid,
264 orderByComparator);
265
266 if (portletPreferences != null) {
267 return portletPreferences;
268 }
269
270 StringBundler msg = new StringBundler(4);
271
272 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
273
274 msg.append("plid=");
275 msg.append(plid);
276
277 msg.append(StringPool.CLOSE_CURLY_BRACE);
278
279 throw new NoSuchPortletPreferencesException(msg.toString());
280 }
281
282
290 @Override
291 public PortletPreferences fetchByPlid_First(long plid,
292 OrderByComparator orderByComparator) throws SystemException {
293 List<PortletPreferences> list = findByPlid(plid, 0, 1, orderByComparator);
294
295 if (!list.isEmpty()) {
296 return list.get(0);
297 }
298
299 return null;
300 }
301
302
311 @Override
312 public PortletPreferences findByPlid_Last(long plid,
313 OrderByComparator orderByComparator)
314 throws NoSuchPortletPreferencesException, SystemException {
315 PortletPreferences portletPreferences = fetchByPlid_Last(plid,
316 orderByComparator);
317
318 if (portletPreferences != null) {
319 return portletPreferences;
320 }
321
322 StringBundler msg = new StringBundler(4);
323
324 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
325
326 msg.append("plid=");
327 msg.append(plid);
328
329 msg.append(StringPool.CLOSE_CURLY_BRACE);
330
331 throw new NoSuchPortletPreferencesException(msg.toString());
332 }
333
334
342 @Override
343 public PortletPreferences fetchByPlid_Last(long plid,
344 OrderByComparator orderByComparator) throws SystemException {
345 int count = countByPlid(plid);
346
347 if (count == 0) {
348 return null;
349 }
350
351 List<PortletPreferences> list = findByPlid(plid, count - 1, count,
352 orderByComparator);
353
354 if (!list.isEmpty()) {
355 return list.get(0);
356 }
357
358 return null;
359 }
360
361
371 @Override
372 public PortletPreferences[] findByPlid_PrevAndNext(
373 long portletPreferencesId, long plid,
374 OrderByComparator orderByComparator)
375 throws NoSuchPortletPreferencesException, SystemException {
376 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
377
378 Session session = null;
379
380 try {
381 session = openSession();
382
383 PortletPreferences[] array = new PortletPreferencesImpl[3];
384
385 array[0] = getByPlid_PrevAndNext(session, portletPreferences, plid,
386 orderByComparator, true);
387
388 array[1] = portletPreferences;
389
390 array[2] = getByPlid_PrevAndNext(session, portletPreferences, plid,
391 orderByComparator, false);
392
393 return array;
394 }
395 catch (Exception e) {
396 throw processException(e);
397 }
398 finally {
399 closeSession(session);
400 }
401 }
402
403 protected PortletPreferences getByPlid_PrevAndNext(Session session,
404 PortletPreferences portletPreferences, long plid,
405 OrderByComparator orderByComparator, boolean previous) {
406 StringBundler query = null;
407
408 if (orderByComparator != null) {
409 query = new StringBundler(6 +
410 (orderByComparator.getOrderByFields().length * 6));
411 }
412 else {
413 query = new StringBundler(3);
414 }
415
416 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
417
418 query.append(_FINDER_COLUMN_PLID_PLID_2);
419
420 if (orderByComparator != null) {
421 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
422
423 if (orderByConditionFields.length > 0) {
424 query.append(WHERE_AND);
425 }
426
427 for (int i = 0; i < orderByConditionFields.length; i++) {
428 query.append(_ORDER_BY_ENTITY_ALIAS);
429 query.append(orderByConditionFields[i]);
430
431 if ((i + 1) < orderByConditionFields.length) {
432 if (orderByComparator.isAscending() ^ previous) {
433 query.append(WHERE_GREATER_THAN_HAS_NEXT);
434 }
435 else {
436 query.append(WHERE_LESSER_THAN_HAS_NEXT);
437 }
438 }
439 else {
440 if (orderByComparator.isAscending() ^ previous) {
441 query.append(WHERE_GREATER_THAN);
442 }
443 else {
444 query.append(WHERE_LESSER_THAN);
445 }
446 }
447 }
448
449 query.append(ORDER_BY_CLAUSE);
450
451 String[] orderByFields = orderByComparator.getOrderByFields();
452
453 for (int i = 0; i < orderByFields.length; i++) {
454 query.append(_ORDER_BY_ENTITY_ALIAS);
455 query.append(orderByFields[i]);
456
457 if ((i + 1) < orderByFields.length) {
458 if (orderByComparator.isAscending() ^ previous) {
459 query.append(ORDER_BY_ASC_HAS_NEXT);
460 }
461 else {
462 query.append(ORDER_BY_DESC_HAS_NEXT);
463 }
464 }
465 else {
466 if (orderByComparator.isAscending() ^ previous) {
467 query.append(ORDER_BY_ASC);
468 }
469 else {
470 query.append(ORDER_BY_DESC);
471 }
472 }
473 }
474 }
475 else {
476 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
477 }
478
479 String sql = query.toString();
480
481 Query q = session.createQuery(sql);
482
483 q.setFirstResult(0);
484 q.setMaxResults(2);
485
486 QueryPos qPos = QueryPos.getInstance(q);
487
488 qPos.add(plid);
489
490 if (orderByComparator != null) {
491 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
492
493 for (Object value : values) {
494 qPos.add(value);
495 }
496 }
497
498 List<PortletPreferences> list = q.list();
499
500 if (list.size() == 2) {
501 return list.get(1);
502 }
503 else {
504 return null;
505 }
506 }
507
508
514 @Override
515 public void removeByPlid(long plid) throws SystemException {
516 for (PortletPreferences portletPreferences : findByPlid(plid,
517 QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
518 remove(portletPreferences);
519 }
520 }
521
522
529 @Override
530 public int countByPlid(long plid) throws SystemException {
531 FinderPath finderPath = FINDER_PATH_COUNT_BY_PLID;
532
533 Object[] finderArgs = new Object[] { plid };
534
535 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
536 this);
537
538 if (count == null) {
539 StringBundler query = new StringBundler(2);
540
541 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
542
543 query.append(_FINDER_COLUMN_PLID_PLID_2);
544
545 String sql = query.toString();
546
547 Session session = null;
548
549 try {
550 session = openSession();
551
552 Query q = session.createQuery(sql);
553
554 QueryPos qPos = QueryPos.getInstance(q);
555
556 qPos.add(plid);
557
558 count = (Long)q.uniqueResult();
559
560 FinderCacheUtil.putResult(finderPath, finderArgs, count);
561 }
562 catch (Exception e) {
563 FinderCacheUtil.removeResult(finderPath, finderArgs);
564
565 throw processException(e);
566 }
567 finally {
568 closeSession(session);
569 }
570 }
571
572 return count.intValue();
573 }
574
575 private static final String _FINDER_COLUMN_PLID_PLID_2 = "portletPreferences.plid = ?";
576 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_PORTLETID =
577 new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
578 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
579 PortletPreferencesImpl.class,
580 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByPortletId",
581 new String[] {
582 String.class.getName(),
583
584 Integer.class.getName(), Integer.class.getName(),
585 OrderByComparator.class.getName()
586 });
587 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PORTLETID =
588 new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
589 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
590 PortletPreferencesImpl.class,
591 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByPortletId",
592 new String[] { String.class.getName() },
593 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
594 public static final FinderPath FINDER_PATH_COUNT_BY_PORTLETID = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
595 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
596 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByPortletId",
597 new String[] { String.class.getName() });
598
599
606 @Override
607 public List<PortletPreferences> findByPortletId(String portletId)
608 throws SystemException {
609 return findByPortletId(portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
610 null);
611 }
612
613
626 @Override
627 public List<PortletPreferences> findByPortletId(String portletId,
628 int start, int end) throws SystemException {
629 return findByPortletId(portletId, start, end, null);
630 }
631
632
646 @Override
647 public List<PortletPreferences> findByPortletId(String portletId,
648 int start, int end, OrderByComparator orderByComparator)
649 throws SystemException {
650 boolean pagination = true;
651 FinderPath finderPath = null;
652 Object[] finderArgs = null;
653
654 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
655 (orderByComparator == null)) {
656 pagination = false;
657 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PORTLETID;
658 finderArgs = new Object[] { portletId };
659 }
660 else {
661 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_PORTLETID;
662 finderArgs = new Object[] { portletId, start, end, orderByComparator };
663 }
664
665 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
666 finderArgs, this);
667
668 if ((list != null) && !list.isEmpty()) {
669 for (PortletPreferences portletPreferences : list) {
670 if (!Validator.equals(portletId,
671 portletPreferences.getPortletId())) {
672 list = null;
673
674 break;
675 }
676 }
677 }
678
679 if (list == null) {
680 StringBundler query = null;
681
682 if (orderByComparator != null) {
683 query = new StringBundler(3 +
684 (orderByComparator.getOrderByFields().length * 3));
685 }
686 else {
687 query = new StringBundler(3);
688 }
689
690 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
691
692 boolean bindPortletId = false;
693
694 if (portletId == null) {
695 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_1);
696 }
697 else if (portletId.equals(StringPool.BLANK)) {
698 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_3);
699 }
700 else {
701 bindPortletId = true;
702
703 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_2);
704 }
705
706 if (orderByComparator != null) {
707 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
708 orderByComparator);
709 }
710 else
711 if (pagination) {
712 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
713 }
714
715 String sql = query.toString();
716
717 Session session = null;
718
719 try {
720 session = openSession();
721
722 Query q = session.createQuery(sql);
723
724 QueryPos qPos = QueryPos.getInstance(q);
725
726 if (bindPortletId) {
727 qPos.add(portletId);
728 }
729
730 if (!pagination) {
731 list = (List<PortletPreferences>)QueryUtil.list(q,
732 getDialect(), start, end, false);
733
734 Collections.sort(list);
735
736 list = new UnmodifiableList<PortletPreferences>(list);
737 }
738 else {
739 list = (List<PortletPreferences>)QueryUtil.list(q,
740 getDialect(), start, end);
741 }
742
743 cacheResult(list);
744
745 FinderCacheUtil.putResult(finderPath, finderArgs, list);
746 }
747 catch (Exception e) {
748 FinderCacheUtil.removeResult(finderPath, finderArgs);
749
750 throw processException(e);
751 }
752 finally {
753 closeSession(session);
754 }
755 }
756
757 return list;
758 }
759
760
769 @Override
770 public PortletPreferences findByPortletId_First(String portletId,
771 OrderByComparator orderByComparator)
772 throws NoSuchPortletPreferencesException, SystemException {
773 PortletPreferences portletPreferences = fetchByPortletId_First(portletId,
774 orderByComparator);
775
776 if (portletPreferences != null) {
777 return portletPreferences;
778 }
779
780 StringBundler msg = new StringBundler(4);
781
782 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
783
784 msg.append("portletId=");
785 msg.append(portletId);
786
787 msg.append(StringPool.CLOSE_CURLY_BRACE);
788
789 throw new NoSuchPortletPreferencesException(msg.toString());
790 }
791
792
800 @Override
801 public PortletPreferences fetchByPortletId_First(String portletId,
802 OrderByComparator orderByComparator) throws SystemException {
803 List<PortletPreferences> list = findByPortletId(portletId, 0, 1,
804 orderByComparator);
805
806 if (!list.isEmpty()) {
807 return list.get(0);
808 }
809
810 return null;
811 }
812
813
822 @Override
823 public PortletPreferences findByPortletId_Last(String portletId,
824 OrderByComparator orderByComparator)
825 throws NoSuchPortletPreferencesException, SystemException {
826 PortletPreferences portletPreferences = fetchByPortletId_Last(portletId,
827 orderByComparator);
828
829 if (portletPreferences != null) {
830 return portletPreferences;
831 }
832
833 StringBundler msg = new StringBundler(4);
834
835 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
836
837 msg.append("portletId=");
838 msg.append(portletId);
839
840 msg.append(StringPool.CLOSE_CURLY_BRACE);
841
842 throw new NoSuchPortletPreferencesException(msg.toString());
843 }
844
845
853 @Override
854 public PortletPreferences fetchByPortletId_Last(String portletId,
855 OrderByComparator orderByComparator) throws SystemException {
856 int count = countByPortletId(portletId);
857
858 if (count == 0) {
859 return null;
860 }
861
862 List<PortletPreferences> list = findByPortletId(portletId, count - 1,
863 count, orderByComparator);
864
865 if (!list.isEmpty()) {
866 return list.get(0);
867 }
868
869 return null;
870 }
871
872
882 @Override
883 public PortletPreferences[] findByPortletId_PrevAndNext(
884 long portletPreferencesId, String portletId,
885 OrderByComparator orderByComparator)
886 throws NoSuchPortletPreferencesException, SystemException {
887 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
888
889 Session session = null;
890
891 try {
892 session = openSession();
893
894 PortletPreferences[] array = new PortletPreferencesImpl[3];
895
896 array[0] = getByPortletId_PrevAndNext(session, portletPreferences,
897 portletId, orderByComparator, true);
898
899 array[1] = portletPreferences;
900
901 array[2] = getByPortletId_PrevAndNext(session, portletPreferences,
902 portletId, orderByComparator, false);
903
904 return array;
905 }
906 catch (Exception e) {
907 throw processException(e);
908 }
909 finally {
910 closeSession(session);
911 }
912 }
913
914 protected PortletPreferences getByPortletId_PrevAndNext(Session session,
915 PortletPreferences portletPreferences, String portletId,
916 OrderByComparator orderByComparator, boolean previous) {
917 StringBundler query = null;
918
919 if (orderByComparator != null) {
920 query = new StringBundler(6 +
921 (orderByComparator.getOrderByFields().length * 6));
922 }
923 else {
924 query = new StringBundler(3);
925 }
926
927 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
928
929 boolean bindPortletId = false;
930
931 if (portletId == null) {
932 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_1);
933 }
934 else if (portletId.equals(StringPool.BLANK)) {
935 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_3);
936 }
937 else {
938 bindPortletId = true;
939
940 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_2);
941 }
942
943 if (orderByComparator != null) {
944 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
945
946 if (orderByConditionFields.length > 0) {
947 query.append(WHERE_AND);
948 }
949
950 for (int i = 0; i < orderByConditionFields.length; i++) {
951 query.append(_ORDER_BY_ENTITY_ALIAS);
952 query.append(orderByConditionFields[i]);
953
954 if ((i + 1) < orderByConditionFields.length) {
955 if (orderByComparator.isAscending() ^ previous) {
956 query.append(WHERE_GREATER_THAN_HAS_NEXT);
957 }
958 else {
959 query.append(WHERE_LESSER_THAN_HAS_NEXT);
960 }
961 }
962 else {
963 if (orderByComparator.isAscending() ^ previous) {
964 query.append(WHERE_GREATER_THAN);
965 }
966 else {
967 query.append(WHERE_LESSER_THAN);
968 }
969 }
970 }
971
972 query.append(ORDER_BY_CLAUSE);
973
974 String[] orderByFields = orderByComparator.getOrderByFields();
975
976 for (int i = 0; i < orderByFields.length; i++) {
977 query.append(_ORDER_BY_ENTITY_ALIAS);
978 query.append(orderByFields[i]);
979
980 if ((i + 1) < orderByFields.length) {
981 if (orderByComparator.isAscending() ^ previous) {
982 query.append(ORDER_BY_ASC_HAS_NEXT);
983 }
984 else {
985 query.append(ORDER_BY_DESC_HAS_NEXT);
986 }
987 }
988 else {
989 if (orderByComparator.isAscending() ^ previous) {
990 query.append(ORDER_BY_ASC);
991 }
992 else {
993 query.append(ORDER_BY_DESC);
994 }
995 }
996 }
997 }
998 else {
999 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
1000 }
1001
1002 String sql = query.toString();
1003
1004 Query q = session.createQuery(sql);
1005
1006 q.setFirstResult(0);
1007 q.setMaxResults(2);
1008
1009 QueryPos qPos = QueryPos.getInstance(q);
1010
1011 if (bindPortletId) {
1012 qPos.add(portletId);
1013 }
1014
1015 if (orderByComparator != null) {
1016 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
1017
1018 for (Object value : values) {
1019 qPos.add(value);
1020 }
1021 }
1022
1023 List<PortletPreferences> list = q.list();
1024
1025 if (list.size() == 2) {
1026 return list.get(1);
1027 }
1028 else {
1029 return null;
1030 }
1031 }
1032
1033
1039 @Override
1040 public void removeByPortletId(String portletId) throws SystemException {
1041 for (PortletPreferences portletPreferences : findByPortletId(
1042 portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1043 remove(portletPreferences);
1044 }
1045 }
1046
1047
1054 @Override
1055 public int countByPortletId(String portletId) throws SystemException {
1056 FinderPath finderPath = FINDER_PATH_COUNT_BY_PORTLETID;
1057
1058 Object[] finderArgs = new Object[] { portletId };
1059
1060 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1061 this);
1062
1063 if (count == null) {
1064 StringBundler query = new StringBundler(2);
1065
1066 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
1067
1068 boolean bindPortletId = false;
1069
1070 if (portletId == null) {
1071 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_1);
1072 }
1073 else if (portletId.equals(StringPool.BLANK)) {
1074 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_3);
1075 }
1076 else {
1077 bindPortletId = true;
1078
1079 query.append(_FINDER_COLUMN_PORTLETID_PORTLETID_2);
1080 }
1081
1082 String sql = query.toString();
1083
1084 Session session = null;
1085
1086 try {
1087 session = openSession();
1088
1089 Query q = session.createQuery(sql);
1090
1091 QueryPos qPos = QueryPos.getInstance(q);
1092
1093 if (bindPortletId) {
1094 qPos.add(portletId);
1095 }
1096
1097 count = (Long)q.uniqueResult();
1098
1099 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1100 }
1101 catch (Exception e) {
1102 FinderCacheUtil.removeResult(finderPath, finderArgs);
1103
1104 throw processException(e);
1105 }
1106 finally {
1107 closeSession(session);
1108 }
1109 }
1110
1111 return count.intValue();
1112 }
1113
1114 private static final String _FINDER_COLUMN_PORTLETID_PORTLETID_1 = "portletPreferences.portletId IS NULL";
1115 private static final String _FINDER_COLUMN_PORTLETID_PORTLETID_2 = "portletPreferences.portletId = ?";
1116 private static final String _FINDER_COLUMN_PORTLETID_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
1117 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1118 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
1119 PortletPreferencesImpl.class,
1120 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByO_P",
1121 new String[] {
1122 Integer.class.getName(), String.class.getName(),
1123
1124 Integer.class.getName(), Integer.class.getName(),
1125 OrderByComparator.class.getName()
1126 });
1127 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1128 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
1129 PortletPreferencesImpl.class,
1130 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByO_P",
1131 new String[] { Integer.class.getName(), String.class.getName() },
1132 PortletPreferencesModelImpl.OWNERTYPE_COLUMN_BITMASK |
1133 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
1134 public static final FinderPath FINDER_PATH_COUNT_BY_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1135 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
1136 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByO_P",
1137 new String[] { Integer.class.getName(), String.class.getName() });
1138
1139
1147 @Override
1148 public List<PortletPreferences> findByO_P(int ownerType, String portletId)
1149 throws SystemException {
1150 return findByO_P(ownerType, portletId, QueryUtil.ALL_POS,
1151 QueryUtil.ALL_POS, null);
1152 }
1153
1154
1168 @Override
1169 public List<PortletPreferences> findByO_P(int ownerType, String portletId,
1170 int start, int end) throws SystemException {
1171 return findByO_P(ownerType, portletId, start, end, null);
1172 }
1173
1174
1189 @Override
1190 public List<PortletPreferences> findByO_P(int ownerType, String portletId,
1191 int start, int end, OrderByComparator orderByComparator)
1192 throws SystemException {
1193 boolean pagination = true;
1194 FinderPath finderPath = null;
1195 Object[] finderArgs = null;
1196
1197 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1198 (orderByComparator == null)) {
1199 pagination = false;
1200 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P;
1201 finderArgs = new Object[] { ownerType, portletId };
1202 }
1203 else {
1204 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_O_P;
1205 finderArgs = new Object[] {
1206 ownerType, portletId,
1207
1208 start, end, orderByComparator
1209 };
1210 }
1211
1212 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
1213 finderArgs, this);
1214
1215 if ((list != null) && !list.isEmpty()) {
1216 for (PortletPreferences portletPreferences : list) {
1217 if ((ownerType != portletPreferences.getOwnerType()) ||
1218 !Validator.equals(portletId,
1219 portletPreferences.getPortletId())) {
1220 list = null;
1221
1222 break;
1223 }
1224 }
1225 }
1226
1227 if (list == null) {
1228 StringBundler query = null;
1229
1230 if (orderByComparator != null) {
1231 query = new StringBundler(4 +
1232 (orderByComparator.getOrderByFields().length * 3));
1233 }
1234 else {
1235 query = new StringBundler(4);
1236 }
1237
1238 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
1239
1240 query.append(_FINDER_COLUMN_O_P_OWNERTYPE_2);
1241
1242 boolean bindPortletId = false;
1243
1244 if (portletId == null) {
1245 query.append(_FINDER_COLUMN_O_P_PORTLETID_1);
1246 }
1247 else if (portletId.equals(StringPool.BLANK)) {
1248 query.append(_FINDER_COLUMN_O_P_PORTLETID_3);
1249 }
1250 else {
1251 bindPortletId = true;
1252
1253 query.append(_FINDER_COLUMN_O_P_PORTLETID_2);
1254 }
1255
1256 if (orderByComparator != null) {
1257 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1258 orderByComparator);
1259 }
1260 else
1261 if (pagination) {
1262 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
1263 }
1264
1265 String sql = query.toString();
1266
1267 Session session = null;
1268
1269 try {
1270 session = openSession();
1271
1272 Query q = session.createQuery(sql);
1273
1274 QueryPos qPos = QueryPos.getInstance(q);
1275
1276 qPos.add(ownerType);
1277
1278 if (bindPortletId) {
1279 qPos.add(portletId);
1280 }
1281
1282 if (!pagination) {
1283 list = (List<PortletPreferences>)QueryUtil.list(q,
1284 getDialect(), start, end, false);
1285
1286 Collections.sort(list);
1287
1288 list = new UnmodifiableList<PortletPreferences>(list);
1289 }
1290 else {
1291 list = (List<PortletPreferences>)QueryUtil.list(q,
1292 getDialect(), start, end);
1293 }
1294
1295 cacheResult(list);
1296
1297 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1298 }
1299 catch (Exception e) {
1300 FinderCacheUtil.removeResult(finderPath, finderArgs);
1301
1302 throw processException(e);
1303 }
1304 finally {
1305 closeSession(session);
1306 }
1307 }
1308
1309 return list;
1310 }
1311
1312
1322 @Override
1323 public PortletPreferences findByO_P_First(int ownerType, String portletId,
1324 OrderByComparator orderByComparator)
1325 throws NoSuchPortletPreferencesException, SystemException {
1326 PortletPreferences portletPreferences = fetchByO_P_First(ownerType,
1327 portletId, orderByComparator);
1328
1329 if (portletPreferences != null) {
1330 return portletPreferences;
1331 }
1332
1333 StringBundler msg = new StringBundler(6);
1334
1335 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1336
1337 msg.append("ownerType=");
1338 msg.append(ownerType);
1339
1340 msg.append(", portletId=");
1341 msg.append(portletId);
1342
1343 msg.append(StringPool.CLOSE_CURLY_BRACE);
1344
1345 throw new NoSuchPortletPreferencesException(msg.toString());
1346 }
1347
1348
1357 @Override
1358 public PortletPreferences fetchByO_P_First(int ownerType, String portletId,
1359 OrderByComparator orderByComparator) throws SystemException {
1360 List<PortletPreferences> list = findByO_P(ownerType, portletId, 0, 1,
1361 orderByComparator);
1362
1363 if (!list.isEmpty()) {
1364 return list.get(0);
1365 }
1366
1367 return null;
1368 }
1369
1370
1380 @Override
1381 public PortletPreferences findByO_P_Last(int ownerType, String portletId,
1382 OrderByComparator orderByComparator)
1383 throws NoSuchPortletPreferencesException, SystemException {
1384 PortletPreferences portletPreferences = fetchByO_P_Last(ownerType,
1385 portletId, orderByComparator);
1386
1387 if (portletPreferences != null) {
1388 return portletPreferences;
1389 }
1390
1391 StringBundler msg = new StringBundler(6);
1392
1393 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1394
1395 msg.append("ownerType=");
1396 msg.append(ownerType);
1397
1398 msg.append(", portletId=");
1399 msg.append(portletId);
1400
1401 msg.append(StringPool.CLOSE_CURLY_BRACE);
1402
1403 throw new NoSuchPortletPreferencesException(msg.toString());
1404 }
1405
1406
1415 @Override
1416 public PortletPreferences fetchByO_P_Last(int ownerType, String portletId,
1417 OrderByComparator orderByComparator) throws SystemException {
1418 int count = countByO_P(ownerType, portletId);
1419
1420 if (count == 0) {
1421 return null;
1422 }
1423
1424 List<PortletPreferences> list = findByO_P(ownerType, portletId,
1425 count - 1, count, orderByComparator);
1426
1427 if (!list.isEmpty()) {
1428 return list.get(0);
1429 }
1430
1431 return null;
1432 }
1433
1434
1445 @Override
1446 public PortletPreferences[] findByO_P_PrevAndNext(
1447 long portletPreferencesId, int ownerType, String portletId,
1448 OrderByComparator orderByComparator)
1449 throws NoSuchPortletPreferencesException, SystemException {
1450 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
1451
1452 Session session = null;
1453
1454 try {
1455 session = openSession();
1456
1457 PortletPreferences[] array = new PortletPreferencesImpl[3];
1458
1459 array[0] = getByO_P_PrevAndNext(session, portletPreferences,
1460 ownerType, portletId, orderByComparator, true);
1461
1462 array[1] = portletPreferences;
1463
1464 array[2] = getByO_P_PrevAndNext(session, portletPreferences,
1465 ownerType, portletId, orderByComparator, false);
1466
1467 return array;
1468 }
1469 catch (Exception e) {
1470 throw processException(e);
1471 }
1472 finally {
1473 closeSession(session);
1474 }
1475 }
1476
1477 protected PortletPreferences getByO_P_PrevAndNext(Session session,
1478 PortletPreferences portletPreferences, int ownerType, String portletId,
1479 OrderByComparator orderByComparator, boolean previous) {
1480 StringBundler query = null;
1481
1482 if (orderByComparator != null) {
1483 query = new StringBundler(6 +
1484 (orderByComparator.getOrderByFields().length * 6));
1485 }
1486 else {
1487 query = new StringBundler(3);
1488 }
1489
1490 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
1491
1492 query.append(_FINDER_COLUMN_O_P_OWNERTYPE_2);
1493
1494 boolean bindPortletId = false;
1495
1496 if (portletId == null) {
1497 query.append(_FINDER_COLUMN_O_P_PORTLETID_1);
1498 }
1499 else if (portletId.equals(StringPool.BLANK)) {
1500 query.append(_FINDER_COLUMN_O_P_PORTLETID_3);
1501 }
1502 else {
1503 bindPortletId = true;
1504
1505 query.append(_FINDER_COLUMN_O_P_PORTLETID_2);
1506 }
1507
1508 if (orderByComparator != null) {
1509 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
1510
1511 if (orderByConditionFields.length > 0) {
1512 query.append(WHERE_AND);
1513 }
1514
1515 for (int i = 0; i < orderByConditionFields.length; i++) {
1516 query.append(_ORDER_BY_ENTITY_ALIAS);
1517 query.append(orderByConditionFields[i]);
1518
1519 if ((i + 1) < orderByConditionFields.length) {
1520 if (orderByComparator.isAscending() ^ previous) {
1521 query.append(WHERE_GREATER_THAN_HAS_NEXT);
1522 }
1523 else {
1524 query.append(WHERE_LESSER_THAN_HAS_NEXT);
1525 }
1526 }
1527 else {
1528 if (orderByComparator.isAscending() ^ previous) {
1529 query.append(WHERE_GREATER_THAN);
1530 }
1531 else {
1532 query.append(WHERE_LESSER_THAN);
1533 }
1534 }
1535 }
1536
1537 query.append(ORDER_BY_CLAUSE);
1538
1539 String[] orderByFields = orderByComparator.getOrderByFields();
1540
1541 for (int i = 0; i < orderByFields.length; i++) {
1542 query.append(_ORDER_BY_ENTITY_ALIAS);
1543 query.append(orderByFields[i]);
1544
1545 if ((i + 1) < orderByFields.length) {
1546 if (orderByComparator.isAscending() ^ previous) {
1547 query.append(ORDER_BY_ASC_HAS_NEXT);
1548 }
1549 else {
1550 query.append(ORDER_BY_DESC_HAS_NEXT);
1551 }
1552 }
1553 else {
1554 if (orderByComparator.isAscending() ^ previous) {
1555 query.append(ORDER_BY_ASC);
1556 }
1557 else {
1558 query.append(ORDER_BY_DESC);
1559 }
1560 }
1561 }
1562 }
1563 else {
1564 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
1565 }
1566
1567 String sql = query.toString();
1568
1569 Query q = session.createQuery(sql);
1570
1571 q.setFirstResult(0);
1572 q.setMaxResults(2);
1573
1574 QueryPos qPos = QueryPos.getInstance(q);
1575
1576 qPos.add(ownerType);
1577
1578 if (bindPortletId) {
1579 qPos.add(portletId);
1580 }
1581
1582 if (orderByComparator != null) {
1583 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
1584
1585 for (Object value : values) {
1586 qPos.add(value);
1587 }
1588 }
1589
1590 List<PortletPreferences> list = q.list();
1591
1592 if (list.size() == 2) {
1593 return list.get(1);
1594 }
1595 else {
1596 return null;
1597 }
1598 }
1599
1600
1607 @Override
1608 public void removeByO_P(int ownerType, String portletId)
1609 throws SystemException {
1610 for (PortletPreferences portletPreferences : findByO_P(ownerType,
1611 portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1612 remove(portletPreferences);
1613 }
1614 }
1615
1616
1624 @Override
1625 public int countByO_P(int ownerType, String portletId)
1626 throws SystemException {
1627 FinderPath finderPath = FINDER_PATH_COUNT_BY_O_P;
1628
1629 Object[] finderArgs = new Object[] { ownerType, portletId };
1630
1631 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1632 this);
1633
1634 if (count == null) {
1635 StringBundler query = new StringBundler(3);
1636
1637 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
1638
1639 query.append(_FINDER_COLUMN_O_P_OWNERTYPE_2);
1640
1641 boolean bindPortletId = false;
1642
1643 if (portletId == null) {
1644 query.append(_FINDER_COLUMN_O_P_PORTLETID_1);
1645 }
1646 else if (portletId.equals(StringPool.BLANK)) {
1647 query.append(_FINDER_COLUMN_O_P_PORTLETID_3);
1648 }
1649 else {
1650 bindPortletId = true;
1651
1652 query.append(_FINDER_COLUMN_O_P_PORTLETID_2);
1653 }
1654
1655 String sql = query.toString();
1656
1657 Session session = null;
1658
1659 try {
1660 session = openSession();
1661
1662 Query q = session.createQuery(sql);
1663
1664 QueryPos qPos = QueryPos.getInstance(q);
1665
1666 qPos.add(ownerType);
1667
1668 if (bindPortletId) {
1669 qPos.add(portletId);
1670 }
1671
1672 count = (Long)q.uniqueResult();
1673
1674 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1675 }
1676 catch (Exception e) {
1677 FinderCacheUtil.removeResult(finderPath, finderArgs);
1678
1679 throw processException(e);
1680 }
1681 finally {
1682 closeSession(session);
1683 }
1684 }
1685
1686 return count.intValue();
1687 }
1688
1689 private static final String _FINDER_COLUMN_O_P_OWNERTYPE_2 = "portletPreferences.ownerType = ? AND ";
1690 private static final String _FINDER_COLUMN_O_P_PORTLETID_1 = "portletPreferences.portletId IS NULL";
1691 private static final String _FINDER_COLUMN_O_P_PORTLETID_2 = "portletPreferences.portletId = ?";
1692 private static final String _FINDER_COLUMN_O_P_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
1693 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1694 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
1695 PortletPreferencesImpl.class,
1696 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByP_P",
1697 new String[] {
1698 Long.class.getName(), String.class.getName(),
1699
1700 Integer.class.getName(), Integer.class.getName(),
1701 OrderByComparator.class.getName()
1702 });
1703 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1704 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
1705 PortletPreferencesImpl.class,
1706 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByP_P",
1707 new String[] { Long.class.getName(), String.class.getName() },
1708 PortletPreferencesModelImpl.PLID_COLUMN_BITMASK |
1709 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
1710 public static final FinderPath FINDER_PATH_COUNT_BY_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
1711 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
1712 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByP_P",
1713 new String[] { Long.class.getName(), String.class.getName() });
1714
1715
1723 @Override
1724 public List<PortletPreferences> findByP_P(long plid, String portletId)
1725 throws SystemException {
1726 return findByP_P(plid, portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
1727 null);
1728 }
1729
1730
1744 @Override
1745 public List<PortletPreferences> findByP_P(long plid, String portletId,
1746 int start, int end) throws SystemException {
1747 return findByP_P(plid, portletId, start, end, null);
1748 }
1749
1750
1765 @Override
1766 public List<PortletPreferences> findByP_P(long plid, String portletId,
1767 int start, int end, OrderByComparator orderByComparator)
1768 throws SystemException {
1769 boolean pagination = true;
1770 FinderPath finderPath = null;
1771 Object[] finderArgs = null;
1772
1773 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1774 (orderByComparator == null)) {
1775 pagination = false;
1776 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_P_P;
1777 finderArgs = new Object[] { plid, portletId };
1778 }
1779 else {
1780 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_P_P;
1781 finderArgs = new Object[] {
1782 plid, portletId,
1783
1784 start, end, orderByComparator
1785 };
1786 }
1787
1788 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
1789 finderArgs, this);
1790
1791 if ((list != null) && !list.isEmpty()) {
1792 for (PortletPreferences portletPreferences : list) {
1793 if ((plid != portletPreferences.getPlid()) ||
1794 !Validator.equals(portletId,
1795 portletPreferences.getPortletId())) {
1796 list = null;
1797
1798 break;
1799 }
1800 }
1801 }
1802
1803 if (list == null) {
1804 StringBundler query = null;
1805
1806 if (orderByComparator != null) {
1807 query = new StringBundler(4 +
1808 (orderByComparator.getOrderByFields().length * 3));
1809 }
1810 else {
1811 query = new StringBundler(4);
1812 }
1813
1814 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
1815
1816 query.append(_FINDER_COLUMN_P_P_PLID_2);
1817
1818 boolean bindPortletId = false;
1819
1820 if (portletId == null) {
1821 query.append(_FINDER_COLUMN_P_P_PORTLETID_1);
1822 }
1823 else if (portletId.equals(StringPool.BLANK)) {
1824 query.append(_FINDER_COLUMN_P_P_PORTLETID_3);
1825 }
1826 else {
1827 bindPortletId = true;
1828
1829 query.append(_FINDER_COLUMN_P_P_PORTLETID_2);
1830 }
1831
1832 if (orderByComparator != null) {
1833 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1834 orderByComparator);
1835 }
1836 else
1837 if (pagination) {
1838 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
1839 }
1840
1841 String sql = query.toString();
1842
1843 Session session = null;
1844
1845 try {
1846 session = openSession();
1847
1848 Query q = session.createQuery(sql);
1849
1850 QueryPos qPos = QueryPos.getInstance(q);
1851
1852 qPos.add(plid);
1853
1854 if (bindPortletId) {
1855 qPos.add(portletId);
1856 }
1857
1858 if (!pagination) {
1859 list = (List<PortletPreferences>)QueryUtil.list(q,
1860 getDialect(), start, end, false);
1861
1862 Collections.sort(list);
1863
1864 list = new UnmodifiableList<PortletPreferences>(list);
1865 }
1866 else {
1867 list = (List<PortletPreferences>)QueryUtil.list(q,
1868 getDialect(), start, end);
1869 }
1870
1871 cacheResult(list);
1872
1873 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1874 }
1875 catch (Exception e) {
1876 FinderCacheUtil.removeResult(finderPath, finderArgs);
1877
1878 throw processException(e);
1879 }
1880 finally {
1881 closeSession(session);
1882 }
1883 }
1884
1885 return list;
1886 }
1887
1888
1898 @Override
1899 public PortletPreferences findByP_P_First(long plid, String portletId,
1900 OrderByComparator orderByComparator)
1901 throws NoSuchPortletPreferencesException, SystemException {
1902 PortletPreferences portletPreferences = fetchByP_P_First(plid,
1903 portletId, orderByComparator);
1904
1905 if (portletPreferences != null) {
1906 return portletPreferences;
1907 }
1908
1909 StringBundler msg = new StringBundler(6);
1910
1911 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1912
1913 msg.append("plid=");
1914 msg.append(plid);
1915
1916 msg.append(", portletId=");
1917 msg.append(portletId);
1918
1919 msg.append(StringPool.CLOSE_CURLY_BRACE);
1920
1921 throw new NoSuchPortletPreferencesException(msg.toString());
1922 }
1923
1924
1933 @Override
1934 public PortletPreferences fetchByP_P_First(long plid, String portletId,
1935 OrderByComparator orderByComparator) throws SystemException {
1936 List<PortletPreferences> list = findByP_P(plid, portletId, 0, 1,
1937 orderByComparator);
1938
1939 if (!list.isEmpty()) {
1940 return list.get(0);
1941 }
1942
1943 return null;
1944 }
1945
1946
1956 @Override
1957 public PortletPreferences findByP_P_Last(long plid, String portletId,
1958 OrderByComparator orderByComparator)
1959 throws NoSuchPortletPreferencesException, SystemException {
1960 PortletPreferences portletPreferences = fetchByP_P_Last(plid,
1961 portletId, orderByComparator);
1962
1963 if (portletPreferences != null) {
1964 return portletPreferences;
1965 }
1966
1967 StringBundler msg = new StringBundler(6);
1968
1969 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1970
1971 msg.append("plid=");
1972 msg.append(plid);
1973
1974 msg.append(", portletId=");
1975 msg.append(portletId);
1976
1977 msg.append(StringPool.CLOSE_CURLY_BRACE);
1978
1979 throw new NoSuchPortletPreferencesException(msg.toString());
1980 }
1981
1982
1991 @Override
1992 public PortletPreferences fetchByP_P_Last(long plid, String portletId,
1993 OrderByComparator orderByComparator) throws SystemException {
1994 int count = countByP_P(plid, portletId);
1995
1996 if (count == 0) {
1997 return null;
1998 }
1999
2000 List<PortletPreferences> list = findByP_P(plid, portletId, count - 1,
2001 count, orderByComparator);
2002
2003 if (!list.isEmpty()) {
2004 return list.get(0);
2005 }
2006
2007 return null;
2008 }
2009
2010
2021 @Override
2022 public PortletPreferences[] findByP_P_PrevAndNext(
2023 long portletPreferencesId, long plid, String portletId,
2024 OrderByComparator orderByComparator)
2025 throws NoSuchPortletPreferencesException, SystemException {
2026 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
2027
2028 Session session = null;
2029
2030 try {
2031 session = openSession();
2032
2033 PortletPreferences[] array = new PortletPreferencesImpl[3];
2034
2035 array[0] = getByP_P_PrevAndNext(session, portletPreferences, plid,
2036 portletId, orderByComparator, true);
2037
2038 array[1] = portletPreferences;
2039
2040 array[2] = getByP_P_PrevAndNext(session, portletPreferences, plid,
2041 portletId, orderByComparator, false);
2042
2043 return array;
2044 }
2045 catch (Exception e) {
2046 throw processException(e);
2047 }
2048 finally {
2049 closeSession(session);
2050 }
2051 }
2052
2053 protected PortletPreferences getByP_P_PrevAndNext(Session session,
2054 PortletPreferences portletPreferences, long plid, String portletId,
2055 OrderByComparator orderByComparator, boolean previous) {
2056 StringBundler query = null;
2057
2058 if (orderByComparator != null) {
2059 query = new StringBundler(6 +
2060 (orderByComparator.getOrderByFields().length * 6));
2061 }
2062 else {
2063 query = new StringBundler(3);
2064 }
2065
2066 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
2067
2068 query.append(_FINDER_COLUMN_P_P_PLID_2);
2069
2070 boolean bindPortletId = false;
2071
2072 if (portletId == null) {
2073 query.append(_FINDER_COLUMN_P_P_PORTLETID_1);
2074 }
2075 else if (portletId.equals(StringPool.BLANK)) {
2076 query.append(_FINDER_COLUMN_P_P_PORTLETID_3);
2077 }
2078 else {
2079 bindPortletId = true;
2080
2081 query.append(_FINDER_COLUMN_P_P_PORTLETID_2);
2082 }
2083
2084 if (orderByComparator != null) {
2085 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2086
2087 if (orderByConditionFields.length > 0) {
2088 query.append(WHERE_AND);
2089 }
2090
2091 for (int i = 0; i < orderByConditionFields.length; i++) {
2092 query.append(_ORDER_BY_ENTITY_ALIAS);
2093 query.append(orderByConditionFields[i]);
2094
2095 if ((i + 1) < orderByConditionFields.length) {
2096 if (orderByComparator.isAscending() ^ previous) {
2097 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2098 }
2099 else {
2100 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2101 }
2102 }
2103 else {
2104 if (orderByComparator.isAscending() ^ previous) {
2105 query.append(WHERE_GREATER_THAN);
2106 }
2107 else {
2108 query.append(WHERE_LESSER_THAN);
2109 }
2110 }
2111 }
2112
2113 query.append(ORDER_BY_CLAUSE);
2114
2115 String[] orderByFields = orderByComparator.getOrderByFields();
2116
2117 for (int i = 0; i < orderByFields.length; i++) {
2118 query.append(_ORDER_BY_ENTITY_ALIAS);
2119 query.append(orderByFields[i]);
2120
2121 if ((i + 1) < orderByFields.length) {
2122 if (orderByComparator.isAscending() ^ previous) {
2123 query.append(ORDER_BY_ASC_HAS_NEXT);
2124 }
2125 else {
2126 query.append(ORDER_BY_DESC_HAS_NEXT);
2127 }
2128 }
2129 else {
2130 if (orderByComparator.isAscending() ^ previous) {
2131 query.append(ORDER_BY_ASC);
2132 }
2133 else {
2134 query.append(ORDER_BY_DESC);
2135 }
2136 }
2137 }
2138 }
2139 else {
2140 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
2141 }
2142
2143 String sql = query.toString();
2144
2145 Query q = session.createQuery(sql);
2146
2147 q.setFirstResult(0);
2148 q.setMaxResults(2);
2149
2150 QueryPos qPos = QueryPos.getInstance(q);
2151
2152 qPos.add(plid);
2153
2154 if (bindPortletId) {
2155 qPos.add(portletId);
2156 }
2157
2158 if (orderByComparator != null) {
2159 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
2160
2161 for (Object value : values) {
2162 qPos.add(value);
2163 }
2164 }
2165
2166 List<PortletPreferences> list = q.list();
2167
2168 if (list.size() == 2) {
2169 return list.get(1);
2170 }
2171 else {
2172 return null;
2173 }
2174 }
2175
2176
2183 @Override
2184 public void removeByP_P(long plid, String portletId)
2185 throws SystemException {
2186 for (PortletPreferences portletPreferences : findByP_P(plid, portletId,
2187 QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
2188 remove(portletPreferences);
2189 }
2190 }
2191
2192
2200 @Override
2201 public int countByP_P(long plid, String portletId)
2202 throws SystemException {
2203 FinderPath finderPath = FINDER_PATH_COUNT_BY_P_P;
2204
2205 Object[] finderArgs = new Object[] { plid, portletId };
2206
2207 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2208 this);
2209
2210 if (count == null) {
2211 StringBundler query = new StringBundler(3);
2212
2213 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
2214
2215 query.append(_FINDER_COLUMN_P_P_PLID_2);
2216
2217 boolean bindPortletId = false;
2218
2219 if (portletId == null) {
2220 query.append(_FINDER_COLUMN_P_P_PORTLETID_1);
2221 }
2222 else if (portletId.equals(StringPool.BLANK)) {
2223 query.append(_FINDER_COLUMN_P_P_PORTLETID_3);
2224 }
2225 else {
2226 bindPortletId = true;
2227
2228 query.append(_FINDER_COLUMN_P_P_PORTLETID_2);
2229 }
2230
2231 String sql = query.toString();
2232
2233 Session session = null;
2234
2235 try {
2236 session = openSession();
2237
2238 Query q = session.createQuery(sql);
2239
2240 QueryPos qPos = QueryPos.getInstance(q);
2241
2242 qPos.add(plid);
2243
2244 if (bindPortletId) {
2245 qPos.add(portletId);
2246 }
2247
2248 count = (Long)q.uniqueResult();
2249
2250 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2251 }
2252 catch (Exception e) {
2253 FinderCacheUtil.removeResult(finderPath, finderArgs);
2254
2255 throw processException(e);
2256 }
2257 finally {
2258 closeSession(session);
2259 }
2260 }
2261
2262 return count.intValue();
2263 }
2264
2265 private static final String _FINDER_COLUMN_P_P_PLID_2 = "portletPreferences.plid = ? AND ";
2266 private static final String _FINDER_COLUMN_P_P_PORTLETID_1 = "portletPreferences.portletId IS NULL";
2267 private static final String _FINDER_COLUMN_P_P_PORTLETID_2 = "portletPreferences.portletId = ?";
2268 private static final String _FINDER_COLUMN_P_P_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
2269 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_O_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2270 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
2271 PortletPreferencesImpl.class,
2272 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByO_O_P",
2273 new String[] {
2274 Long.class.getName(), Integer.class.getName(),
2275 Long.class.getName(),
2276
2277 Integer.class.getName(), Integer.class.getName(),
2278 OrderByComparator.class.getName()
2279 });
2280 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2281 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
2282 PortletPreferencesImpl.class,
2283 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByO_O_P",
2284 new String[] {
2285 Long.class.getName(), Integer.class.getName(),
2286 Long.class.getName()
2287 },
2288 PortletPreferencesModelImpl.OWNERID_COLUMN_BITMASK |
2289 PortletPreferencesModelImpl.OWNERTYPE_COLUMN_BITMASK |
2290 PortletPreferencesModelImpl.PLID_COLUMN_BITMASK);
2291 public static final FinderPath FINDER_PATH_COUNT_BY_O_O_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2292 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
2293 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByO_O_P",
2294 new String[] {
2295 Long.class.getName(), Integer.class.getName(),
2296 Long.class.getName()
2297 });
2298
2299
2308 @Override
2309 public List<PortletPreferences> findByO_O_P(long ownerId, int ownerType,
2310 long plid) throws SystemException {
2311 return findByO_O_P(ownerId, ownerType, plid, QueryUtil.ALL_POS,
2312 QueryUtil.ALL_POS, null);
2313 }
2314
2315
2330 @Override
2331 public List<PortletPreferences> findByO_O_P(long ownerId, int ownerType,
2332 long plid, int start, int end) throws SystemException {
2333 return findByO_O_P(ownerId, ownerType, plid, start, end, null);
2334 }
2335
2336
2352 @Override
2353 public List<PortletPreferences> findByO_O_P(long ownerId, int ownerType,
2354 long plid, int start, int end, OrderByComparator orderByComparator)
2355 throws SystemException {
2356 boolean pagination = true;
2357 FinderPath finderPath = null;
2358 Object[] finderArgs = null;
2359
2360 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
2361 (orderByComparator == null)) {
2362 pagination = false;
2363 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_P;
2364 finderArgs = new Object[] { ownerId, ownerType, plid };
2365 }
2366 else {
2367 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_O_O_P;
2368 finderArgs = new Object[] {
2369 ownerId, ownerType, plid,
2370
2371 start, end, orderByComparator
2372 };
2373 }
2374
2375 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
2376 finderArgs, this);
2377
2378 if ((list != null) && !list.isEmpty()) {
2379 for (PortletPreferences portletPreferences : list) {
2380 if ((ownerId != portletPreferences.getOwnerId()) ||
2381 (ownerType != portletPreferences.getOwnerType()) ||
2382 (plid != portletPreferences.getPlid())) {
2383 list = null;
2384
2385 break;
2386 }
2387 }
2388 }
2389
2390 if (list == null) {
2391 StringBundler query = null;
2392
2393 if (orderByComparator != null) {
2394 query = new StringBundler(5 +
2395 (orderByComparator.getOrderByFields().length * 3));
2396 }
2397 else {
2398 query = new StringBundler(5);
2399 }
2400
2401 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
2402
2403 query.append(_FINDER_COLUMN_O_O_P_OWNERID_2);
2404
2405 query.append(_FINDER_COLUMN_O_O_P_OWNERTYPE_2);
2406
2407 query.append(_FINDER_COLUMN_O_O_P_PLID_2);
2408
2409 if (orderByComparator != null) {
2410 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2411 orderByComparator);
2412 }
2413 else
2414 if (pagination) {
2415 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
2416 }
2417
2418 String sql = query.toString();
2419
2420 Session session = null;
2421
2422 try {
2423 session = openSession();
2424
2425 Query q = session.createQuery(sql);
2426
2427 QueryPos qPos = QueryPos.getInstance(q);
2428
2429 qPos.add(ownerId);
2430
2431 qPos.add(ownerType);
2432
2433 qPos.add(plid);
2434
2435 if (!pagination) {
2436 list = (List<PortletPreferences>)QueryUtil.list(q,
2437 getDialect(), start, end, false);
2438
2439 Collections.sort(list);
2440
2441 list = new UnmodifiableList<PortletPreferences>(list);
2442 }
2443 else {
2444 list = (List<PortletPreferences>)QueryUtil.list(q,
2445 getDialect(), start, end);
2446 }
2447
2448 cacheResult(list);
2449
2450 FinderCacheUtil.putResult(finderPath, finderArgs, list);
2451 }
2452 catch (Exception e) {
2453 FinderCacheUtil.removeResult(finderPath, finderArgs);
2454
2455 throw processException(e);
2456 }
2457 finally {
2458 closeSession(session);
2459 }
2460 }
2461
2462 return list;
2463 }
2464
2465
2476 @Override
2477 public PortletPreferences findByO_O_P_First(long ownerId, int ownerType,
2478 long plid, OrderByComparator orderByComparator)
2479 throws NoSuchPortletPreferencesException, SystemException {
2480 PortletPreferences portletPreferences = fetchByO_O_P_First(ownerId,
2481 ownerType, plid, orderByComparator);
2482
2483 if (portletPreferences != null) {
2484 return portletPreferences;
2485 }
2486
2487 StringBundler msg = new StringBundler(8);
2488
2489 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2490
2491 msg.append("ownerId=");
2492 msg.append(ownerId);
2493
2494 msg.append(", ownerType=");
2495 msg.append(ownerType);
2496
2497 msg.append(", plid=");
2498 msg.append(plid);
2499
2500 msg.append(StringPool.CLOSE_CURLY_BRACE);
2501
2502 throw new NoSuchPortletPreferencesException(msg.toString());
2503 }
2504
2505
2515 @Override
2516 public PortletPreferences fetchByO_O_P_First(long ownerId, int ownerType,
2517 long plid, OrderByComparator orderByComparator)
2518 throws SystemException {
2519 List<PortletPreferences> list = findByO_O_P(ownerId, ownerType, plid,
2520 0, 1, orderByComparator);
2521
2522 if (!list.isEmpty()) {
2523 return list.get(0);
2524 }
2525
2526 return null;
2527 }
2528
2529
2540 @Override
2541 public PortletPreferences findByO_O_P_Last(long ownerId, int ownerType,
2542 long plid, OrderByComparator orderByComparator)
2543 throws NoSuchPortletPreferencesException, SystemException {
2544 PortletPreferences portletPreferences = fetchByO_O_P_Last(ownerId,
2545 ownerType, plid, orderByComparator);
2546
2547 if (portletPreferences != null) {
2548 return portletPreferences;
2549 }
2550
2551 StringBundler msg = new StringBundler(8);
2552
2553 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2554
2555 msg.append("ownerId=");
2556 msg.append(ownerId);
2557
2558 msg.append(", ownerType=");
2559 msg.append(ownerType);
2560
2561 msg.append(", plid=");
2562 msg.append(plid);
2563
2564 msg.append(StringPool.CLOSE_CURLY_BRACE);
2565
2566 throw new NoSuchPortletPreferencesException(msg.toString());
2567 }
2568
2569
2579 @Override
2580 public PortletPreferences fetchByO_O_P_Last(long ownerId, int ownerType,
2581 long plid, OrderByComparator orderByComparator)
2582 throws SystemException {
2583 int count = countByO_O_P(ownerId, ownerType, plid);
2584
2585 if (count == 0) {
2586 return null;
2587 }
2588
2589 List<PortletPreferences> list = findByO_O_P(ownerId, ownerType, plid,
2590 count - 1, count, orderByComparator);
2591
2592 if (!list.isEmpty()) {
2593 return list.get(0);
2594 }
2595
2596 return null;
2597 }
2598
2599
2611 @Override
2612 public PortletPreferences[] findByO_O_P_PrevAndNext(
2613 long portletPreferencesId, long ownerId, int ownerType, long plid,
2614 OrderByComparator orderByComparator)
2615 throws NoSuchPortletPreferencesException, SystemException {
2616 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
2617
2618 Session session = null;
2619
2620 try {
2621 session = openSession();
2622
2623 PortletPreferences[] array = new PortletPreferencesImpl[3];
2624
2625 array[0] = getByO_O_P_PrevAndNext(session, portletPreferences,
2626 ownerId, ownerType, plid, orderByComparator, true);
2627
2628 array[1] = portletPreferences;
2629
2630 array[2] = getByO_O_P_PrevAndNext(session, portletPreferences,
2631 ownerId, ownerType, plid, orderByComparator, false);
2632
2633 return array;
2634 }
2635 catch (Exception e) {
2636 throw processException(e);
2637 }
2638 finally {
2639 closeSession(session);
2640 }
2641 }
2642
2643 protected PortletPreferences getByO_O_P_PrevAndNext(Session session,
2644 PortletPreferences portletPreferences, long ownerId, int ownerType,
2645 long plid, OrderByComparator orderByComparator, boolean previous) {
2646 StringBundler query = null;
2647
2648 if (orderByComparator != null) {
2649 query = new StringBundler(6 +
2650 (orderByComparator.getOrderByFields().length * 6));
2651 }
2652 else {
2653 query = new StringBundler(3);
2654 }
2655
2656 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
2657
2658 query.append(_FINDER_COLUMN_O_O_P_OWNERID_2);
2659
2660 query.append(_FINDER_COLUMN_O_O_P_OWNERTYPE_2);
2661
2662 query.append(_FINDER_COLUMN_O_O_P_PLID_2);
2663
2664 if (orderByComparator != null) {
2665 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2666
2667 if (orderByConditionFields.length > 0) {
2668 query.append(WHERE_AND);
2669 }
2670
2671 for (int i = 0; i < orderByConditionFields.length; i++) {
2672 query.append(_ORDER_BY_ENTITY_ALIAS);
2673 query.append(orderByConditionFields[i]);
2674
2675 if ((i + 1) < orderByConditionFields.length) {
2676 if (orderByComparator.isAscending() ^ previous) {
2677 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2678 }
2679 else {
2680 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2681 }
2682 }
2683 else {
2684 if (orderByComparator.isAscending() ^ previous) {
2685 query.append(WHERE_GREATER_THAN);
2686 }
2687 else {
2688 query.append(WHERE_LESSER_THAN);
2689 }
2690 }
2691 }
2692
2693 query.append(ORDER_BY_CLAUSE);
2694
2695 String[] orderByFields = orderByComparator.getOrderByFields();
2696
2697 for (int i = 0; i < orderByFields.length; i++) {
2698 query.append(_ORDER_BY_ENTITY_ALIAS);
2699 query.append(orderByFields[i]);
2700
2701 if ((i + 1) < orderByFields.length) {
2702 if (orderByComparator.isAscending() ^ previous) {
2703 query.append(ORDER_BY_ASC_HAS_NEXT);
2704 }
2705 else {
2706 query.append(ORDER_BY_DESC_HAS_NEXT);
2707 }
2708 }
2709 else {
2710 if (orderByComparator.isAscending() ^ previous) {
2711 query.append(ORDER_BY_ASC);
2712 }
2713 else {
2714 query.append(ORDER_BY_DESC);
2715 }
2716 }
2717 }
2718 }
2719 else {
2720 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
2721 }
2722
2723 String sql = query.toString();
2724
2725 Query q = session.createQuery(sql);
2726
2727 q.setFirstResult(0);
2728 q.setMaxResults(2);
2729
2730 QueryPos qPos = QueryPos.getInstance(q);
2731
2732 qPos.add(ownerId);
2733
2734 qPos.add(ownerType);
2735
2736 qPos.add(plid);
2737
2738 if (orderByComparator != null) {
2739 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
2740
2741 for (Object value : values) {
2742 qPos.add(value);
2743 }
2744 }
2745
2746 List<PortletPreferences> list = q.list();
2747
2748 if (list.size() == 2) {
2749 return list.get(1);
2750 }
2751 else {
2752 return null;
2753 }
2754 }
2755
2756
2764 @Override
2765 public void removeByO_O_P(long ownerId, int ownerType, long plid)
2766 throws SystemException {
2767 for (PortletPreferences portletPreferences : findByO_O_P(ownerId,
2768 ownerType, plid, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
2769 remove(portletPreferences);
2770 }
2771 }
2772
2773
2782 @Override
2783 public int countByO_O_P(long ownerId, int ownerType, long plid)
2784 throws SystemException {
2785 FinderPath finderPath = FINDER_PATH_COUNT_BY_O_O_P;
2786
2787 Object[] finderArgs = new Object[] { ownerId, ownerType, plid };
2788
2789 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2790 this);
2791
2792 if (count == null) {
2793 StringBundler query = new StringBundler(4);
2794
2795 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
2796
2797 query.append(_FINDER_COLUMN_O_O_P_OWNERID_2);
2798
2799 query.append(_FINDER_COLUMN_O_O_P_OWNERTYPE_2);
2800
2801 query.append(_FINDER_COLUMN_O_O_P_PLID_2);
2802
2803 String sql = query.toString();
2804
2805 Session session = null;
2806
2807 try {
2808 session = openSession();
2809
2810 Query q = session.createQuery(sql);
2811
2812 QueryPos qPos = QueryPos.getInstance(q);
2813
2814 qPos.add(ownerId);
2815
2816 qPos.add(ownerType);
2817
2818 qPos.add(plid);
2819
2820 count = (Long)q.uniqueResult();
2821
2822 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2823 }
2824 catch (Exception e) {
2825 FinderCacheUtil.removeResult(finderPath, finderArgs);
2826
2827 throw processException(e);
2828 }
2829 finally {
2830 closeSession(session);
2831 }
2832 }
2833
2834 return count.intValue();
2835 }
2836
2837 private static final String _FINDER_COLUMN_O_O_P_OWNERID_2 = "portletPreferences.ownerId = ? AND ";
2838 private static final String _FINDER_COLUMN_O_O_P_OWNERTYPE_2 = "portletPreferences.ownerType = ? AND ";
2839 private static final String _FINDER_COLUMN_O_O_P_PLID_2 = "portletPreferences.plid = ?";
2840 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_O_O_PI = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2841 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
2842 PortletPreferencesImpl.class,
2843 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByO_O_PI",
2844 new String[] {
2845 Long.class.getName(), Integer.class.getName(),
2846 String.class.getName(),
2847
2848 Integer.class.getName(), Integer.class.getName(),
2849 OrderByComparator.class.getName()
2850 });
2851 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_PI =
2852 new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2853 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
2854 PortletPreferencesImpl.class,
2855 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByO_O_PI",
2856 new String[] {
2857 Long.class.getName(), Integer.class.getName(),
2858 String.class.getName()
2859 },
2860 PortletPreferencesModelImpl.OWNERID_COLUMN_BITMASK |
2861 PortletPreferencesModelImpl.OWNERTYPE_COLUMN_BITMASK |
2862 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
2863 public static final FinderPath FINDER_PATH_COUNT_BY_O_O_PI = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
2864 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
2865 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByO_O_PI",
2866 new String[] {
2867 Long.class.getName(), Integer.class.getName(),
2868 String.class.getName()
2869 });
2870
2871
2880 @Override
2881 public List<PortletPreferences> findByO_O_PI(long ownerId, int ownerType,
2882 String portletId) throws SystemException {
2883 return findByO_O_PI(ownerId, ownerType, portletId, QueryUtil.ALL_POS,
2884 QueryUtil.ALL_POS, null);
2885 }
2886
2887
2902 @Override
2903 public List<PortletPreferences> findByO_O_PI(long ownerId, int ownerType,
2904 String portletId, int start, int end) throws SystemException {
2905 return findByO_O_PI(ownerId, ownerType, portletId, start, end, null);
2906 }
2907
2908
2924 @Override
2925 public List<PortletPreferences> findByO_O_PI(long ownerId, int ownerType,
2926 String portletId, int start, int end,
2927 OrderByComparator orderByComparator) throws SystemException {
2928 boolean pagination = true;
2929 FinderPath finderPath = null;
2930 Object[] finderArgs = null;
2931
2932 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
2933 (orderByComparator == null)) {
2934 pagination = false;
2935 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_PI;
2936 finderArgs = new Object[] { ownerId, ownerType, portletId };
2937 }
2938 else {
2939 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_O_O_PI;
2940 finderArgs = new Object[] {
2941 ownerId, ownerType, portletId,
2942
2943 start, end, orderByComparator
2944 };
2945 }
2946
2947 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
2948 finderArgs, this);
2949
2950 if ((list != null) && !list.isEmpty()) {
2951 for (PortletPreferences portletPreferences : list) {
2952 if ((ownerId != portletPreferences.getOwnerId()) ||
2953 (ownerType != portletPreferences.getOwnerType()) ||
2954 !Validator.equals(portletId,
2955 portletPreferences.getPortletId())) {
2956 list = null;
2957
2958 break;
2959 }
2960 }
2961 }
2962
2963 if (list == null) {
2964 StringBundler query = null;
2965
2966 if (orderByComparator != null) {
2967 query = new StringBundler(5 +
2968 (orderByComparator.getOrderByFields().length * 3));
2969 }
2970 else {
2971 query = new StringBundler(5);
2972 }
2973
2974 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
2975
2976 query.append(_FINDER_COLUMN_O_O_PI_OWNERID_2);
2977
2978 query.append(_FINDER_COLUMN_O_O_PI_OWNERTYPE_2);
2979
2980 boolean bindPortletId = false;
2981
2982 if (portletId == null) {
2983 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_1);
2984 }
2985 else if (portletId.equals(StringPool.BLANK)) {
2986 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_3);
2987 }
2988 else {
2989 bindPortletId = true;
2990
2991 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_2);
2992 }
2993
2994 if (orderByComparator != null) {
2995 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2996 orderByComparator);
2997 }
2998 else
2999 if (pagination) {
3000 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
3001 }
3002
3003 String sql = query.toString();
3004
3005 Session session = null;
3006
3007 try {
3008 session = openSession();
3009
3010 Query q = session.createQuery(sql);
3011
3012 QueryPos qPos = QueryPos.getInstance(q);
3013
3014 qPos.add(ownerId);
3015
3016 qPos.add(ownerType);
3017
3018 if (bindPortletId) {
3019 qPos.add(portletId);
3020 }
3021
3022 if (!pagination) {
3023 list = (List<PortletPreferences>)QueryUtil.list(q,
3024 getDialect(), start, end, false);
3025
3026 Collections.sort(list);
3027
3028 list = new UnmodifiableList<PortletPreferences>(list);
3029 }
3030 else {
3031 list = (List<PortletPreferences>)QueryUtil.list(q,
3032 getDialect(), start, end);
3033 }
3034
3035 cacheResult(list);
3036
3037 FinderCacheUtil.putResult(finderPath, finderArgs, list);
3038 }
3039 catch (Exception e) {
3040 FinderCacheUtil.removeResult(finderPath, finderArgs);
3041
3042 throw processException(e);
3043 }
3044 finally {
3045 closeSession(session);
3046 }
3047 }
3048
3049 return list;
3050 }
3051
3052
3063 @Override
3064 public PortletPreferences findByO_O_PI_First(long ownerId, int ownerType,
3065 String portletId, OrderByComparator orderByComparator)
3066 throws NoSuchPortletPreferencesException, SystemException {
3067 PortletPreferences portletPreferences = fetchByO_O_PI_First(ownerId,
3068 ownerType, portletId, orderByComparator);
3069
3070 if (portletPreferences != null) {
3071 return portletPreferences;
3072 }
3073
3074 StringBundler msg = new StringBundler(8);
3075
3076 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
3077
3078 msg.append("ownerId=");
3079 msg.append(ownerId);
3080
3081 msg.append(", ownerType=");
3082 msg.append(ownerType);
3083
3084 msg.append(", portletId=");
3085 msg.append(portletId);
3086
3087 msg.append(StringPool.CLOSE_CURLY_BRACE);
3088
3089 throw new NoSuchPortletPreferencesException(msg.toString());
3090 }
3091
3092
3102 @Override
3103 public PortletPreferences fetchByO_O_PI_First(long ownerId, int ownerType,
3104 String portletId, OrderByComparator orderByComparator)
3105 throws SystemException {
3106 List<PortletPreferences> list = findByO_O_PI(ownerId, ownerType,
3107 portletId, 0, 1, orderByComparator);
3108
3109 if (!list.isEmpty()) {
3110 return list.get(0);
3111 }
3112
3113 return null;
3114 }
3115
3116
3127 @Override
3128 public PortletPreferences findByO_O_PI_Last(long ownerId, int ownerType,
3129 String portletId, OrderByComparator orderByComparator)
3130 throws NoSuchPortletPreferencesException, SystemException {
3131 PortletPreferences portletPreferences = fetchByO_O_PI_Last(ownerId,
3132 ownerType, portletId, orderByComparator);
3133
3134 if (portletPreferences != null) {
3135 return portletPreferences;
3136 }
3137
3138 StringBundler msg = new StringBundler(8);
3139
3140 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
3141
3142 msg.append("ownerId=");
3143 msg.append(ownerId);
3144
3145 msg.append(", ownerType=");
3146 msg.append(ownerType);
3147
3148 msg.append(", portletId=");
3149 msg.append(portletId);
3150
3151 msg.append(StringPool.CLOSE_CURLY_BRACE);
3152
3153 throw new NoSuchPortletPreferencesException(msg.toString());
3154 }
3155
3156
3166 @Override
3167 public PortletPreferences fetchByO_O_PI_Last(long ownerId, int ownerType,
3168 String portletId, OrderByComparator orderByComparator)
3169 throws SystemException {
3170 int count = countByO_O_PI(ownerId, ownerType, portletId);
3171
3172 if (count == 0) {
3173 return null;
3174 }
3175
3176 List<PortletPreferences> list = findByO_O_PI(ownerId, ownerType,
3177 portletId, count - 1, count, orderByComparator);
3178
3179 if (!list.isEmpty()) {
3180 return list.get(0);
3181 }
3182
3183 return null;
3184 }
3185
3186
3198 @Override
3199 public PortletPreferences[] findByO_O_PI_PrevAndNext(
3200 long portletPreferencesId, long ownerId, int ownerType,
3201 String portletId, OrderByComparator orderByComparator)
3202 throws NoSuchPortletPreferencesException, SystemException {
3203 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
3204
3205 Session session = null;
3206
3207 try {
3208 session = openSession();
3209
3210 PortletPreferences[] array = new PortletPreferencesImpl[3];
3211
3212 array[0] = getByO_O_PI_PrevAndNext(session, portletPreferences,
3213 ownerId, ownerType, portletId, orderByComparator, true);
3214
3215 array[1] = portletPreferences;
3216
3217 array[2] = getByO_O_PI_PrevAndNext(session, portletPreferences,
3218 ownerId, ownerType, portletId, orderByComparator, false);
3219
3220 return array;
3221 }
3222 catch (Exception e) {
3223 throw processException(e);
3224 }
3225 finally {
3226 closeSession(session);
3227 }
3228 }
3229
3230 protected PortletPreferences getByO_O_PI_PrevAndNext(Session session,
3231 PortletPreferences portletPreferences, long ownerId, int ownerType,
3232 String portletId, OrderByComparator orderByComparator, boolean previous) {
3233 StringBundler query = null;
3234
3235 if (orderByComparator != null) {
3236 query = new StringBundler(6 +
3237 (orderByComparator.getOrderByFields().length * 6));
3238 }
3239 else {
3240 query = new StringBundler(3);
3241 }
3242
3243 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
3244
3245 query.append(_FINDER_COLUMN_O_O_PI_OWNERID_2);
3246
3247 query.append(_FINDER_COLUMN_O_O_PI_OWNERTYPE_2);
3248
3249 boolean bindPortletId = false;
3250
3251 if (portletId == null) {
3252 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_1);
3253 }
3254 else if (portletId.equals(StringPool.BLANK)) {
3255 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_3);
3256 }
3257 else {
3258 bindPortletId = true;
3259
3260 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_2);
3261 }
3262
3263 if (orderByComparator != null) {
3264 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
3265
3266 if (orderByConditionFields.length > 0) {
3267 query.append(WHERE_AND);
3268 }
3269
3270 for (int i = 0; i < orderByConditionFields.length; i++) {
3271 query.append(_ORDER_BY_ENTITY_ALIAS);
3272 query.append(orderByConditionFields[i]);
3273
3274 if ((i + 1) < orderByConditionFields.length) {
3275 if (orderByComparator.isAscending() ^ previous) {
3276 query.append(WHERE_GREATER_THAN_HAS_NEXT);
3277 }
3278 else {
3279 query.append(WHERE_LESSER_THAN_HAS_NEXT);
3280 }
3281 }
3282 else {
3283 if (orderByComparator.isAscending() ^ previous) {
3284 query.append(WHERE_GREATER_THAN);
3285 }
3286 else {
3287 query.append(WHERE_LESSER_THAN);
3288 }
3289 }
3290 }
3291
3292 query.append(ORDER_BY_CLAUSE);
3293
3294 String[] orderByFields = orderByComparator.getOrderByFields();
3295
3296 for (int i = 0; i < orderByFields.length; i++) {
3297 query.append(_ORDER_BY_ENTITY_ALIAS);
3298 query.append(orderByFields[i]);
3299
3300 if ((i + 1) < orderByFields.length) {
3301 if (orderByComparator.isAscending() ^ previous) {
3302 query.append(ORDER_BY_ASC_HAS_NEXT);
3303 }
3304 else {
3305 query.append(ORDER_BY_DESC_HAS_NEXT);
3306 }
3307 }
3308 else {
3309 if (orderByComparator.isAscending() ^ previous) {
3310 query.append(ORDER_BY_ASC);
3311 }
3312 else {
3313 query.append(ORDER_BY_DESC);
3314 }
3315 }
3316 }
3317 }
3318 else {
3319 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
3320 }
3321
3322 String sql = query.toString();
3323
3324 Query q = session.createQuery(sql);
3325
3326 q.setFirstResult(0);
3327 q.setMaxResults(2);
3328
3329 QueryPos qPos = QueryPos.getInstance(q);
3330
3331 qPos.add(ownerId);
3332
3333 qPos.add(ownerType);
3334
3335 if (bindPortletId) {
3336 qPos.add(portletId);
3337 }
3338
3339 if (orderByComparator != null) {
3340 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
3341
3342 for (Object value : values) {
3343 qPos.add(value);
3344 }
3345 }
3346
3347 List<PortletPreferences> list = q.list();
3348
3349 if (list.size() == 2) {
3350 return list.get(1);
3351 }
3352 else {
3353 return null;
3354 }
3355 }
3356
3357
3365 @Override
3366 public void removeByO_O_PI(long ownerId, int ownerType, String portletId)
3367 throws SystemException {
3368 for (PortletPreferences portletPreferences : findByO_O_PI(ownerId,
3369 ownerType, portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
3370 remove(portletPreferences);
3371 }
3372 }
3373
3374
3383 @Override
3384 public int countByO_O_PI(long ownerId, int ownerType, String portletId)
3385 throws SystemException {
3386 FinderPath finderPath = FINDER_PATH_COUNT_BY_O_O_PI;
3387
3388 Object[] finderArgs = new Object[] { ownerId, ownerType, portletId };
3389
3390 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
3391 this);
3392
3393 if (count == null) {
3394 StringBundler query = new StringBundler(4);
3395
3396 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
3397
3398 query.append(_FINDER_COLUMN_O_O_PI_OWNERID_2);
3399
3400 query.append(_FINDER_COLUMN_O_O_PI_OWNERTYPE_2);
3401
3402 boolean bindPortletId = false;
3403
3404 if (portletId == null) {
3405 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_1);
3406 }
3407 else if (portletId.equals(StringPool.BLANK)) {
3408 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_3);
3409 }
3410 else {
3411 bindPortletId = true;
3412
3413 query.append(_FINDER_COLUMN_O_O_PI_PORTLETID_2);
3414 }
3415
3416 String sql = query.toString();
3417
3418 Session session = null;
3419
3420 try {
3421 session = openSession();
3422
3423 Query q = session.createQuery(sql);
3424
3425 QueryPos qPos = QueryPos.getInstance(q);
3426
3427 qPos.add(ownerId);
3428
3429 qPos.add(ownerType);
3430
3431 if (bindPortletId) {
3432 qPos.add(portletId);
3433 }
3434
3435 count = (Long)q.uniqueResult();
3436
3437 FinderCacheUtil.putResult(finderPath, finderArgs, count);
3438 }
3439 catch (Exception e) {
3440 FinderCacheUtil.removeResult(finderPath, finderArgs);
3441
3442 throw processException(e);
3443 }
3444 finally {
3445 closeSession(session);
3446 }
3447 }
3448
3449 return count.intValue();
3450 }
3451
3452 private static final String _FINDER_COLUMN_O_O_PI_OWNERID_2 = "portletPreferences.ownerId = ? AND ";
3453 private static final String _FINDER_COLUMN_O_O_PI_OWNERTYPE_2 = "portletPreferences.ownerType = ? AND ";
3454 private static final String _FINDER_COLUMN_O_O_PI_PORTLETID_1 = "portletPreferences.portletId IS NULL";
3455 private static final String _FINDER_COLUMN_O_O_PI_PORTLETID_2 = "portletPreferences.portletId = ?";
3456 private static final String _FINDER_COLUMN_O_O_PI_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
3457 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_O_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
3458 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
3459 PortletPreferencesImpl.class,
3460 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByO_P_P",
3461 new String[] {
3462 Integer.class.getName(), Long.class.getName(),
3463 String.class.getName(),
3464
3465 Integer.class.getName(), Integer.class.getName(),
3466 OrderByComparator.class.getName()
3467 });
3468 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
3469 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
3470 PortletPreferencesImpl.class,
3471 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByO_P_P",
3472 new String[] {
3473 Integer.class.getName(), Long.class.getName(),
3474 String.class.getName()
3475 },
3476 PortletPreferencesModelImpl.OWNERTYPE_COLUMN_BITMASK |
3477 PortletPreferencesModelImpl.PLID_COLUMN_BITMASK |
3478 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
3479 public static final FinderPath FINDER_PATH_COUNT_BY_O_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
3480 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
3481 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByO_P_P",
3482 new String[] {
3483 Integer.class.getName(), Long.class.getName(),
3484 String.class.getName()
3485 });
3486
3487
3496 @Override
3497 public List<PortletPreferences> findByO_P_P(int ownerType, long plid,
3498 String portletId) throws SystemException {
3499 return findByO_P_P(ownerType, plid, portletId, QueryUtil.ALL_POS,
3500 QueryUtil.ALL_POS, null);
3501 }
3502
3503
3518 @Override
3519 public List<PortletPreferences> findByO_P_P(int ownerType, long plid,
3520 String portletId, int start, int end) throws SystemException {
3521 return findByO_P_P(ownerType, plid, portletId, start, end, null);
3522 }
3523
3524
3540 @Override
3541 public List<PortletPreferences> findByO_P_P(int ownerType, long plid,
3542 String portletId, int start, int end,
3543 OrderByComparator orderByComparator) throws SystemException {
3544 boolean pagination = true;
3545 FinderPath finderPath = null;
3546 Object[] finderArgs = null;
3547
3548 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
3549 (orderByComparator == null)) {
3550 pagination = false;
3551 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P_P;
3552 finderArgs = new Object[] { ownerType, plid, portletId };
3553 }
3554 else {
3555 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_O_P_P;
3556 finderArgs = new Object[] {
3557 ownerType, plid, portletId,
3558
3559 start, end, orderByComparator
3560 };
3561 }
3562
3563 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
3564 finderArgs, this);
3565
3566 if ((list != null) && !list.isEmpty()) {
3567 for (PortletPreferences portletPreferences : list) {
3568 if ((ownerType != portletPreferences.getOwnerType()) ||
3569 (plid != portletPreferences.getPlid()) ||
3570 !Validator.equals(portletId,
3571 portletPreferences.getPortletId())) {
3572 list = null;
3573
3574 break;
3575 }
3576 }
3577 }
3578
3579 if (list == null) {
3580 StringBundler query = null;
3581
3582 if (orderByComparator != null) {
3583 query = new StringBundler(5 +
3584 (orderByComparator.getOrderByFields().length * 3));
3585 }
3586 else {
3587 query = new StringBundler(5);
3588 }
3589
3590 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
3591
3592 query.append(_FINDER_COLUMN_O_P_P_OWNERTYPE_2);
3593
3594 query.append(_FINDER_COLUMN_O_P_P_PLID_2);
3595
3596 boolean bindPortletId = false;
3597
3598 if (portletId == null) {
3599 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_1);
3600 }
3601 else if (portletId.equals(StringPool.BLANK)) {
3602 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_3);
3603 }
3604 else {
3605 bindPortletId = true;
3606
3607 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_2);
3608 }
3609
3610 if (orderByComparator != null) {
3611 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
3612 orderByComparator);
3613 }
3614 else
3615 if (pagination) {
3616 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
3617 }
3618
3619 String sql = query.toString();
3620
3621 Session session = null;
3622
3623 try {
3624 session = openSession();
3625
3626 Query q = session.createQuery(sql);
3627
3628 QueryPos qPos = QueryPos.getInstance(q);
3629
3630 qPos.add(ownerType);
3631
3632 qPos.add(plid);
3633
3634 if (bindPortletId) {
3635 qPos.add(portletId);
3636 }
3637
3638 if (!pagination) {
3639 list = (List<PortletPreferences>)QueryUtil.list(q,
3640 getDialect(), start, end, false);
3641
3642 Collections.sort(list);
3643
3644 list = new UnmodifiableList<PortletPreferences>(list);
3645 }
3646 else {
3647 list = (List<PortletPreferences>)QueryUtil.list(q,
3648 getDialect(), start, end);
3649 }
3650
3651 cacheResult(list);
3652
3653 FinderCacheUtil.putResult(finderPath, finderArgs, list);
3654 }
3655 catch (Exception e) {
3656 FinderCacheUtil.removeResult(finderPath, finderArgs);
3657
3658 throw processException(e);
3659 }
3660 finally {
3661 closeSession(session);
3662 }
3663 }
3664
3665 return list;
3666 }
3667
3668
3679 @Override
3680 public PortletPreferences findByO_P_P_First(int ownerType, long plid,
3681 String portletId, OrderByComparator orderByComparator)
3682 throws NoSuchPortletPreferencesException, SystemException {
3683 PortletPreferences portletPreferences = fetchByO_P_P_First(ownerType,
3684 plid, portletId, orderByComparator);
3685
3686 if (portletPreferences != null) {
3687 return portletPreferences;
3688 }
3689
3690 StringBundler msg = new StringBundler(8);
3691
3692 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
3693
3694 msg.append("ownerType=");
3695 msg.append(ownerType);
3696
3697 msg.append(", plid=");
3698 msg.append(plid);
3699
3700 msg.append(", portletId=");
3701 msg.append(portletId);
3702
3703 msg.append(StringPool.CLOSE_CURLY_BRACE);
3704
3705 throw new NoSuchPortletPreferencesException(msg.toString());
3706 }
3707
3708
3718 @Override
3719 public PortletPreferences fetchByO_P_P_First(int ownerType, long plid,
3720 String portletId, OrderByComparator orderByComparator)
3721 throws SystemException {
3722 List<PortletPreferences> list = findByO_P_P(ownerType, plid, portletId,
3723 0, 1, orderByComparator);
3724
3725 if (!list.isEmpty()) {
3726 return list.get(0);
3727 }
3728
3729 return null;
3730 }
3731
3732
3743 @Override
3744 public PortletPreferences findByO_P_P_Last(int ownerType, long plid,
3745 String portletId, OrderByComparator orderByComparator)
3746 throws NoSuchPortletPreferencesException, SystemException {
3747 PortletPreferences portletPreferences = fetchByO_P_P_Last(ownerType,
3748 plid, portletId, orderByComparator);
3749
3750 if (portletPreferences != null) {
3751 return portletPreferences;
3752 }
3753
3754 StringBundler msg = new StringBundler(8);
3755
3756 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
3757
3758 msg.append("ownerType=");
3759 msg.append(ownerType);
3760
3761 msg.append(", plid=");
3762 msg.append(plid);
3763
3764 msg.append(", portletId=");
3765 msg.append(portletId);
3766
3767 msg.append(StringPool.CLOSE_CURLY_BRACE);
3768
3769 throw new NoSuchPortletPreferencesException(msg.toString());
3770 }
3771
3772
3782 @Override
3783 public PortletPreferences fetchByO_P_P_Last(int ownerType, long plid,
3784 String portletId, OrderByComparator orderByComparator)
3785 throws SystemException {
3786 int count = countByO_P_P(ownerType, plid, portletId);
3787
3788 if (count == 0) {
3789 return null;
3790 }
3791
3792 List<PortletPreferences> list = findByO_P_P(ownerType, plid, portletId,
3793 count - 1, count, orderByComparator);
3794
3795 if (!list.isEmpty()) {
3796 return list.get(0);
3797 }
3798
3799 return null;
3800 }
3801
3802
3814 @Override
3815 public PortletPreferences[] findByO_P_P_PrevAndNext(
3816 long portletPreferencesId, int ownerType, long plid, String portletId,
3817 OrderByComparator orderByComparator)
3818 throws NoSuchPortletPreferencesException, SystemException {
3819 PortletPreferences portletPreferences = findByPrimaryKey(portletPreferencesId);
3820
3821 Session session = null;
3822
3823 try {
3824 session = openSession();
3825
3826 PortletPreferences[] array = new PortletPreferencesImpl[3];
3827
3828 array[0] = getByO_P_P_PrevAndNext(session, portletPreferences,
3829 ownerType, plid, portletId, orderByComparator, true);
3830
3831 array[1] = portletPreferences;
3832
3833 array[2] = getByO_P_P_PrevAndNext(session, portletPreferences,
3834 ownerType, plid, portletId, orderByComparator, false);
3835
3836 return array;
3837 }
3838 catch (Exception e) {
3839 throw processException(e);
3840 }
3841 finally {
3842 closeSession(session);
3843 }
3844 }
3845
3846 protected PortletPreferences getByO_P_P_PrevAndNext(Session session,
3847 PortletPreferences portletPreferences, int ownerType, long plid,
3848 String portletId, OrderByComparator orderByComparator, boolean previous) {
3849 StringBundler query = null;
3850
3851 if (orderByComparator != null) {
3852 query = new StringBundler(6 +
3853 (orderByComparator.getOrderByFields().length * 6));
3854 }
3855 else {
3856 query = new StringBundler(3);
3857 }
3858
3859 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
3860
3861 query.append(_FINDER_COLUMN_O_P_P_OWNERTYPE_2);
3862
3863 query.append(_FINDER_COLUMN_O_P_P_PLID_2);
3864
3865 boolean bindPortletId = false;
3866
3867 if (portletId == null) {
3868 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_1);
3869 }
3870 else if (portletId.equals(StringPool.BLANK)) {
3871 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_3);
3872 }
3873 else {
3874 bindPortletId = true;
3875
3876 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_2);
3877 }
3878
3879 if (orderByComparator != null) {
3880 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
3881
3882 if (orderByConditionFields.length > 0) {
3883 query.append(WHERE_AND);
3884 }
3885
3886 for (int i = 0; i < orderByConditionFields.length; i++) {
3887 query.append(_ORDER_BY_ENTITY_ALIAS);
3888 query.append(orderByConditionFields[i]);
3889
3890 if ((i + 1) < orderByConditionFields.length) {
3891 if (orderByComparator.isAscending() ^ previous) {
3892 query.append(WHERE_GREATER_THAN_HAS_NEXT);
3893 }
3894 else {
3895 query.append(WHERE_LESSER_THAN_HAS_NEXT);
3896 }
3897 }
3898 else {
3899 if (orderByComparator.isAscending() ^ previous) {
3900 query.append(WHERE_GREATER_THAN);
3901 }
3902 else {
3903 query.append(WHERE_LESSER_THAN);
3904 }
3905 }
3906 }
3907
3908 query.append(ORDER_BY_CLAUSE);
3909
3910 String[] orderByFields = orderByComparator.getOrderByFields();
3911
3912 for (int i = 0; i < orderByFields.length; i++) {
3913 query.append(_ORDER_BY_ENTITY_ALIAS);
3914 query.append(orderByFields[i]);
3915
3916 if ((i + 1) < orderByFields.length) {
3917 if (orderByComparator.isAscending() ^ previous) {
3918 query.append(ORDER_BY_ASC_HAS_NEXT);
3919 }
3920 else {
3921 query.append(ORDER_BY_DESC_HAS_NEXT);
3922 }
3923 }
3924 else {
3925 if (orderByComparator.isAscending() ^ previous) {
3926 query.append(ORDER_BY_ASC);
3927 }
3928 else {
3929 query.append(ORDER_BY_DESC);
3930 }
3931 }
3932 }
3933 }
3934 else {
3935 query.append(PortletPreferencesModelImpl.ORDER_BY_JPQL);
3936 }
3937
3938 String sql = query.toString();
3939
3940 Query q = session.createQuery(sql);
3941
3942 q.setFirstResult(0);
3943 q.setMaxResults(2);
3944
3945 QueryPos qPos = QueryPos.getInstance(q);
3946
3947 qPos.add(ownerType);
3948
3949 qPos.add(plid);
3950
3951 if (bindPortletId) {
3952 qPos.add(portletId);
3953 }
3954
3955 if (orderByComparator != null) {
3956 Object[] values = orderByComparator.getOrderByConditionValues(portletPreferences);
3957
3958 for (Object value : values) {
3959 qPos.add(value);
3960 }
3961 }
3962
3963 List<PortletPreferences> list = q.list();
3964
3965 if (list.size() == 2) {
3966 return list.get(1);
3967 }
3968 else {
3969 return null;
3970 }
3971 }
3972
3973
3981 @Override
3982 public void removeByO_P_P(int ownerType, long plid, String portletId)
3983 throws SystemException {
3984 for (PortletPreferences portletPreferences : findByO_P_P(ownerType,
3985 plid, portletId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
3986 remove(portletPreferences);
3987 }
3988 }
3989
3990
3999 @Override
4000 public int countByO_P_P(int ownerType, long plid, String portletId)
4001 throws SystemException {
4002 FinderPath finderPath = FINDER_PATH_COUNT_BY_O_P_P;
4003
4004 Object[] finderArgs = new Object[] { ownerType, plid, portletId };
4005
4006 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
4007 this);
4008
4009 if (count == null) {
4010 StringBundler query = new StringBundler(4);
4011
4012 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
4013
4014 query.append(_FINDER_COLUMN_O_P_P_OWNERTYPE_2);
4015
4016 query.append(_FINDER_COLUMN_O_P_P_PLID_2);
4017
4018 boolean bindPortletId = false;
4019
4020 if (portletId == null) {
4021 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_1);
4022 }
4023 else if (portletId.equals(StringPool.BLANK)) {
4024 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_3);
4025 }
4026 else {
4027 bindPortletId = true;
4028
4029 query.append(_FINDER_COLUMN_O_P_P_PORTLETID_2);
4030 }
4031
4032 String sql = query.toString();
4033
4034 Session session = null;
4035
4036 try {
4037 session = openSession();
4038
4039 Query q = session.createQuery(sql);
4040
4041 QueryPos qPos = QueryPos.getInstance(q);
4042
4043 qPos.add(ownerType);
4044
4045 qPos.add(plid);
4046
4047 if (bindPortletId) {
4048 qPos.add(portletId);
4049 }
4050
4051 count = (Long)q.uniqueResult();
4052
4053 FinderCacheUtil.putResult(finderPath, finderArgs, count);
4054 }
4055 catch (Exception e) {
4056 FinderCacheUtil.removeResult(finderPath, finderArgs);
4057
4058 throw processException(e);
4059 }
4060 finally {
4061 closeSession(session);
4062 }
4063 }
4064
4065 return count.intValue();
4066 }
4067
4068 private static final String _FINDER_COLUMN_O_P_P_OWNERTYPE_2 = "portletPreferences.ownerType = ? AND ";
4069 private static final String _FINDER_COLUMN_O_P_P_PLID_2 = "portletPreferences.plid = ? AND ";
4070 private static final String _FINDER_COLUMN_O_P_P_PORTLETID_1 = "portletPreferences.portletId IS NULL";
4071 private static final String _FINDER_COLUMN_O_P_P_PORTLETID_2 = "portletPreferences.portletId = ?";
4072 private static final String _FINDER_COLUMN_O_P_P_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
4073 public static final FinderPath FINDER_PATH_FETCH_BY_O_O_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4074 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED,
4075 PortletPreferencesImpl.class, FINDER_CLASS_NAME_ENTITY,
4076 "fetchByO_O_P_P",
4077 new String[] {
4078 Long.class.getName(), Integer.class.getName(),
4079 Long.class.getName(), String.class.getName()
4080 },
4081 PortletPreferencesModelImpl.OWNERID_COLUMN_BITMASK |
4082 PortletPreferencesModelImpl.OWNERTYPE_COLUMN_BITMASK |
4083 PortletPreferencesModelImpl.PLID_COLUMN_BITMASK |
4084 PortletPreferencesModelImpl.PORTLETID_COLUMN_BITMASK);
4085 public static final FinderPath FINDER_PATH_COUNT_BY_O_O_P_P = new FinderPath(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4086 PortletPreferencesModelImpl.FINDER_CACHE_ENABLED, Long.class,
4087 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByO_O_P_P",
4088 new String[] {
4089 Long.class.getName(), Integer.class.getName(),
4090 Long.class.getName(), String.class.getName()
4091 });
4092
4093
4104 @Override
4105 public PortletPreferences findByO_O_P_P(long ownerId, int ownerType,
4106 long plid, String portletId)
4107 throws NoSuchPortletPreferencesException, SystemException {
4108 PortletPreferences portletPreferences = fetchByO_O_P_P(ownerId,
4109 ownerType, plid, portletId);
4110
4111 if (portletPreferences == null) {
4112 StringBundler msg = new StringBundler(10);
4113
4114 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
4115
4116 msg.append("ownerId=");
4117 msg.append(ownerId);
4118
4119 msg.append(", ownerType=");
4120 msg.append(ownerType);
4121
4122 msg.append(", plid=");
4123 msg.append(plid);
4124
4125 msg.append(", portletId=");
4126 msg.append(portletId);
4127
4128 msg.append(StringPool.CLOSE_CURLY_BRACE);
4129
4130 if (_log.isWarnEnabled()) {
4131 _log.warn(msg.toString());
4132 }
4133
4134 throw new NoSuchPortletPreferencesException(msg.toString());
4135 }
4136
4137 return portletPreferences;
4138 }
4139
4140
4150 @Override
4151 public PortletPreferences fetchByO_O_P_P(long ownerId, int ownerType,
4152 long plid, String portletId) throws SystemException {
4153 return fetchByO_O_P_P(ownerId, ownerType, plid, portletId, true);
4154 }
4155
4156
4167 @Override
4168 public PortletPreferences fetchByO_O_P_P(long ownerId, int ownerType,
4169 long plid, String portletId, boolean retrieveFromCache)
4170 throws SystemException {
4171 Object[] finderArgs = new Object[] { ownerId, ownerType, plid, portletId };
4172
4173 Object result = null;
4174
4175 if (retrieveFromCache) {
4176 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_O_O_P_P,
4177 finderArgs, this);
4178 }
4179
4180 if (result instanceof PortletPreferences) {
4181 PortletPreferences portletPreferences = (PortletPreferences)result;
4182
4183 if ((ownerId != portletPreferences.getOwnerId()) ||
4184 (ownerType != portletPreferences.getOwnerType()) ||
4185 (plid != portletPreferences.getPlid()) ||
4186 !Validator.equals(portletId,
4187 portletPreferences.getPortletId())) {
4188 result = null;
4189 }
4190 }
4191
4192 if (result == null) {
4193 StringBundler query = new StringBundler(6);
4194
4195 query.append(_SQL_SELECT_PORTLETPREFERENCES_WHERE);
4196
4197 query.append(_FINDER_COLUMN_O_O_P_P_OWNERID_2);
4198
4199 query.append(_FINDER_COLUMN_O_O_P_P_OWNERTYPE_2);
4200
4201 query.append(_FINDER_COLUMN_O_O_P_P_PLID_2);
4202
4203 boolean bindPortletId = false;
4204
4205 if (portletId == null) {
4206 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_1);
4207 }
4208 else if (portletId.equals(StringPool.BLANK)) {
4209 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_3);
4210 }
4211 else {
4212 bindPortletId = true;
4213
4214 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_2);
4215 }
4216
4217 String sql = query.toString();
4218
4219 Session session = null;
4220
4221 try {
4222 session = openSession();
4223
4224 Query q = session.createQuery(sql);
4225
4226 QueryPos qPos = QueryPos.getInstance(q);
4227
4228 qPos.add(ownerId);
4229
4230 qPos.add(ownerType);
4231
4232 qPos.add(plid);
4233
4234 if (bindPortletId) {
4235 qPos.add(portletId);
4236 }
4237
4238 List<PortletPreferences> list = q.list();
4239
4240 if (list.isEmpty()) {
4241 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_O_O_P_P,
4242 finderArgs, list);
4243 }
4244 else {
4245 PortletPreferences portletPreferences = list.get(0);
4246
4247 result = portletPreferences;
4248
4249 cacheResult(portletPreferences);
4250
4251 if ((portletPreferences.getOwnerId() != ownerId) ||
4252 (portletPreferences.getOwnerType() != ownerType) ||
4253 (portletPreferences.getPlid() != plid) ||
4254 (portletPreferences.getPortletId() == null) ||
4255 !portletPreferences.getPortletId().equals(portletId)) {
4256 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_O_O_P_P,
4257 finderArgs, portletPreferences);
4258 }
4259 }
4260 }
4261 catch (Exception e) {
4262 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_O_O_P_P,
4263 finderArgs);
4264
4265 throw processException(e);
4266 }
4267 finally {
4268 closeSession(session);
4269 }
4270 }
4271
4272 if (result instanceof List<?>) {
4273 return null;
4274 }
4275 else {
4276 return (PortletPreferences)result;
4277 }
4278 }
4279
4280
4290 @Override
4291 public PortletPreferences removeByO_O_P_P(long ownerId, int ownerType,
4292 long plid, String portletId)
4293 throws NoSuchPortletPreferencesException, SystemException {
4294 PortletPreferences portletPreferences = findByO_O_P_P(ownerId,
4295 ownerType, plid, portletId);
4296
4297 return remove(portletPreferences);
4298 }
4299
4300
4310 @Override
4311 public int countByO_O_P_P(long ownerId, int ownerType, long plid,
4312 String portletId) throws SystemException {
4313 FinderPath finderPath = FINDER_PATH_COUNT_BY_O_O_P_P;
4314
4315 Object[] finderArgs = new Object[] { ownerId, ownerType, plid, portletId };
4316
4317 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
4318 this);
4319
4320 if (count == null) {
4321 StringBundler query = new StringBundler(5);
4322
4323 query.append(_SQL_COUNT_PORTLETPREFERENCES_WHERE);
4324
4325 query.append(_FINDER_COLUMN_O_O_P_P_OWNERID_2);
4326
4327 query.append(_FINDER_COLUMN_O_O_P_P_OWNERTYPE_2);
4328
4329 query.append(_FINDER_COLUMN_O_O_P_P_PLID_2);
4330
4331 boolean bindPortletId = false;
4332
4333 if (portletId == null) {
4334 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_1);
4335 }
4336 else if (portletId.equals(StringPool.BLANK)) {
4337 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_3);
4338 }
4339 else {
4340 bindPortletId = true;
4341
4342 query.append(_FINDER_COLUMN_O_O_P_P_PORTLETID_2);
4343 }
4344
4345 String sql = query.toString();
4346
4347 Session session = null;
4348
4349 try {
4350 session = openSession();
4351
4352 Query q = session.createQuery(sql);
4353
4354 QueryPos qPos = QueryPos.getInstance(q);
4355
4356 qPos.add(ownerId);
4357
4358 qPos.add(ownerType);
4359
4360 qPos.add(plid);
4361
4362 if (bindPortletId) {
4363 qPos.add(portletId);
4364 }
4365
4366 count = (Long)q.uniqueResult();
4367
4368 FinderCacheUtil.putResult(finderPath, finderArgs, count);
4369 }
4370 catch (Exception e) {
4371 FinderCacheUtil.removeResult(finderPath, finderArgs);
4372
4373 throw processException(e);
4374 }
4375 finally {
4376 closeSession(session);
4377 }
4378 }
4379
4380 return count.intValue();
4381 }
4382
4383 private static final String _FINDER_COLUMN_O_O_P_P_OWNERID_2 = "portletPreferences.ownerId = ? AND ";
4384 private static final String _FINDER_COLUMN_O_O_P_P_OWNERTYPE_2 = "portletPreferences.ownerType = ? AND ";
4385 private static final String _FINDER_COLUMN_O_O_P_P_PLID_2 = "portletPreferences.plid = ? AND ";
4386 private static final String _FINDER_COLUMN_O_O_P_P_PORTLETID_1 = "portletPreferences.portletId IS NULL";
4387 private static final String _FINDER_COLUMN_O_O_P_P_PORTLETID_2 = "portletPreferences.portletId = ?";
4388 private static final String _FINDER_COLUMN_O_O_P_P_PORTLETID_3 = "(portletPreferences.portletId IS NULL OR portletPreferences.portletId = '')";
4389
4390
4395 @Override
4396 public void cacheResult(PortletPreferences portletPreferences) {
4397 EntityCacheUtil.putResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4398 PortletPreferencesImpl.class, portletPreferences.getPrimaryKey(),
4399 portletPreferences);
4400
4401 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_O_O_P_P,
4402 new Object[] {
4403 portletPreferences.getOwnerId(),
4404 portletPreferences.getOwnerType(), portletPreferences.getPlid(),
4405 portletPreferences.getPortletId()
4406 }, portletPreferences);
4407
4408 portletPreferences.resetOriginalValues();
4409 }
4410
4411
4416 @Override
4417 public void cacheResult(List<PortletPreferences> portletPreferenceses) {
4418 for (PortletPreferences portletPreferences : portletPreferenceses) {
4419 if (EntityCacheUtil.getResult(
4420 PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4421 PortletPreferencesImpl.class,
4422 portletPreferences.getPrimaryKey()) == null) {
4423 cacheResult(portletPreferences);
4424 }
4425 else {
4426 portletPreferences.resetOriginalValues();
4427 }
4428 }
4429 }
4430
4431
4438 @Override
4439 public void clearCache() {
4440 if (_HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE) {
4441 CacheRegistryUtil.clear(PortletPreferencesImpl.class.getName());
4442 }
4443
4444 EntityCacheUtil.clearCache(PortletPreferencesImpl.class.getName());
4445
4446 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
4447 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
4448 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
4449 }
4450
4451
4458 @Override
4459 public void clearCache(PortletPreferences portletPreferences) {
4460 EntityCacheUtil.removeResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4461 PortletPreferencesImpl.class, portletPreferences.getPrimaryKey());
4462
4463 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
4464 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
4465
4466 clearUniqueFindersCache(portletPreferences);
4467 }
4468
4469 @Override
4470 public void clearCache(List<PortletPreferences> portletPreferenceses) {
4471 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
4472 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
4473
4474 for (PortletPreferences portletPreferences : portletPreferenceses) {
4475 EntityCacheUtil.removeResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4476 PortletPreferencesImpl.class, portletPreferences.getPrimaryKey());
4477
4478 clearUniqueFindersCache(portletPreferences);
4479 }
4480 }
4481
4482 protected void cacheUniqueFindersCache(
4483 PortletPreferences portletPreferences) {
4484 if (portletPreferences.isNew()) {
4485 Object[] args = new Object[] {
4486 portletPreferences.getOwnerId(),
4487 portletPreferences.getOwnerType(),
4488 portletPreferences.getPlid(),
4489 portletPreferences.getPortletId()
4490 };
4491
4492 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_O_O_P_P, args,
4493 Long.valueOf(1));
4494 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_O_O_P_P, args,
4495 portletPreferences);
4496 }
4497 else {
4498 PortletPreferencesModelImpl portletPreferencesModelImpl = (PortletPreferencesModelImpl)portletPreferences;
4499
4500 if ((portletPreferencesModelImpl.getColumnBitmask() &
4501 FINDER_PATH_FETCH_BY_O_O_P_P.getColumnBitmask()) != 0) {
4502 Object[] args = new Object[] {
4503 portletPreferences.getOwnerId(),
4504 portletPreferences.getOwnerType(),
4505 portletPreferences.getPlid(),
4506 portletPreferences.getPortletId()
4507 };
4508
4509 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_O_O_P_P, args,
4510 Long.valueOf(1));
4511 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_O_O_P_P, args,
4512 portletPreferences);
4513 }
4514 }
4515 }
4516
4517 protected void clearUniqueFindersCache(
4518 PortletPreferences portletPreferences) {
4519 PortletPreferencesModelImpl portletPreferencesModelImpl = (PortletPreferencesModelImpl)portletPreferences;
4520
4521 Object[] args = new Object[] {
4522 portletPreferences.getOwnerId(),
4523 portletPreferences.getOwnerType(), portletPreferences.getPlid(),
4524 portletPreferences.getPortletId()
4525 };
4526
4527 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_P_P, args);
4528 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_O_O_P_P, args);
4529
4530 if ((portletPreferencesModelImpl.getColumnBitmask() &
4531 FINDER_PATH_FETCH_BY_O_O_P_P.getColumnBitmask()) != 0) {
4532 args = new Object[] {
4533 portletPreferencesModelImpl.getOriginalOwnerId(),
4534 portletPreferencesModelImpl.getOriginalOwnerType(),
4535 portletPreferencesModelImpl.getOriginalPlid(),
4536 portletPreferencesModelImpl.getOriginalPortletId()
4537 };
4538
4539 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_P_P, args);
4540 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_O_O_P_P, args);
4541 }
4542 }
4543
4544
4550 @Override
4551 public PortletPreferences create(long portletPreferencesId) {
4552 PortletPreferences portletPreferences = new PortletPreferencesImpl();
4553
4554 portletPreferences.setNew(true);
4555 portletPreferences.setPrimaryKey(portletPreferencesId);
4556
4557 return portletPreferences;
4558 }
4559
4560
4568 @Override
4569 public PortletPreferences remove(long portletPreferencesId)
4570 throws NoSuchPortletPreferencesException, SystemException {
4571 return remove((Serializable)portletPreferencesId);
4572 }
4573
4574
4582 @Override
4583 public PortletPreferences remove(Serializable primaryKey)
4584 throws NoSuchPortletPreferencesException, SystemException {
4585 Session session = null;
4586
4587 try {
4588 session = openSession();
4589
4590 PortletPreferences portletPreferences = (PortletPreferences)session.get(PortletPreferencesImpl.class,
4591 primaryKey);
4592
4593 if (portletPreferences == null) {
4594 if (_log.isWarnEnabled()) {
4595 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
4596 }
4597
4598 throw new NoSuchPortletPreferencesException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
4599 primaryKey);
4600 }
4601
4602 return remove(portletPreferences);
4603 }
4604 catch (NoSuchPortletPreferencesException nsee) {
4605 throw nsee;
4606 }
4607 catch (Exception e) {
4608 throw processException(e);
4609 }
4610 finally {
4611 closeSession(session);
4612 }
4613 }
4614
4615 @Override
4616 protected PortletPreferences removeImpl(
4617 PortletPreferences portletPreferences) throws SystemException {
4618 portletPreferences = toUnwrappedModel(portletPreferences);
4619
4620 Session session = null;
4621
4622 try {
4623 session = openSession();
4624
4625 if (!session.contains(portletPreferences)) {
4626 portletPreferences = (PortletPreferences)session.get(PortletPreferencesImpl.class,
4627 portletPreferences.getPrimaryKeyObj());
4628 }
4629
4630 if (portletPreferences != null) {
4631 session.delete(portletPreferences);
4632 }
4633 }
4634 catch (Exception e) {
4635 throw processException(e);
4636 }
4637 finally {
4638 closeSession(session);
4639 }
4640
4641 if (portletPreferences != null) {
4642 clearCache(portletPreferences);
4643 }
4644
4645 return portletPreferences;
4646 }
4647
4648 @Override
4649 public PortletPreferences updateImpl(
4650 com.liferay.portal.model.PortletPreferences portletPreferences)
4651 throws SystemException {
4652 portletPreferences = toUnwrappedModel(portletPreferences);
4653
4654 boolean isNew = portletPreferences.isNew();
4655
4656 PortletPreferencesModelImpl portletPreferencesModelImpl = (PortletPreferencesModelImpl)portletPreferences;
4657
4658 Session session = null;
4659
4660 try {
4661 session = openSession();
4662
4663 if (portletPreferences.isNew()) {
4664 session.save(portletPreferences);
4665
4666 portletPreferences.setNew(false);
4667 }
4668 else {
4669 session.merge(portletPreferences);
4670 }
4671 }
4672 catch (Exception e) {
4673 throw processException(e);
4674 }
4675 finally {
4676 closeSession(session);
4677 }
4678
4679 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
4680
4681 if (isNew || !PortletPreferencesModelImpl.COLUMN_BITMASK_ENABLED) {
4682 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
4683 }
4684
4685 else {
4686 if ((portletPreferencesModelImpl.getColumnBitmask() &
4687 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PLID.getColumnBitmask()) != 0) {
4688 Object[] args = new Object[] {
4689 portletPreferencesModelImpl.getOriginalPlid()
4690 };
4691
4692 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_PLID, args);
4693 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PLID,
4694 args);
4695
4696 args = new Object[] { portletPreferencesModelImpl.getPlid() };
4697
4698 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_PLID, args);
4699 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PLID,
4700 args);
4701 }
4702
4703 if ((portletPreferencesModelImpl.getColumnBitmask() &
4704 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PORTLETID.getColumnBitmask()) != 0) {
4705 Object[] args = new Object[] {
4706 portletPreferencesModelImpl.getOriginalPortletId()
4707 };
4708
4709 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_PORTLETID,
4710 args);
4711 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PORTLETID,
4712 args);
4713
4714 args = new Object[] { portletPreferencesModelImpl.getPortletId() };
4715
4716 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_PORTLETID,
4717 args);
4718 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_PORTLETID,
4719 args);
4720 }
4721
4722 if ((portletPreferencesModelImpl.getColumnBitmask() &
4723 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P.getColumnBitmask()) != 0) {
4724 Object[] args = new Object[] {
4725 portletPreferencesModelImpl.getOriginalOwnerType(),
4726 portletPreferencesModelImpl.getOriginalPortletId()
4727 };
4728
4729 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_P, args);
4730 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P,
4731 args);
4732
4733 args = new Object[] {
4734 portletPreferencesModelImpl.getOwnerType(),
4735 portletPreferencesModelImpl.getPortletId()
4736 };
4737
4738 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_P, args);
4739 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P,
4740 args);
4741 }
4742
4743 if ((portletPreferencesModelImpl.getColumnBitmask() &
4744 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_P_P.getColumnBitmask()) != 0) {
4745 Object[] args = new Object[] {
4746 portletPreferencesModelImpl.getOriginalPlid(),
4747 portletPreferencesModelImpl.getOriginalPortletId()
4748 };
4749
4750 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_P_P, args);
4751 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_P_P,
4752 args);
4753
4754 args = new Object[] {
4755 portletPreferencesModelImpl.getPlid(),
4756 portletPreferencesModelImpl.getPortletId()
4757 };
4758
4759 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_P_P, args);
4760 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_P_P,
4761 args);
4762 }
4763
4764 if ((portletPreferencesModelImpl.getColumnBitmask() &
4765 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_P.getColumnBitmask()) != 0) {
4766 Object[] args = new Object[] {
4767 portletPreferencesModelImpl.getOriginalOwnerId(),
4768 portletPreferencesModelImpl.getOriginalOwnerType(),
4769 portletPreferencesModelImpl.getOriginalPlid()
4770 };
4771
4772 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_P, args);
4773 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_P,
4774 args);
4775
4776 args = new Object[] {
4777 portletPreferencesModelImpl.getOwnerId(),
4778 portletPreferencesModelImpl.getOwnerType(),
4779 portletPreferencesModelImpl.getPlid()
4780 };
4781
4782 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_P, args);
4783 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_P,
4784 args);
4785 }
4786
4787 if ((portletPreferencesModelImpl.getColumnBitmask() &
4788 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_PI.getColumnBitmask()) != 0) {
4789 Object[] args = new Object[] {
4790 portletPreferencesModelImpl.getOriginalOwnerId(),
4791 portletPreferencesModelImpl.getOriginalOwnerType(),
4792 portletPreferencesModelImpl.getOriginalPortletId()
4793 };
4794
4795 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_PI, args);
4796 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_PI,
4797 args);
4798
4799 args = new Object[] {
4800 portletPreferencesModelImpl.getOwnerId(),
4801 portletPreferencesModelImpl.getOwnerType(),
4802 portletPreferencesModelImpl.getPortletId()
4803 };
4804
4805 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_O_PI, args);
4806 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_O_PI,
4807 args);
4808 }
4809
4810 if ((portletPreferencesModelImpl.getColumnBitmask() &
4811 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P_P.getColumnBitmask()) != 0) {
4812 Object[] args = new Object[] {
4813 portletPreferencesModelImpl.getOriginalOwnerType(),
4814 portletPreferencesModelImpl.getOriginalPlid(),
4815 portletPreferencesModelImpl.getOriginalPortletId()
4816 };
4817
4818 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_P_P, args);
4819 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P_P,
4820 args);
4821
4822 args = new Object[] {
4823 portletPreferencesModelImpl.getOwnerType(),
4824 portletPreferencesModelImpl.getPlid(),
4825 portletPreferencesModelImpl.getPortletId()
4826 };
4827
4828 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_O_P_P, args);
4829 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_O_P_P,
4830 args);
4831 }
4832 }
4833
4834 EntityCacheUtil.putResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4835 PortletPreferencesImpl.class, portletPreferences.getPrimaryKey(),
4836 portletPreferences);
4837
4838 clearUniqueFindersCache(portletPreferences);
4839 cacheUniqueFindersCache(portletPreferences);
4840
4841 return portletPreferences;
4842 }
4843
4844 protected PortletPreferences toUnwrappedModel(
4845 PortletPreferences portletPreferences) {
4846 if (portletPreferences instanceof PortletPreferencesImpl) {
4847 return portletPreferences;
4848 }
4849
4850 PortletPreferencesImpl portletPreferencesImpl = new PortletPreferencesImpl();
4851
4852 portletPreferencesImpl.setNew(portletPreferences.isNew());
4853 portletPreferencesImpl.setPrimaryKey(portletPreferences.getPrimaryKey());
4854
4855 portletPreferencesImpl.setPortletPreferencesId(portletPreferences.getPortletPreferencesId());
4856 portletPreferencesImpl.setOwnerId(portletPreferences.getOwnerId());
4857 portletPreferencesImpl.setOwnerType(portletPreferences.getOwnerType());
4858 portletPreferencesImpl.setPlid(portletPreferences.getPlid());
4859 portletPreferencesImpl.setPortletId(portletPreferences.getPortletId());
4860 portletPreferencesImpl.setPreferences(portletPreferences.getPreferences());
4861
4862 return portletPreferencesImpl;
4863 }
4864
4865
4873 @Override
4874 public PortletPreferences findByPrimaryKey(Serializable primaryKey)
4875 throws NoSuchPortletPreferencesException, SystemException {
4876 PortletPreferences portletPreferences = fetchByPrimaryKey(primaryKey);
4877
4878 if (portletPreferences == null) {
4879 if (_log.isWarnEnabled()) {
4880 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
4881 }
4882
4883 throw new NoSuchPortletPreferencesException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
4884 primaryKey);
4885 }
4886
4887 return portletPreferences;
4888 }
4889
4890
4898 @Override
4899 public PortletPreferences findByPrimaryKey(long portletPreferencesId)
4900 throws NoSuchPortletPreferencesException, SystemException {
4901 return findByPrimaryKey((Serializable)portletPreferencesId);
4902 }
4903
4904
4911 @Override
4912 public PortletPreferences fetchByPrimaryKey(Serializable primaryKey)
4913 throws SystemException {
4914 PortletPreferences portletPreferences = (PortletPreferences)EntityCacheUtil.getResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4915 PortletPreferencesImpl.class, primaryKey);
4916
4917 if (portletPreferences == _nullPortletPreferences) {
4918 return null;
4919 }
4920
4921 if (portletPreferences == null) {
4922 Session session = null;
4923
4924 try {
4925 session = openSession();
4926
4927 portletPreferences = (PortletPreferences)session.get(PortletPreferencesImpl.class,
4928 primaryKey);
4929
4930 if (portletPreferences != null) {
4931 cacheResult(portletPreferences);
4932 }
4933 else {
4934 EntityCacheUtil.putResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4935 PortletPreferencesImpl.class, primaryKey,
4936 _nullPortletPreferences);
4937 }
4938 }
4939 catch (Exception e) {
4940 EntityCacheUtil.removeResult(PortletPreferencesModelImpl.ENTITY_CACHE_ENABLED,
4941 PortletPreferencesImpl.class, primaryKey);
4942
4943 throw processException(e);
4944 }
4945 finally {
4946 closeSession(session);
4947 }
4948 }
4949
4950 return portletPreferences;
4951 }
4952
4953
4960 @Override
4961 public PortletPreferences fetchByPrimaryKey(long portletPreferencesId)
4962 throws SystemException {
4963 return fetchByPrimaryKey((Serializable)portletPreferencesId);
4964 }
4965
4966
4972 @Override
4973 public List<PortletPreferences> findAll() throws SystemException {
4974 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
4975 }
4976
4977
4989 @Override
4990 public List<PortletPreferences> findAll(int start, int end)
4991 throws SystemException {
4992 return findAll(start, end, null);
4993 }
4994
4995
5008 @Override
5009 public List<PortletPreferences> findAll(int start, int end,
5010 OrderByComparator orderByComparator) throws SystemException {
5011 boolean pagination = true;
5012 FinderPath finderPath = null;
5013 Object[] finderArgs = null;
5014
5015 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
5016 (orderByComparator == null)) {
5017 pagination = false;
5018 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
5019 finderArgs = FINDER_ARGS_EMPTY;
5020 }
5021 else {
5022 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
5023 finderArgs = new Object[] { start, end, orderByComparator };
5024 }
5025
5026 List<PortletPreferences> list = (List<PortletPreferences>)FinderCacheUtil.getResult(finderPath,
5027 finderArgs, this);
5028
5029 if (list == null) {
5030 StringBundler query = null;
5031 String sql = null;
5032
5033 if (orderByComparator != null) {
5034 query = new StringBundler(2 +
5035 (orderByComparator.getOrderByFields().length * 3));
5036
5037 query.append(_SQL_SELECT_PORTLETPREFERENCES);
5038
5039 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
5040 orderByComparator);
5041
5042 sql = query.toString();
5043 }
5044 else {
5045 sql = _SQL_SELECT_PORTLETPREFERENCES;
5046
5047 if (pagination) {
5048 sql = sql.concat(PortletPreferencesModelImpl.ORDER_BY_JPQL);
5049 }
5050 }
5051
5052 Session session = null;
5053
5054 try {
5055 session = openSession();
5056
5057 Query q = session.createQuery(sql);
5058
5059 if (!pagination) {
5060 list = (List<PortletPreferences>)QueryUtil.list(q,
5061 getDialect(), start, end, false);
5062
5063 Collections.sort(list);
5064
5065 list = new UnmodifiableList<PortletPreferences>(list);
5066 }
5067 else {
5068 list = (List<PortletPreferences>)QueryUtil.list(q,
5069 getDialect(), start, end);
5070 }
5071
5072 cacheResult(list);
5073
5074 FinderCacheUtil.putResult(finderPath, finderArgs, list);
5075 }
5076 catch (Exception e) {
5077 FinderCacheUtil.removeResult(finderPath, finderArgs);
5078
5079 throw processException(e);
5080 }
5081 finally {
5082 closeSession(session);
5083 }
5084 }
5085
5086 return list;
5087 }
5088
5089
5094 @Override
5095 public void removeAll() throws SystemException {
5096 for (PortletPreferences portletPreferences : findAll()) {
5097 remove(portletPreferences);
5098 }
5099 }
5100
5101
5107 @Override
5108 public int countAll() throws SystemException {
5109 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
5110 FINDER_ARGS_EMPTY, this);
5111
5112 if (count == null) {
5113 Session session = null;
5114
5115 try {
5116 session = openSession();
5117
5118 Query q = session.createQuery(_SQL_COUNT_PORTLETPREFERENCES);
5119
5120 count = (Long)q.uniqueResult();
5121
5122 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL,
5123 FINDER_ARGS_EMPTY, count);
5124 }
5125 catch (Exception e) {
5126 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_ALL,
5127 FINDER_ARGS_EMPTY);
5128
5129 throw processException(e);
5130 }
5131 finally {
5132 closeSession(session);
5133 }
5134 }
5135
5136 return count.intValue();
5137 }
5138
5139
5142 public void afterPropertiesSet() {
5143 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
5144 com.liferay.portal.util.PropsUtil.get(
5145 "value.object.listener.com.liferay.portal.model.PortletPreferences")));
5146
5147 if (listenerClassNames.length > 0) {
5148 try {
5149 List<ModelListener<PortletPreferences>> listenersList = new ArrayList<ModelListener<PortletPreferences>>();
5150
5151 for (String listenerClassName : listenerClassNames) {
5152 listenersList.add((ModelListener<PortletPreferences>)InstanceFactory.newInstance(
5153 getClassLoader(), listenerClassName));
5154 }
5155
5156 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
5157 }
5158 catch (Exception e) {
5159 _log.error(e);
5160 }
5161 }
5162 }
5163
5164 public void destroy() {
5165 EntityCacheUtil.removeCache(PortletPreferencesImpl.class.getName());
5166 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_ENTITY);
5167 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
5168 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
5169 }
5170
5171 private static final String _SQL_SELECT_PORTLETPREFERENCES = "SELECT portletPreferences FROM PortletPreferences portletPreferences";
5172 private static final String _SQL_SELECT_PORTLETPREFERENCES_WHERE = "SELECT portletPreferences FROM PortletPreferences portletPreferences WHERE ";
5173 private static final String _SQL_COUNT_PORTLETPREFERENCES = "SELECT COUNT(portletPreferences) FROM PortletPreferences portletPreferences";
5174 private static final String _SQL_COUNT_PORTLETPREFERENCES_WHERE = "SELECT COUNT(portletPreferences) FROM PortletPreferences portletPreferences WHERE ";
5175 private static final String _ORDER_BY_ENTITY_ALIAS = "portletPreferences.";
5176 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No PortletPreferences exists with the primary key ";
5177 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No PortletPreferences exists with the key {";
5178 private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = com.liferay.portal.util.PropsValues.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE;
5179 private static Log _log = LogFactoryUtil.getLog(PortletPreferencesPersistenceImpl.class);
5180 private static PortletPreferences _nullPortletPreferences = new PortletPreferencesImpl() {
5181 @Override
5182 public Object clone() {
5183 return this;
5184 }
5185
5186 @Override
5187 public CacheModel<PortletPreferences> toCacheModel() {
5188 return _nullPortletPreferencesCacheModel;
5189 }
5190 };
5191
5192 private static CacheModel<PortletPreferences> _nullPortletPreferencesCacheModel =
5193 new CacheModel<PortletPreferences>() {
5194 @Override
5195 public PortletPreferences toEntityModel() {
5196 return _nullPortletPreferences;
5197 }
5198 };
5199 }