1
22
23 package com.liferay.portal.service.persistence;
24
25 import com.liferay.portal.NoSuchLayoutException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
28 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
29 import com.liferay.portal.kernel.dao.orm.Query;
30 import com.liferay.portal.kernel.dao.orm.QueryPos;
31 import com.liferay.portal.kernel.dao.orm.QueryUtil;
32 import com.liferay.portal.kernel.dao.orm.Session;
33 import com.liferay.portal.kernel.util.GetterUtil;
34 import com.liferay.portal.kernel.util.ListUtil;
35 import com.liferay.portal.kernel.util.OrderByComparator;
36 import com.liferay.portal.kernel.util.StringPool;
37 import com.liferay.portal.kernel.util.StringUtil;
38 import com.liferay.portal.model.Layout;
39 import com.liferay.portal.model.ModelListener;
40 import com.liferay.portal.model.impl.LayoutImpl;
41 import com.liferay.portal.model.impl.LayoutModelImpl;
42 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
43
44 import org.apache.commons.logging.Log;
45 import org.apache.commons.logging.LogFactory;
46
47 import java.util.ArrayList;
48 import java.util.Collections;
49 import java.util.Iterator;
50 import java.util.List;
51
52
58 public class LayoutPersistenceImpl extends BasePersistenceImpl
59 implements LayoutPersistence {
60 public Layout create(long plid) {
61 Layout layout = new LayoutImpl();
62
63 layout.setNew(true);
64 layout.setPrimaryKey(plid);
65
66 return layout;
67 }
68
69 public Layout remove(long plid)
70 throws NoSuchLayoutException, SystemException {
71 Session session = null;
72
73 try {
74 session = openSession();
75
76 Layout layout = (Layout)session.get(LayoutImpl.class, new Long(plid));
77
78 if (layout == null) {
79 if (_log.isWarnEnabled()) {
80 _log.warn("No Layout exists with the primary key " + plid);
81 }
82
83 throw new NoSuchLayoutException(
84 "No Layout exists with the primary key " + plid);
85 }
86
87 return remove(layout);
88 }
89 catch (NoSuchLayoutException nsee) {
90 throw nsee;
91 }
92 catch (Exception e) {
93 throw processException(e);
94 }
95 finally {
96 closeSession(session);
97 }
98 }
99
100 public Layout remove(Layout layout) throws SystemException {
101 if (_listeners.length > 0) {
102 for (ModelListener listener : _listeners) {
103 listener.onBeforeRemove(layout);
104 }
105 }
106
107 layout = removeImpl(layout);
108
109 if (_listeners.length > 0) {
110 for (ModelListener listener : _listeners) {
111 listener.onAfterRemove(layout);
112 }
113 }
114
115 return layout;
116 }
117
118 protected Layout removeImpl(Layout layout) throws SystemException {
119 Session session = null;
120
121 try {
122 session = openSession();
123
124 if (BatchSessionUtil.isEnabled()) {
125 Object staleObject = session.get(LayoutImpl.class,
126 layout.getPrimaryKeyObj());
127
128 if (staleObject != null) {
129 session.evict(staleObject);
130 }
131 }
132
133 session.delete(layout);
134
135 session.flush();
136
137 return layout;
138 }
139 catch (Exception e) {
140 throw processException(e);
141 }
142 finally {
143 closeSession(session);
144
145 FinderCacheUtil.clearCache(Layout.class.getName());
146 }
147 }
148
149
152 public Layout update(Layout layout) throws SystemException {
153 if (_log.isWarnEnabled()) {
154 _log.warn(
155 "Using the deprecated update(Layout layout) method. Use update(Layout layout, boolean merge) instead.");
156 }
157
158 return update(layout, false);
159 }
160
161
174 public Layout update(Layout layout, boolean merge)
175 throws SystemException {
176 boolean isNew = layout.isNew();
177
178 if (_listeners.length > 0) {
179 for (ModelListener listener : _listeners) {
180 if (isNew) {
181 listener.onBeforeCreate(layout);
182 }
183 else {
184 listener.onBeforeUpdate(layout);
185 }
186 }
187 }
188
189 layout = updateImpl(layout, merge);
190
191 if (_listeners.length > 0) {
192 for (ModelListener listener : _listeners) {
193 if (isNew) {
194 listener.onAfterCreate(layout);
195 }
196 else {
197 listener.onAfterUpdate(layout);
198 }
199 }
200 }
201
202 return layout;
203 }
204
205 public Layout updateImpl(com.liferay.portal.model.Layout layout,
206 boolean merge) throws SystemException {
207 Session session = null;
208
209 try {
210 session = openSession();
211
212 BatchSessionUtil.update(session, layout, merge);
213
214 layout.setNew(false);
215
216 return layout;
217 }
218 catch (Exception e) {
219 throw processException(e);
220 }
221 finally {
222 closeSession(session);
223
224 FinderCacheUtil.clearCache(Layout.class.getName());
225 }
226 }
227
228 public Layout findByPrimaryKey(long plid)
229 throws NoSuchLayoutException, SystemException {
230 Layout layout = fetchByPrimaryKey(plid);
231
232 if (layout == null) {
233 if (_log.isWarnEnabled()) {
234 _log.warn("No Layout exists with the primary key " + plid);
235 }
236
237 throw new NoSuchLayoutException(
238 "No Layout exists with the primary key " + plid);
239 }
240
241 return layout;
242 }
243
244 public Layout fetchByPrimaryKey(long plid) throws SystemException {
245 Session session = null;
246
247 try {
248 session = openSession();
249
250 return (Layout)session.get(LayoutImpl.class, new Long(plid));
251 }
252 catch (Exception e) {
253 throw processException(e);
254 }
255 finally {
256 closeSession(session);
257 }
258 }
259
260 public List<Layout> findByGroupId(long groupId) throws SystemException {
261 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
262 String finderClassName = Layout.class.getName();
263 String finderMethodName = "findByGroupId";
264 String[] finderParams = new String[] { Long.class.getName() };
265 Object[] finderArgs = new Object[] { new Long(groupId) };
266
267 Object result = null;
268
269 if (finderClassNameCacheEnabled) {
270 result = FinderCacheUtil.getResult(finderClassName,
271 finderMethodName, finderParams, finderArgs, this);
272 }
273
274 if (result == null) {
275 Session session = null;
276
277 try {
278 session = openSession();
279
280 StringBuilder query = new StringBuilder();
281
282 query.append("FROM com.liferay.portal.model.Layout WHERE ");
283
284 query.append("groupId = ?");
285
286 query.append(" ");
287
288 query.append("ORDER BY ");
289
290 query.append("parentLayoutId ASC, ");
291 query.append("priority ASC");
292
293 Query q = session.createQuery(query.toString());
294
295 QueryPos qPos = QueryPos.getInstance(q);
296
297 qPos.add(groupId);
298
299 List<Layout> list = q.list();
300
301 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
302 finderClassName, finderMethodName, finderParams,
303 finderArgs, list);
304
305 return list;
306 }
307 catch (Exception e) {
308 throw processException(e);
309 }
310 finally {
311 closeSession(session);
312 }
313 }
314 else {
315 return (List<Layout>)result;
316 }
317 }
318
319 public List<Layout> findByGroupId(long groupId, int start, int end)
320 throws SystemException {
321 return findByGroupId(groupId, start, end, null);
322 }
323
324 public List<Layout> findByGroupId(long groupId, int start, int end,
325 OrderByComparator obc) throws SystemException {
326 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
327 String finderClassName = Layout.class.getName();
328 String finderMethodName = "findByGroupId";
329 String[] finderParams = new String[] {
330 Long.class.getName(),
331
332 "java.lang.Integer", "java.lang.Integer",
333 "com.liferay.portal.kernel.util.OrderByComparator"
334 };
335 Object[] finderArgs = new Object[] {
336 new Long(groupId),
337
338 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
339 };
340
341 Object result = null;
342
343 if (finderClassNameCacheEnabled) {
344 result = FinderCacheUtil.getResult(finderClassName,
345 finderMethodName, finderParams, finderArgs, this);
346 }
347
348 if (result == null) {
349 Session session = null;
350
351 try {
352 session = openSession();
353
354 StringBuilder query = new StringBuilder();
355
356 query.append("FROM com.liferay.portal.model.Layout WHERE ");
357
358 query.append("groupId = ?");
359
360 query.append(" ");
361
362 if (obc != null) {
363 query.append("ORDER BY ");
364 query.append(obc.getOrderBy());
365 }
366
367 else {
368 query.append("ORDER BY ");
369
370 query.append("parentLayoutId ASC, ");
371 query.append("priority ASC");
372 }
373
374 Query q = session.createQuery(query.toString());
375
376 QueryPos qPos = QueryPos.getInstance(q);
377
378 qPos.add(groupId);
379
380 List<Layout> list = (List<Layout>)QueryUtil.list(q,
381 getDialect(), start, end);
382
383 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
384 finderClassName, finderMethodName, finderParams,
385 finderArgs, list);
386
387 return list;
388 }
389 catch (Exception e) {
390 throw processException(e);
391 }
392 finally {
393 closeSession(session);
394 }
395 }
396 else {
397 return (List<Layout>)result;
398 }
399 }
400
401 public Layout findByGroupId_First(long groupId, OrderByComparator obc)
402 throws NoSuchLayoutException, SystemException {
403 List<Layout> list = findByGroupId(groupId, 0, 1, obc);
404
405 if (list.size() == 0) {
406 StringBuilder msg = new StringBuilder();
407
408 msg.append("No Layout exists with the key {");
409
410 msg.append("groupId=" + groupId);
411
412 msg.append(StringPool.CLOSE_CURLY_BRACE);
413
414 throw new NoSuchLayoutException(msg.toString());
415 }
416 else {
417 return list.get(0);
418 }
419 }
420
421 public Layout findByGroupId_Last(long groupId, OrderByComparator obc)
422 throws NoSuchLayoutException, SystemException {
423 int count = countByGroupId(groupId);
424
425 List<Layout> list = findByGroupId(groupId, count - 1, count, obc);
426
427 if (list.size() == 0) {
428 StringBuilder msg = new StringBuilder();
429
430 msg.append("No Layout exists with the key {");
431
432 msg.append("groupId=" + groupId);
433
434 msg.append(StringPool.CLOSE_CURLY_BRACE);
435
436 throw new NoSuchLayoutException(msg.toString());
437 }
438 else {
439 return list.get(0);
440 }
441 }
442
443 public Layout[] findByGroupId_PrevAndNext(long plid, long groupId,
444 OrderByComparator obc) throws NoSuchLayoutException, SystemException {
445 Layout layout = findByPrimaryKey(plid);
446
447 int count = countByGroupId(groupId);
448
449 Session session = null;
450
451 try {
452 session = openSession();
453
454 StringBuilder query = new StringBuilder();
455
456 query.append("FROM com.liferay.portal.model.Layout WHERE ");
457
458 query.append("groupId = ?");
459
460 query.append(" ");
461
462 if (obc != null) {
463 query.append("ORDER BY ");
464 query.append(obc.getOrderBy());
465 }
466
467 else {
468 query.append("ORDER BY ");
469
470 query.append("parentLayoutId ASC, ");
471 query.append("priority ASC");
472 }
473
474 Query q = session.createQuery(query.toString());
475
476 QueryPos qPos = QueryPos.getInstance(q);
477
478 qPos.add(groupId);
479
480 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, layout);
481
482 Layout[] array = new LayoutImpl[3];
483
484 array[0] = (Layout)objArray[0];
485 array[1] = (Layout)objArray[1];
486 array[2] = (Layout)objArray[2];
487
488 return array;
489 }
490 catch (Exception e) {
491 throw processException(e);
492 }
493 finally {
494 closeSession(session);
495 }
496 }
497
498 public List<Layout> findByCompanyId(long companyId)
499 throws SystemException {
500 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
501 String finderClassName = Layout.class.getName();
502 String finderMethodName = "findByCompanyId";
503 String[] finderParams = new String[] { Long.class.getName() };
504 Object[] finderArgs = new Object[] { new Long(companyId) };
505
506 Object result = null;
507
508 if (finderClassNameCacheEnabled) {
509 result = FinderCacheUtil.getResult(finderClassName,
510 finderMethodName, finderParams, finderArgs, this);
511 }
512
513 if (result == null) {
514 Session session = null;
515
516 try {
517 session = openSession();
518
519 StringBuilder query = new StringBuilder();
520
521 query.append("FROM com.liferay.portal.model.Layout WHERE ");
522
523 query.append("companyId = ?");
524
525 query.append(" ");
526
527 query.append("ORDER BY ");
528
529 query.append("parentLayoutId ASC, ");
530 query.append("priority ASC");
531
532 Query q = session.createQuery(query.toString());
533
534 QueryPos qPos = QueryPos.getInstance(q);
535
536 qPos.add(companyId);
537
538 List<Layout> list = q.list();
539
540 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
541 finderClassName, finderMethodName, finderParams,
542 finderArgs, list);
543
544 return list;
545 }
546 catch (Exception e) {
547 throw processException(e);
548 }
549 finally {
550 closeSession(session);
551 }
552 }
553 else {
554 return (List<Layout>)result;
555 }
556 }
557
558 public List<Layout> findByCompanyId(long companyId, int start, int end)
559 throws SystemException {
560 return findByCompanyId(companyId, start, end, null);
561 }
562
563 public List<Layout> findByCompanyId(long companyId, int start, int end,
564 OrderByComparator obc) throws SystemException {
565 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
566 String finderClassName = Layout.class.getName();
567 String finderMethodName = "findByCompanyId";
568 String[] finderParams = new String[] {
569 Long.class.getName(),
570
571 "java.lang.Integer", "java.lang.Integer",
572 "com.liferay.portal.kernel.util.OrderByComparator"
573 };
574 Object[] finderArgs = new Object[] {
575 new Long(companyId),
576
577 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
578 };
579
580 Object result = null;
581
582 if (finderClassNameCacheEnabled) {
583 result = FinderCacheUtil.getResult(finderClassName,
584 finderMethodName, finderParams, finderArgs, this);
585 }
586
587 if (result == null) {
588 Session session = null;
589
590 try {
591 session = openSession();
592
593 StringBuilder query = new StringBuilder();
594
595 query.append("FROM com.liferay.portal.model.Layout WHERE ");
596
597 query.append("companyId = ?");
598
599 query.append(" ");
600
601 if (obc != null) {
602 query.append("ORDER BY ");
603 query.append(obc.getOrderBy());
604 }
605
606 else {
607 query.append("ORDER BY ");
608
609 query.append("parentLayoutId ASC, ");
610 query.append("priority ASC");
611 }
612
613 Query q = session.createQuery(query.toString());
614
615 QueryPos qPos = QueryPos.getInstance(q);
616
617 qPos.add(companyId);
618
619 List<Layout> list = (List<Layout>)QueryUtil.list(q,
620 getDialect(), start, end);
621
622 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
623 finderClassName, finderMethodName, finderParams,
624 finderArgs, list);
625
626 return list;
627 }
628 catch (Exception e) {
629 throw processException(e);
630 }
631 finally {
632 closeSession(session);
633 }
634 }
635 else {
636 return (List<Layout>)result;
637 }
638 }
639
640 public Layout findByCompanyId_First(long companyId, OrderByComparator obc)
641 throws NoSuchLayoutException, SystemException {
642 List<Layout> list = findByCompanyId(companyId, 0, 1, obc);
643
644 if (list.size() == 0) {
645 StringBuilder msg = new StringBuilder();
646
647 msg.append("No Layout exists with the key {");
648
649 msg.append("companyId=" + companyId);
650
651 msg.append(StringPool.CLOSE_CURLY_BRACE);
652
653 throw new NoSuchLayoutException(msg.toString());
654 }
655 else {
656 return list.get(0);
657 }
658 }
659
660 public Layout findByCompanyId_Last(long companyId, OrderByComparator obc)
661 throws NoSuchLayoutException, SystemException {
662 int count = countByCompanyId(companyId);
663
664 List<Layout> list = findByCompanyId(companyId, count - 1, count, obc);
665
666 if (list.size() == 0) {
667 StringBuilder msg = new StringBuilder();
668
669 msg.append("No Layout exists with the key {");
670
671 msg.append("companyId=" + companyId);
672
673 msg.append(StringPool.CLOSE_CURLY_BRACE);
674
675 throw new NoSuchLayoutException(msg.toString());
676 }
677 else {
678 return list.get(0);
679 }
680 }
681
682 public Layout[] findByCompanyId_PrevAndNext(long plid, long companyId,
683 OrderByComparator obc) throws NoSuchLayoutException, SystemException {
684 Layout layout = findByPrimaryKey(plid);
685
686 int count = countByCompanyId(companyId);
687
688 Session session = null;
689
690 try {
691 session = openSession();
692
693 StringBuilder query = new StringBuilder();
694
695 query.append("FROM com.liferay.portal.model.Layout WHERE ");
696
697 query.append("companyId = ?");
698
699 query.append(" ");
700
701 if (obc != null) {
702 query.append("ORDER BY ");
703 query.append(obc.getOrderBy());
704 }
705
706 else {
707 query.append("ORDER BY ");
708
709 query.append("parentLayoutId ASC, ");
710 query.append("priority ASC");
711 }
712
713 Query q = session.createQuery(query.toString());
714
715 QueryPos qPos = QueryPos.getInstance(q);
716
717 qPos.add(companyId);
718
719 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, layout);
720
721 Layout[] array = new LayoutImpl[3];
722
723 array[0] = (Layout)objArray[0];
724 array[1] = (Layout)objArray[1];
725 array[2] = (Layout)objArray[2];
726
727 return array;
728 }
729 catch (Exception e) {
730 throw processException(e);
731 }
732 finally {
733 closeSession(session);
734 }
735 }
736
737 public Layout findByDLFolderId(long dlFolderId)
738 throws NoSuchLayoutException, SystemException {
739 Layout layout = fetchByDLFolderId(dlFolderId);
740
741 if (layout == null) {
742 StringBuilder msg = new StringBuilder();
743
744 msg.append("No Layout exists with the key {");
745
746 msg.append("dlFolderId=" + dlFolderId);
747
748 msg.append(StringPool.CLOSE_CURLY_BRACE);
749
750 if (_log.isWarnEnabled()) {
751 _log.warn(msg.toString());
752 }
753
754 throw new NoSuchLayoutException(msg.toString());
755 }
756
757 return layout;
758 }
759
760 public Layout fetchByDLFolderId(long dlFolderId) throws SystemException {
761 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
762 String finderClassName = Layout.class.getName();
763 String finderMethodName = "fetchByDLFolderId";
764 String[] finderParams = new String[] { Long.class.getName() };
765 Object[] finderArgs = new Object[] { new Long(dlFolderId) };
766
767 Object result = null;
768
769 if (finderClassNameCacheEnabled) {
770 result = FinderCacheUtil.getResult(finderClassName,
771 finderMethodName, finderParams, finderArgs, this);
772 }
773
774 if (result == null) {
775 Session session = null;
776
777 try {
778 session = openSession();
779
780 StringBuilder query = new StringBuilder();
781
782 query.append("FROM com.liferay.portal.model.Layout WHERE ");
783
784 query.append("dlFolderId = ?");
785
786 query.append(" ");
787
788 query.append("ORDER BY ");
789
790 query.append("parentLayoutId ASC, ");
791 query.append("priority ASC");
792
793 Query q = session.createQuery(query.toString());
794
795 QueryPos qPos = QueryPos.getInstance(q);
796
797 qPos.add(dlFolderId);
798
799 List<Layout> list = q.list();
800
801 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
802 finderClassName, finderMethodName, finderParams,
803 finderArgs, list);
804
805 if (list.size() == 0) {
806 return null;
807 }
808 else {
809 return list.get(0);
810 }
811 }
812 catch (Exception e) {
813 throw processException(e);
814 }
815 finally {
816 closeSession(session);
817 }
818 }
819 else {
820 List<Layout> list = (List<Layout>)result;
821
822 if (list.size() == 0) {
823 return null;
824 }
825 else {
826 return list.get(0);
827 }
828 }
829 }
830
831 public Layout findByIconImageId(long iconImageId)
832 throws NoSuchLayoutException, SystemException {
833 Layout layout = fetchByIconImageId(iconImageId);
834
835 if (layout == null) {
836 StringBuilder msg = new StringBuilder();
837
838 msg.append("No Layout exists with the key {");
839
840 msg.append("iconImageId=" + iconImageId);
841
842 msg.append(StringPool.CLOSE_CURLY_BRACE);
843
844 if (_log.isWarnEnabled()) {
845 _log.warn(msg.toString());
846 }
847
848 throw new NoSuchLayoutException(msg.toString());
849 }
850
851 return layout;
852 }
853
854 public Layout fetchByIconImageId(long iconImageId)
855 throws SystemException {
856 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
857 String finderClassName = Layout.class.getName();
858 String finderMethodName = "fetchByIconImageId";
859 String[] finderParams = new String[] { Long.class.getName() };
860 Object[] finderArgs = new Object[] { new Long(iconImageId) };
861
862 Object result = null;
863
864 if (finderClassNameCacheEnabled) {
865 result = FinderCacheUtil.getResult(finderClassName,
866 finderMethodName, finderParams, finderArgs, this);
867 }
868
869 if (result == null) {
870 Session session = null;
871
872 try {
873 session = openSession();
874
875 StringBuilder query = new StringBuilder();
876
877 query.append("FROM com.liferay.portal.model.Layout WHERE ");
878
879 query.append("iconImageId = ?");
880
881 query.append(" ");
882
883 query.append("ORDER BY ");
884
885 query.append("parentLayoutId ASC, ");
886 query.append("priority ASC");
887
888 Query q = session.createQuery(query.toString());
889
890 QueryPos qPos = QueryPos.getInstance(q);
891
892 qPos.add(iconImageId);
893
894 List<Layout> list = q.list();
895
896 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
897 finderClassName, finderMethodName, finderParams,
898 finderArgs, list);
899
900 if (list.size() == 0) {
901 return null;
902 }
903 else {
904 return list.get(0);
905 }
906 }
907 catch (Exception e) {
908 throw processException(e);
909 }
910 finally {
911 closeSession(session);
912 }
913 }
914 else {
915 List<Layout> list = (List<Layout>)result;
916
917 if (list.size() == 0) {
918 return null;
919 }
920 else {
921 return list.get(0);
922 }
923 }
924 }
925
926 public List<Layout> findByG_P(long groupId, boolean privateLayout)
927 throws SystemException {
928 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
929 String finderClassName = Layout.class.getName();
930 String finderMethodName = "findByG_P";
931 String[] finderParams = new String[] {
932 Long.class.getName(), Boolean.class.getName()
933 };
934 Object[] finderArgs = new Object[] {
935 new Long(groupId), Boolean.valueOf(privateLayout)
936 };
937
938 Object result = null;
939
940 if (finderClassNameCacheEnabled) {
941 result = FinderCacheUtil.getResult(finderClassName,
942 finderMethodName, finderParams, finderArgs, this);
943 }
944
945 if (result == null) {
946 Session session = null;
947
948 try {
949 session = openSession();
950
951 StringBuilder query = new StringBuilder();
952
953 query.append("FROM com.liferay.portal.model.Layout WHERE ");
954
955 query.append("groupId = ?");
956
957 query.append(" AND ");
958
959 query.append("privateLayout = ?");
960
961 query.append(" ");
962
963 query.append("ORDER BY ");
964
965 query.append("parentLayoutId ASC, ");
966 query.append("priority ASC");
967
968 Query q = session.createQuery(query.toString());
969
970 QueryPos qPos = QueryPos.getInstance(q);
971
972 qPos.add(groupId);
973
974 qPos.add(privateLayout);
975
976 List<Layout> list = q.list();
977
978 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
979 finderClassName, finderMethodName, finderParams,
980 finderArgs, list);
981
982 return list;
983 }
984 catch (Exception e) {
985 throw processException(e);
986 }
987 finally {
988 closeSession(session);
989 }
990 }
991 else {
992 return (List<Layout>)result;
993 }
994 }
995
996 public List<Layout> findByG_P(long groupId, boolean privateLayout,
997 int start, int end) throws SystemException {
998 return findByG_P(groupId, privateLayout, start, end, null);
999 }
1000
1001 public List<Layout> findByG_P(long groupId, boolean privateLayout,
1002 int start, int end, OrderByComparator obc) throws SystemException {
1003 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1004 String finderClassName = Layout.class.getName();
1005 String finderMethodName = "findByG_P";
1006 String[] finderParams = new String[] {
1007 Long.class.getName(), Boolean.class.getName(),
1008
1009 "java.lang.Integer", "java.lang.Integer",
1010 "com.liferay.portal.kernel.util.OrderByComparator"
1011 };
1012 Object[] finderArgs = new Object[] {
1013 new Long(groupId), Boolean.valueOf(privateLayout),
1014
1015 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1016 };
1017
1018 Object result = null;
1019
1020 if (finderClassNameCacheEnabled) {
1021 result = FinderCacheUtil.getResult(finderClassName,
1022 finderMethodName, finderParams, finderArgs, this);
1023 }
1024
1025 if (result == null) {
1026 Session session = null;
1027
1028 try {
1029 session = openSession();
1030
1031 StringBuilder query = new StringBuilder();
1032
1033 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1034
1035 query.append("groupId = ?");
1036
1037 query.append(" AND ");
1038
1039 query.append("privateLayout = ?");
1040
1041 query.append(" ");
1042
1043 if (obc != null) {
1044 query.append("ORDER BY ");
1045 query.append(obc.getOrderBy());
1046 }
1047
1048 else {
1049 query.append("ORDER BY ");
1050
1051 query.append("parentLayoutId ASC, ");
1052 query.append("priority ASC");
1053 }
1054
1055 Query q = session.createQuery(query.toString());
1056
1057 QueryPos qPos = QueryPos.getInstance(q);
1058
1059 qPos.add(groupId);
1060
1061 qPos.add(privateLayout);
1062
1063 List<Layout> list = (List<Layout>)QueryUtil.list(q,
1064 getDialect(), start, end);
1065
1066 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1067 finderClassName, finderMethodName, finderParams,
1068 finderArgs, list);
1069
1070 return list;
1071 }
1072 catch (Exception e) {
1073 throw processException(e);
1074 }
1075 finally {
1076 closeSession(session);
1077 }
1078 }
1079 else {
1080 return (List<Layout>)result;
1081 }
1082 }
1083
1084 public Layout findByG_P_First(long groupId, boolean privateLayout,
1085 OrderByComparator obc) throws NoSuchLayoutException, SystemException {
1086 List<Layout> list = findByG_P(groupId, privateLayout, 0, 1, obc);
1087
1088 if (list.size() == 0) {
1089 StringBuilder msg = new StringBuilder();
1090
1091 msg.append("No Layout exists with the key {");
1092
1093 msg.append("groupId=" + groupId);
1094
1095 msg.append(", ");
1096 msg.append("privateLayout=" + privateLayout);
1097
1098 msg.append(StringPool.CLOSE_CURLY_BRACE);
1099
1100 throw new NoSuchLayoutException(msg.toString());
1101 }
1102 else {
1103 return list.get(0);
1104 }
1105 }
1106
1107 public Layout findByG_P_Last(long groupId, boolean privateLayout,
1108 OrderByComparator obc) throws NoSuchLayoutException, SystemException {
1109 int count = countByG_P(groupId, privateLayout);
1110
1111 List<Layout> list = findByG_P(groupId, privateLayout, count - 1, count,
1112 obc);
1113
1114 if (list.size() == 0) {
1115 StringBuilder msg = new StringBuilder();
1116
1117 msg.append("No Layout exists with the key {");
1118
1119 msg.append("groupId=" + groupId);
1120
1121 msg.append(", ");
1122 msg.append("privateLayout=" + privateLayout);
1123
1124 msg.append(StringPool.CLOSE_CURLY_BRACE);
1125
1126 throw new NoSuchLayoutException(msg.toString());
1127 }
1128 else {
1129 return list.get(0);
1130 }
1131 }
1132
1133 public Layout[] findByG_P_PrevAndNext(long plid, long groupId,
1134 boolean privateLayout, OrderByComparator obc)
1135 throws NoSuchLayoutException, SystemException {
1136 Layout layout = findByPrimaryKey(plid);
1137
1138 int count = countByG_P(groupId, privateLayout);
1139
1140 Session session = null;
1141
1142 try {
1143 session = openSession();
1144
1145 StringBuilder query = new StringBuilder();
1146
1147 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1148
1149 query.append("groupId = ?");
1150
1151 query.append(" AND ");
1152
1153 query.append("privateLayout = ?");
1154
1155 query.append(" ");
1156
1157 if (obc != null) {
1158 query.append("ORDER BY ");
1159 query.append(obc.getOrderBy());
1160 }
1161
1162 else {
1163 query.append("ORDER BY ");
1164
1165 query.append("parentLayoutId ASC, ");
1166 query.append("priority ASC");
1167 }
1168
1169 Query q = session.createQuery(query.toString());
1170
1171 QueryPos qPos = QueryPos.getInstance(q);
1172
1173 qPos.add(groupId);
1174
1175 qPos.add(privateLayout);
1176
1177 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, layout);
1178
1179 Layout[] array = new LayoutImpl[3];
1180
1181 array[0] = (Layout)objArray[0];
1182 array[1] = (Layout)objArray[1];
1183 array[2] = (Layout)objArray[2];
1184
1185 return array;
1186 }
1187 catch (Exception e) {
1188 throw processException(e);
1189 }
1190 finally {
1191 closeSession(session);
1192 }
1193 }
1194
1195 public Layout findByG_P_L(long groupId, boolean privateLayout, long layoutId)
1196 throws NoSuchLayoutException, SystemException {
1197 Layout layout = fetchByG_P_L(groupId, privateLayout, layoutId);
1198
1199 if (layout == null) {
1200 StringBuilder msg = new StringBuilder();
1201
1202 msg.append("No Layout exists with the key {");
1203
1204 msg.append("groupId=" + groupId);
1205
1206 msg.append(", ");
1207 msg.append("privateLayout=" + privateLayout);
1208
1209 msg.append(", ");
1210 msg.append("layoutId=" + layoutId);
1211
1212 msg.append(StringPool.CLOSE_CURLY_BRACE);
1213
1214 if (_log.isWarnEnabled()) {
1215 _log.warn(msg.toString());
1216 }
1217
1218 throw new NoSuchLayoutException(msg.toString());
1219 }
1220
1221 return layout;
1222 }
1223
1224 public Layout fetchByG_P_L(long groupId, boolean privateLayout,
1225 long layoutId) throws SystemException {
1226 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1227 String finderClassName = Layout.class.getName();
1228 String finderMethodName = "fetchByG_P_L";
1229 String[] finderParams = new String[] {
1230 Long.class.getName(), Boolean.class.getName(),
1231 Long.class.getName()
1232 };
1233 Object[] finderArgs = new Object[] {
1234 new Long(groupId), Boolean.valueOf(privateLayout),
1235 new Long(layoutId)
1236 };
1237
1238 Object result = null;
1239
1240 if (finderClassNameCacheEnabled) {
1241 result = FinderCacheUtil.getResult(finderClassName,
1242 finderMethodName, finderParams, finderArgs, this);
1243 }
1244
1245 if (result == null) {
1246 Session session = null;
1247
1248 try {
1249 session = openSession();
1250
1251 StringBuilder query = new StringBuilder();
1252
1253 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1254
1255 query.append("groupId = ?");
1256
1257 query.append(" AND ");
1258
1259 query.append("privateLayout = ?");
1260
1261 query.append(" AND ");
1262
1263 query.append("layoutId = ?");
1264
1265 query.append(" ");
1266
1267 query.append("ORDER BY ");
1268
1269 query.append("parentLayoutId ASC, ");
1270 query.append("priority ASC");
1271
1272 Query q = session.createQuery(query.toString());
1273
1274 QueryPos qPos = QueryPos.getInstance(q);
1275
1276 qPos.add(groupId);
1277
1278 qPos.add(privateLayout);
1279
1280 qPos.add(layoutId);
1281
1282 List<Layout> list = q.list();
1283
1284 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1285 finderClassName, finderMethodName, finderParams,
1286 finderArgs, list);
1287
1288 if (list.size() == 0) {
1289 return null;
1290 }
1291 else {
1292 return list.get(0);
1293 }
1294 }
1295 catch (Exception e) {
1296 throw processException(e);
1297 }
1298 finally {
1299 closeSession(session);
1300 }
1301 }
1302 else {
1303 List<Layout> list = (List<Layout>)result;
1304
1305 if (list.size() == 0) {
1306 return null;
1307 }
1308 else {
1309 return list.get(0);
1310 }
1311 }
1312 }
1313
1314 public List<Layout> findByG_P_P(long groupId, boolean privateLayout,
1315 long parentLayoutId) throws SystemException {
1316 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1317 String finderClassName = Layout.class.getName();
1318 String finderMethodName = "findByG_P_P";
1319 String[] finderParams = new String[] {
1320 Long.class.getName(), Boolean.class.getName(),
1321 Long.class.getName()
1322 };
1323 Object[] finderArgs = new Object[] {
1324 new Long(groupId), Boolean.valueOf(privateLayout),
1325 new Long(parentLayoutId)
1326 };
1327
1328 Object result = null;
1329
1330 if (finderClassNameCacheEnabled) {
1331 result = FinderCacheUtil.getResult(finderClassName,
1332 finderMethodName, finderParams, finderArgs, this);
1333 }
1334
1335 if (result == null) {
1336 Session session = null;
1337
1338 try {
1339 session = openSession();
1340
1341 StringBuilder query = new StringBuilder();
1342
1343 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1344
1345 query.append("groupId = ?");
1346
1347 query.append(" AND ");
1348
1349 query.append("privateLayout = ?");
1350
1351 query.append(" AND ");
1352
1353 query.append("parentLayoutId = ?");
1354
1355 query.append(" ");
1356
1357 query.append("ORDER BY ");
1358
1359 query.append("parentLayoutId ASC, ");
1360 query.append("priority ASC");
1361
1362 Query q = session.createQuery(query.toString());
1363
1364 QueryPos qPos = QueryPos.getInstance(q);
1365
1366 qPos.add(groupId);
1367
1368 qPos.add(privateLayout);
1369
1370 qPos.add(parentLayoutId);
1371
1372 List<Layout> list = q.list();
1373
1374 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1375 finderClassName, finderMethodName, finderParams,
1376 finderArgs, list);
1377
1378 return list;
1379 }
1380 catch (Exception e) {
1381 throw processException(e);
1382 }
1383 finally {
1384 closeSession(session);
1385 }
1386 }
1387 else {
1388 return (List<Layout>)result;
1389 }
1390 }
1391
1392 public List<Layout> findByG_P_P(long groupId, boolean privateLayout,
1393 long parentLayoutId, int start, int end) throws SystemException {
1394 return findByG_P_P(groupId, privateLayout, parentLayoutId, start, end,
1395 null);
1396 }
1397
1398 public List<Layout> findByG_P_P(long groupId, boolean privateLayout,
1399 long parentLayoutId, int start, int end, OrderByComparator obc)
1400 throws SystemException {
1401 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1402 String finderClassName = Layout.class.getName();
1403 String finderMethodName = "findByG_P_P";
1404 String[] finderParams = new String[] {
1405 Long.class.getName(), Boolean.class.getName(),
1406 Long.class.getName(),
1407
1408 "java.lang.Integer", "java.lang.Integer",
1409 "com.liferay.portal.kernel.util.OrderByComparator"
1410 };
1411 Object[] finderArgs = new Object[] {
1412 new Long(groupId), Boolean.valueOf(privateLayout),
1413 new Long(parentLayoutId),
1414
1415 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1416 };
1417
1418 Object result = null;
1419
1420 if (finderClassNameCacheEnabled) {
1421 result = FinderCacheUtil.getResult(finderClassName,
1422 finderMethodName, finderParams, finderArgs, this);
1423 }
1424
1425 if (result == null) {
1426 Session session = null;
1427
1428 try {
1429 session = openSession();
1430
1431 StringBuilder query = new StringBuilder();
1432
1433 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1434
1435 query.append("groupId = ?");
1436
1437 query.append(" AND ");
1438
1439 query.append("privateLayout = ?");
1440
1441 query.append(" AND ");
1442
1443 query.append("parentLayoutId = ?");
1444
1445 query.append(" ");
1446
1447 if (obc != null) {
1448 query.append("ORDER BY ");
1449 query.append(obc.getOrderBy());
1450 }
1451
1452 else {
1453 query.append("ORDER BY ");
1454
1455 query.append("parentLayoutId ASC, ");
1456 query.append("priority ASC");
1457 }
1458
1459 Query q = session.createQuery(query.toString());
1460
1461 QueryPos qPos = QueryPos.getInstance(q);
1462
1463 qPos.add(groupId);
1464
1465 qPos.add(privateLayout);
1466
1467 qPos.add(parentLayoutId);
1468
1469 List<Layout> list = (List<Layout>)QueryUtil.list(q,
1470 getDialect(), start, end);
1471
1472 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1473 finderClassName, finderMethodName, finderParams,
1474 finderArgs, list);
1475
1476 return list;
1477 }
1478 catch (Exception e) {
1479 throw processException(e);
1480 }
1481 finally {
1482 closeSession(session);
1483 }
1484 }
1485 else {
1486 return (List<Layout>)result;
1487 }
1488 }
1489
1490 public Layout findByG_P_P_First(long groupId, boolean privateLayout,
1491 long parentLayoutId, OrderByComparator obc)
1492 throws NoSuchLayoutException, SystemException {
1493 List<Layout> list = findByG_P_P(groupId, privateLayout, parentLayoutId,
1494 0, 1, obc);
1495
1496 if (list.size() == 0) {
1497 StringBuilder msg = new StringBuilder();
1498
1499 msg.append("No Layout exists with the key {");
1500
1501 msg.append("groupId=" + groupId);
1502
1503 msg.append(", ");
1504 msg.append("privateLayout=" + privateLayout);
1505
1506 msg.append(", ");
1507 msg.append("parentLayoutId=" + parentLayoutId);
1508
1509 msg.append(StringPool.CLOSE_CURLY_BRACE);
1510
1511 throw new NoSuchLayoutException(msg.toString());
1512 }
1513 else {
1514 return list.get(0);
1515 }
1516 }
1517
1518 public Layout findByG_P_P_Last(long groupId, boolean privateLayout,
1519 long parentLayoutId, OrderByComparator obc)
1520 throws NoSuchLayoutException, SystemException {
1521 int count = countByG_P_P(groupId, privateLayout, parentLayoutId);
1522
1523 List<Layout> list = findByG_P_P(groupId, privateLayout, parentLayoutId,
1524 count - 1, count, obc);
1525
1526 if (list.size() == 0) {
1527 StringBuilder msg = new StringBuilder();
1528
1529 msg.append("No Layout exists with the key {");
1530
1531 msg.append("groupId=" + groupId);
1532
1533 msg.append(", ");
1534 msg.append("privateLayout=" + privateLayout);
1535
1536 msg.append(", ");
1537 msg.append("parentLayoutId=" + parentLayoutId);
1538
1539 msg.append(StringPool.CLOSE_CURLY_BRACE);
1540
1541 throw new NoSuchLayoutException(msg.toString());
1542 }
1543 else {
1544 return list.get(0);
1545 }
1546 }
1547
1548 public Layout[] findByG_P_P_PrevAndNext(long plid, long groupId,
1549 boolean privateLayout, long parentLayoutId, OrderByComparator obc)
1550 throws NoSuchLayoutException, SystemException {
1551 Layout layout = findByPrimaryKey(plid);
1552
1553 int count = countByG_P_P(groupId, privateLayout, parentLayoutId);
1554
1555 Session session = null;
1556
1557 try {
1558 session = openSession();
1559
1560 StringBuilder query = new StringBuilder();
1561
1562 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1563
1564 query.append("groupId = ?");
1565
1566 query.append(" AND ");
1567
1568 query.append("privateLayout = ?");
1569
1570 query.append(" AND ");
1571
1572 query.append("parentLayoutId = ?");
1573
1574 query.append(" ");
1575
1576 if (obc != null) {
1577 query.append("ORDER BY ");
1578 query.append(obc.getOrderBy());
1579 }
1580
1581 else {
1582 query.append("ORDER BY ");
1583
1584 query.append("parentLayoutId ASC, ");
1585 query.append("priority ASC");
1586 }
1587
1588 Query q = session.createQuery(query.toString());
1589
1590 QueryPos qPos = QueryPos.getInstance(q);
1591
1592 qPos.add(groupId);
1593
1594 qPos.add(privateLayout);
1595
1596 qPos.add(parentLayoutId);
1597
1598 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, layout);
1599
1600 Layout[] array = new LayoutImpl[3];
1601
1602 array[0] = (Layout)objArray[0];
1603 array[1] = (Layout)objArray[1];
1604 array[2] = (Layout)objArray[2];
1605
1606 return array;
1607 }
1608 catch (Exception e) {
1609 throw processException(e);
1610 }
1611 finally {
1612 closeSession(session);
1613 }
1614 }
1615
1616 public Layout findByG_P_F(long groupId, boolean privateLayout,
1617 String friendlyURL) throws NoSuchLayoutException, SystemException {
1618 Layout layout = fetchByG_P_F(groupId, privateLayout, friendlyURL);
1619
1620 if (layout == null) {
1621 StringBuilder msg = new StringBuilder();
1622
1623 msg.append("No Layout exists with the key {");
1624
1625 msg.append("groupId=" + groupId);
1626
1627 msg.append(", ");
1628 msg.append("privateLayout=" + privateLayout);
1629
1630 msg.append(", ");
1631 msg.append("friendlyURL=" + friendlyURL);
1632
1633 msg.append(StringPool.CLOSE_CURLY_BRACE);
1634
1635 if (_log.isWarnEnabled()) {
1636 _log.warn(msg.toString());
1637 }
1638
1639 throw new NoSuchLayoutException(msg.toString());
1640 }
1641
1642 return layout;
1643 }
1644
1645 public Layout fetchByG_P_F(long groupId, boolean privateLayout,
1646 String friendlyURL) throws SystemException {
1647 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1648 String finderClassName = Layout.class.getName();
1649 String finderMethodName = "fetchByG_P_F";
1650 String[] finderParams = new String[] {
1651 Long.class.getName(), Boolean.class.getName(),
1652 String.class.getName()
1653 };
1654 Object[] finderArgs = new Object[] {
1655 new Long(groupId), Boolean.valueOf(privateLayout),
1656
1657 friendlyURL
1658 };
1659
1660 Object result = null;
1661
1662 if (finderClassNameCacheEnabled) {
1663 result = FinderCacheUtil.getResult(finderClassName,
1664 finderMethodName, finderParams, finderArgs, this);
1665 }
1666
1667 if (result == null) {
1668 Session session = null;
1669
1670 try {
1671 session = openSession();
1672
1673 StringBuilder query = new StringBuilder();
1674
1675 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1676
1677 query.append("groupId = ?");
1678
1679 query.append(" AND ");
1680
1681 query.append("privateLayout = ?");
1682
1683 query.append(" AND ");
1684
1685 if (friendlyURL == null) {
1686 query.append("friendlyURL IS NULL");
1687 }
1688 else {
1689 query.append("lower(friendlyURL) = ?");
1690 }
1691
1692 query.append(" ");
1693
1694 query.append("ORDER BY ");
1695
1696 query.append("parentLayoutId ASC, ");
1697 query.append("priority ASC");
1698
1699 Query q = session.createQuery(query.toString());
1700
1701 QueryPos qPos = QueryPos.getInstance(q);
1702
1703 qPos.add(groupId);
1704
1705 qPos.add(privateLayout);
1706
1707 if (friendlyURL != null) {
1708 qPos.add(friendlyURL);
1709 }
1710
1711 List<Layout> list = q.list();
1712
1713 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1714 finderClassName, finderMethodName, finderParams,
1715 finderArgs, list);
1716
1717 if (list.size() == 0) {
1718 return null;
1719 }
1720 else {
1721 return list.get(0);
1722 }
1723 }
1724 catch (Exception e) {
1725 throw processException(e);
1726 }
1727 finally {
1728 closeSession(session);
1729 }
1730 }
1731 else {
1732 List<Layout> list = (List<Layout>)result;
1733
1734 if (list.size() == 0) {
1735 return null;
1736 }
1737 else {
1738 return list.get(0);
1739 }
1740 }
1741 }
1742
1743 public List<Layout> findByG_P_T(long groupId, boolean privateLayout,
1744 String type) throws SystemException {
1745 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1746 String finderClassName = Layout.class.getName();
1747 String finderMethodName = "findByG_P_T";
1748 String[] finderParams = new String[] {
1749 Long.class.getName(), Boolean.class.getName(),
1750 String.class.getName()
1751 };
1752 Object[] finderArgs = new Object[] {
1753 new Long(groupId), Boolean.valueOf(privateLayout),
1754
1755 type
1756 };
1757
1758 Object result = null;
1759
1760 if (finderClassNameCacheEnabled) {
1761 result = FinderCacheUtil.getResult(finderClassName,
1762 finderMethodName, finderParams, finderArgs, this);
1763 }
1764
1765 if (result == null) {
1766 Session session = null;
1767
1768 try {
1769 session = openSession();
1770
1771 StringBuilder query = new StringBuilder();
1772
1773 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1774
1775 query.append("groupId = ?");
1776
1777 query.append(" AND ");
1778
1779 query.append("privateLayout = ?");
1780
1781 query.append(" AND ");
1782
1783 if (type == null) {
1784 query.append("type_ IS NULL");
1785 }
1786 else {
1787 query.append("type_ = ?");
1788 }
1789
1790 query.append(" ");
1791
1792 query.append("ORDER BY ");
1793
1794 query.append("parentLayoutId ASC, ");
1795 query.append("priority ASC");
1796
1797 Query q = session.createQuery(query.toString());
1798
1799 QueryPos qPos = QueryPos.getInstance(q);
1800
1801 qPos.add(groupId);
1802
1803 qPos.add(privateLayout);
1804
1805 if (type != null) {
1806 qPos.add(type);
1807 }
1808
1809 List<Layout> list = q.list();
1810
1811 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1812 finderClassName, finderMethodName, finderParams,
1813 finderArgs, list);
1814
1815 return list;
1816 }
1817 catch (Exception e) {
1818 throw processException(e);
1819 }
1820 finally {
1821 closeSession(session);
1822 }
1823 }
1824 else {
1825 return (List<Layout>)result;
1826 }
1827 }
1828
1829 public List<Layout> findByG_P_T(long groupId, boolean privateLayout,
1830 String type, int start, int end) throws SystemException {
1831 return findByG_P_T(groupId, privateLayout, type, start, end, null);
1832 }
1833
1834 public List<Layout> findByG_P_T(long groupId, boolean privateLayout,
1835 String type, int start, int end, OrderByComparator obc)
1836 throws SystemException {
1837 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
1838 String finderClassName = Layout.class.getName();
1839 String finderMethodName = "findByG_P_T";
1840 String[] finderParams = new String[] {
1841 Long.class.getName(), Boolean.class.getName(),
1842 String.class.getName(),
1843
1844 "java.lang.Integer", "java.lang.Integer",
1845 "com.liferay.portal.kernel.util.OrderByComparator"
1846 };
1847 Object[] finderArgs = new Object[] {
1848 new Long(groupId), Boolean.valueOf(privateLayout),
1849
1850 type,
1851
1852 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1853 };
1854
1855 Object result = null;
1856
1857 if (finderClassNameCacheEnabled) {
1858 result = FinderCacheUtil.getResult(finderClassName,
1859 finderMethodName, finderParams, finderArgs, this);
1860 }
1861
1862 if (result == null) {
1863 Session session = null;
1864
1865 try {
1866 session = openSession();
1867
1868 StringBuilder query = new StringBuilder();
1869
1870 query.append("FROM com.liferay.portal.model.Layout WHERE ");
1871
1872 query.append("groupId = ?");
1873
1874 query.append(" AND ");
1875
1876 query.append("privateLayout = ?");
1877
1878 query.append(" AND ");
1879
1880 if (type == null) {
1881 query.append("type_ IS NULL");
1882 }
1883 else {
1884 query.append("type_ = ?");
1885 }
1886
1887 query.append(" ");
1888
1889 if (obc != null) {
1890 query.append("ORDER BY ");
1891 query.append(obc.getOrderBy());
1892 }
1893
1894 else {
1895 query.append("ORDER BY ");
1896
1897 query.append("parentLayoutId ASC, ");
1898 query.append("priority ASC");
1899 }
1900
1901 Query q = session.createQuery(query.toString());
1902
1903 QueryPos qPos = QueryPos.getInstance(q);
1904
1905 qPos.add(groupId);
1906
1907 qPos.add(privateLayout);
1908
1909 if (type != null) {
1910 qPos.add(type);
1911 }
1912
1913 List<Layout> list = (List<Layout>)QueryUtil.list(q,
1914 getDialect(), start, end);
1915
1916 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
1917 finderClassName, finderMethodName, finderParams,
1918 finderArgs, list);
1919
1920 return list;
1921 }
1922 catch (Exception e) {
1923 throw processException(e);
1924 }
1925 finally {
1926 closeSession(session);
1927 }
1928 }
1929 else {
1930 return (List<Layout>)result;
1931 }
1932 }
1933
1934 public Layout findByG_P_T_First(long groupId, boolean privateLayout,
1935 String type, OrderByComparator obc)
1936 throws NoSuchLayoutException, SystemException {
1937 List<Layout> list = findByG_P_T(groupId, privateLayout, type, 0, 1, obc);
1938
1939 if (list.size() == 0) {
1940 StringBuilder msg = new StringBuilder();
1941
1942 msg.append("No Layout exists with the key {");
1943
1944 msg.append("groupId=" + groupId);
1945
1946 msg.append(", ");
1947 msg.append("privateLayout=" + privateLayout);
1948
1949 msg.append(", ");
1950 msg.append("type=" + type);
1951
1952 msg.append(StringPool.CLOSE_CURLY_BRACE);
1953
1954 throw new NoSuchLayoutException(msg.toString());
1955 }
1956 else {
1957 return list.get(0);
1958 }
1959 }
1960
1961 public Layout findByG_P_T_Last(long groupId, boolean privateLayout,
1962 String type, OrderByComparator obc)
1963 throws NoSuchLayoutException, SystemException {
1964 int count = countByG_P_T(groupId, privateLayout, type);
1965
1966 List<Layout> list = findByG_P_T(groupId, privateLayout, type,
1967 count - 1, count, obc);
1968
1969 if (list.size() == 0) {
1970 StringBuilder msg = new StringBuilder();
1971
1972 msg.append("No Layout exists with the key {");
1973
1974 msg.append("groupId=" + groupId);
1975
1976 msg.append(", ");
1977 msg.append("privateLayout=" + privateLayout);
1978
1979 msg.append(", ");
1980 msg.append("type=" + type);
1981
1982 msg.append(StringPool.CLOSE_CURLY_BRACE);
1983
1984 throw new NoSuchLayoutException(msg.toString());
1985 }
1986 else {
1987 return list.get(0);
1988 }
1989 }
1990
1991 public Layout[] findByG_P_T_PrevAndNext(long plid, long groupId,
1992 boolean privateLayout, String type, OrderByComparator obc)
1993 throws NoSuchLayoutException, SystemException {
1994 Layout layout = findByPrimaryKey(plid);
1995
1996 int count = countByG_P_T(groupId, privateLayout, type);
1997
1998 Session session = null;
1999
2000 try {
2001 session = openSession();
2002
2003 StringBuilder query = new StringBuilder();
2004
2005 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2006
2007 query.append("groupId = ?");
2008
2009 query.append(" AND ");
2010
2011 query.append("privateLayout = ?");
2012
2013 query.append(" AND ");
2014
2015 if (type == null) {
2016 query.append("type_ IS NULL");
2017 }
2018 else {
2019 query.append("type_ = ?");
2020 }
2021
2022 query.append(" ");
2023
2024 if (obc != null) {
2025 query.append("ORDER BY ");
2026 query.append(obc.getOrderBy());
2027 }
2028
2029 else {
2030 query.append("ORDER BY ");
2031
2032 query.append("parentLayoutId ASC, ");
2033 query.append("priority ASC");
2034 }
2035
2036 Query q = session.createQuery(query.toString());
2037
2038 QueryPos qPos = QueryPos.getInstance(q);
2039
2040 qPos.add(groupId);
2041
2042 qPos.add(privateLayout);
2043
2044 if (type != null) {
2045 qPos.add(type);
2046 }
2047
2048 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, layout);
2049
2050 Layout[] array = new LayoutImpl[3];
2051
2052 array[0] = (Layout)objArray[0];
2053 array[1] = (Layout)objArray[1];
2054 array[2] = (Layout)objArray[2];
2055
2056 return array;
2057 }
2058 catch (Exception e) {
2059 throw processException(e);
2060 }
2061 finally {
2062 closeSession(session);
2063 }
2064 }
2065
2066 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
2067 throws SystemException {
2068 Session session = null;
2069
2070 try {
2071 session = openSession();
2072
2073 dynamicQuery.compile(session);
2074
2075 return dynamicQuery.list();
2076 }
2077 catch (Exception e) {
2078 throw processException(e);
2079 }
2080 finally {
2081 closeSession(session);
2082 }
2083 }
2084
2085 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
2086 int start, int end) throws SystemException {
2087 Session session = null;
2088
2089 try {
2090 session = openSession();
2091
2092 dynamicQuery.setLimit(start, end);
2093
2094 dynamicQuery.compile(session);
2095
2096 return dynamicQuery.list();
2097 }
2098 catch (Exception e) {
2099 throw processException(e);
2100 }
2101 finally {
2102 closeSession(session);
2103 }
2104 }
2105
2106 public List<Layout> findAll() throws SystemException {
2107 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
2108 }
2109
2110 public List<Layout> findAll(int start, int end) throws SystemException {
2111 return findAll(start, end, null);
2112 }
2113
2114 public List<Layout> findAll(int start, int end, OrderByComparator obc)
2115 throws SystemException {
2116 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2117 String finderClassName = Layout.class.getName();
2118 String finderMethodName = "findAll";
2119 String[] finderParams = new String[] {
2120 "java.lang.Integer", "java.lang.Integer",
2121 "com.liferay.portal.kernel.util.OrderByComparator"
2122 };
2123 Object[] finderArgs = new Object[] {
2124 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
2125 };
2126
2127 Object result = null;
2128
2129 if (finderClassNameCacheEnabled) {
2130 result = FinderCacheUtil.getResult(finderClassName,
2131 finderMethodName, finderParams, finderArgs, this);
2132 }
2133
2134 if (result == null) {
2135 Session session = null;
2136
2137 try {
2138 session = openSession();
2139
2140 StringBuilder query = new StringBuilder();
2141
2142 query.append("FROM com.liferay.portal.model.Layout ");
2143
2144 if (obc != null) {
2145 query.append("ORDER BY ");
2146 query.append(obc.getOrderBy());
2147 }
2148
2149 else {
2150 query.append("ORDER BY ");
2151
2152 query.append("parentLayoutId ASC, ");
2153 query.append("priority ASC");
2154 }
2155
2156 Query q = session.createQuery(query.toString());
2157
2158 List<Layout> list = null;
2159
2160 if (obc == null) {
2161 list = (List<Layout>)QueryUtil.list(q, getDialect(), start,
2162 end, false);
2163
2164 Collections.sort(list);
2165 }
2166 else {
2167 list = (List<Layout>)QueryUtil.list(q, getDialect(), start,
2168 end);
2169 }
2170
2171 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2172 finderClassName, finderMethodName, finderParams,
2173 finderArgs, list);
2174
2175 return list;
2176 }
2177 catch (Exception e) {
2178 throw processException(e);
2179 }
2180 finally {
2181 closeSession(session);
2182 }
2183 }
2184 else {
2185 return (List<Layout>)result;
2186 }
2187 }
2188
2189 public void removeByGroupId(long groupId) throws SystemException {
2190 for (Layout layout : findByGroupId(groupId)) {
2191 remove(layout);
2192 }
2193 }
2194
2195 public void removeByCompanyId(long companyId) throws SystemException {
2196 for (Layout layout : findByCompanyId(companyId)) {
2197 remove(layout);
2198 }
2199 }
2200
2201 public void removeByDLFolderId(long dlFolderId)
2202 throws NoSuchLayoutException, SystemException {
2203 Layout layout = findByDLFolderId(dlFolderId);
2204
2205 remove(layout);
2206 }
2207
2208 public void removeByIconImageId(long iconImageId)
2209 throws NoSuchLayoutException, SystemException {
2210 Layout layout = findByIconImageId(iconImageId);
2211
2212 remove(layout);
2213 }
2214
2215 public void removeByG_P(long groupId, boolean privateLayout)
2216 throws SystemException {
2217 for (Layout layout : findByG_P(groupId, privateLayout)) {
2218 remove(layout);
2219 }
2220 }
2221
2222 public void removeByG_P_L(long groupId, boolean privateLayout, long layoutId)
2223 throws NoSuchLayoutException, SystemException {
2224 Layout layout = findByG_P_L(groupId, privateLayout, layoutId);
2225
2226 remove(layout);
2227 }
2228
2229 public void removeByG_P_P(long groupId, boolean privateLayout,
2230 long parentLayoutId) throws SystemException {
2231 for (Layout layout : findByG_P_P(groupId, privateLayout, parentLayoutId)) {
2232 remove(layout);
2233 }
2234 }
2235
2236 public void removeByG_P_F(long groupId, boolean privateLayout,
2237 String friendlyURL) throws NoSuchLayoutException, SystemException {
2238 Layout layout = findByG_P_F(groupId, privateLayout, friendlyURL);
2239
2240 remove(layout);
2241 }
2242
2243 public void removeByG_P_T(long groupId, boolean privateLayout, String type)
2244 throws SystemException {
2245 for (Layout layout : findByG_P_T(groupId, privateLayout, type)) {
2246 remove(layout);
2247 }
2248 }
2249
2250 public void removeAll() throws SystemException {
2251 for (Layout layout : findAll()) {
2252 remove(layout);
2253 }
2254 }
2255
2256 public int countByGroupId(long groupId) throws SystemException {
2257 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2258 String finderClassName = Layout.class.getName();
2259 String finderMethodName = "countByGroupId";
2260 String[] finderParams = new String[] { Long.class.getName() };
2261 Object[] finderArgs = new Object[] { new Long(groupId) };
2262
2263 Object result = null;
2264
2265 if (finderClassNameCacheEnabled) {
2266 result = FinderCacheUtil.getResult(finderClassName,
2267 finderMethodName, finderParams, finderArgs, this);
2268 }
2269
2270 if (result == null) {
2271 Session session = null;
2272
2273 try {
2274 session = openSession();
2275
2276 StringBuilder query = new StringBuilder();
2277
2278 query.append("SELECT COUNT(*) ");
2279 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2280
2281 query.append("groupId = ?");
2282
2283 query.append(" ");
2284
2285 Query q = session.createQuery(query.toString());
2286
2287 QueryPos qPos = QueryPos.getInstance(q);
2288
2289 qPos.add(groupId);
2290
2291 Long count = null;
2292
2293 Iterator<Long> itr = q.list().iterator();
2294
2295 if (itr.hasNext()) {
2296 count = itr.next();
2297 }
2298
2299 if (count == null) {
2300 count = new Long(0);
2301 }
2302
2303 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2304 finderClassName, finderMethodName, finderParams,
2305 finderArgs, count);
2306
2307 return count.intValue();
2308 }
2309 catch (Exception e) {
2310 throw processException(e);
2311 }
2312 finally {
2313 closeSession(session);
2314 }
2315 }
2316 else {
2317 return ((Long)result).intValue();
2318 }
2319 }
2320
2321 public int countByCompanyId(long companyId) throws SystemException {
2322 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2323 String finderClassName = Layout.class.getName();
2324 String finderMethodName = "countByCompanyId";
2325 String[] finderParams = new String[] { Long.class.getName() };
2326 Object[] finderArgs = new Object[] { new Long(companyId) };
2327
2328 Object result = null;
2329
2330 if (finderClassNameCacheEnabled) {
2331 result = FinderCacheUtil.getResult(finderClassName,
2332 finderMethodName, finderParams, finderArgs, this);
2333 }
2334
2335 if (result == null) {
2336 Session session = null;
2337
2338 try {
2339 session = openSession();
2340
2341 StringBuilder query = new StringBuilder();
2342
2343 query.append("SELECT COUNT(*) ");
2344 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2345
2346 query.append("companyId = ?");
2347
2348 query.append(" ");
2349
2350 Query q = session.createQuery(query.toString());
2351
2352 QueryPos qPos = QueryPos.getInstance(q);
2353
2354 qPos.add(companyId);
2355
2356 Long count = null;
2357
2358 Iterator<Long> itr = q.list().iterator();
2359
2360 if (itr.hasNext()) {
2361 count = itr.next();
2362 }
2363
2364 if (count == null) {
2365 count = new Long(0);
2366 }
2367
2368 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2369 finderClassName, finderMethodName, finderParams,
2370 finderArgs, count);
2371
2372 return count.intValue();
2373 }
2374 catch (Exception e) {
2375 throw processException(e);
2376 }
2377 finally {
2378 closeSession(session);
2379 }
2380 }
2381 else {
2382 return ((Long)result).intValue();
2383 }
2384 }
2385
2386 public int countByDLFolderId(long dlFolderId) throws SystemException {
2387 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2388 String finderClassName = Layout.class.getName();
2389 String finderMethodName = "countByDLFolderId";
2390 String[] finderParams = new String[] { Long.class.getName() };
2391 Object[] finderArgs = new Object[] { new Long(dlFolderId) };
2392
2393 Object result = null;
2394
2395 if (finderClassNameCacheEnabled) {
2396 result = FinderCacheUtil.getResult(finderClassName,
2397 finderMethodName, finderParams, finderArgs, this);
2398 }
2399
2400 if (result == null) {
2401 Session session = null;
2402
2403 try {
2404 session = openSession();
2405
2406 StringBuilder query = new StringBuilder();
2407
2408 query.append("SELECT COUNT(*) ");
2409 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2410
2411 query.append("dlFolderId = ?");
2412
2413 query.append(" ");
2414
2415 Query q = session.createQuery(query.toString());
2416
2417 QueryPos qPos = QueryPos.getInstance(q);
2418
2419 qPos.add(dlFolderId);
2420
2421 Long count = null;
2422
2423 Iterator<Long> itr = q.list().iterator();
2424
2425 if (itr.hasNext()) {
2426 count = itr.next();
2427 }
2428
2429 if (count == null) {
2430 count = new Long(0);
2431 }
2432
2433 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2434 finderClassName, finderMethodName, finderParams,
2435 finderArgs, count);
2436
2437 return count.intValue();
2438 }
2439 catch (Exception e) {
2440 throw processException(e);
2441 }
2442 finally {
2443 closeSession(session);
2444 }
2445 }
2446 else {
2447 return ((Long)result).intValue();
2448 }
2449 }
2450
2451 public int countByIconImageId(long iconImageId) throws SystemException {
2452 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2453 String finderClassName = Layout.class.getName();
2454 String finderMethodName = "countByIconImageId";
2455 String[] finderParams = new String[] { Long.class.getName() };
2456 Object[] finderArgs = new Object[] { new Long(iconImageId) };
2457
2458 Object result = null;
2459
2460 if (finderClassNameCacheEnabled) {
2461 result = FinderCacheUtil.getResult(finderClassName,
2462 finderMethodName, finderParams, finderArgs, this);
2463 }
2464
2465 if (result == null) {
2466 Session session = null;
2467
2468 try {
2469 session = openSession();
2470
2471 StringBuilder query = new StringBuilder();
2472
2473 query.append("SELECT COUNT(*) ");
2474 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2475
2476 query.append("iconImageId = ?");
2477
2478 query.append(" ");
2479
2480 Query q = session.createQuery(query.toString());
2481
2482 QueryPos qPos = QueryPos.getInstance(q);
2483
2484 qPos.add(iconImageId);
2485
2486 Long count = null;
2487
2488 Iterator<Long> itr = q.list().iterator();
2489
2490 if (itr.hasNext()) {
2491 count = itr.next();
2492 }
2493
2494 if (count == null) {
2495 count = new Long(0);
2496 }
2497
2498 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2499 finderClassName, finderMethodName, finderParams,
2500 finderArgs, count);
2501
2502 return count.intValue();
2503 }
2504 catch (Exception e) {
2505 throw processException(e);
2506 }
2507 finally {
2508 closeSession(session);
2509 }
2510 }
2511 else {
2512 return ((Long)result).intValue();
2513 }
2514 }
2515
2516 public int countByG_P(long groupId, boolean privateLayout)
2517 throws SystemException {
2518 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2519 String finderClassName = Layout.class.getName();
2520 String finderMethodName = "countByG_P";
2521 String[] finderParams = new String[] {
2522 Long.class.getName(), Boolean.class.getName()
2523 };
2524 Object[] finderArgs = new Object[] {
2525 new Long(groupId), Boolean.valueOf(privateLayout)
2526 };
2527
2528 Object result = null;
2529
2530 if (finderClassNameCacheEnabled) {
2531 result = FinderCacheUtil.getResult(finderClassName,
2532 finderMethodName, finderParams, finderArgs, this);
2533 }
2534
2535 if (result == null) {
2536 Session session = null;
2537
2538 try {
2539 session = openSession();
2540
2541 StringBuilder query = new StringBuilder();
2542
2543 query.append("SELECT COUNT(*) ");
2544 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2545
2546 query.append("groupId = ?");
2547
2548 query.append(" AND ");
2549
2550 query.append("privateLayout = ?");
2551
2552 query.append(" ");
2553
2554 Query q = session.createQuery(query.toString());
2555
2556 QueryPos qPos = QueryPos.getInstance(q);
2557
2558 qPos.add(groupId);
2559
2560 qPos.add(privateLayout);
2561
2562 Long count = null;
2563
2564 Iterator<Long> itr = q.list().iterator();
2565
2566 if (itr.hasNext()) {
2567 count = itr.next();
2568 }
2569
2570 if (count == null) {
2571 count = new Long(0);
2572 }
2573
2574 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2575 finderClassName, finderMethodName, finderParams,
2576 finderArgs, count);
2577
2578 return count.intValue();
2579 }
2580 catch (Exception e) {
2581 throw processException(e);
2582 }
2583 finally {
2584 closeSession(session);
2585 }
2586 }
2587 else {
2588 return ((Long)result).intValue();
2589 }
2590 }
2591
2592 public int countByG_P_L(long groupId, boolean privateLayout, long layoutId)
2593 throws SystemException {
2594 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2595 String finderClassName = Layout.class.getName();
2596 String finderMethodName = "countByG_P_L";
2597 String[] finderParams = new String[] {
2598 Long.class.getName(), Boolean.class.getName(),
2599 Long.class.getName()
2600 };
2601 Object[] finderArgs = new Object[] {
2602 new Long(groupId), Boolean.valueOf(privateLayout),
2603 new Long(layoutId)
2604 };
2605
2606 Object result = null;
2607
2608 if (finderClassNameCacheEnabled) {
2609 result = FinderCacheUtil.getResult(finderClassName,
2610 finderMethodName, finderParams, finderArgs, this);
2611 }
2612
2613 if (result == null) {
2614 Session session = null;
2615
2616 try {
2617 session = openSession();
2618
2619 StringBuilder query = new StringBuilder();
2620
2621 query.append("SELECT COUNT(*) ");
2622 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2623
2624 query.append("groupId = ?");
2625
2626 query.append(" AND ");
2627
2628 query.append("privateLayout = ?");
2629
2630 query.append(" AND ");
2631
2632 query.append("layoutId = ?");
2633
2634 query.append(" ");
2635
2636 Query q = session.createQuery(query.toString());
2637
2638 QueryPos qPos = QueryPos.getInstance(q);
2639
2640 qPos.add(groupId);
2641
2642 qPos.add(privateLayout);
2643
2644 qPos.add(layoutId);
2645
2646 Long count = null;
2647
2648 Iterator<Long> itr = q.list().iterator();
2649
2650 if (itr.hasNext()) {
2651 count = itr.next();
2652 }
2653
2654 if (count == null) {
2655 count = new Long(0);
2656 }
2657
2658 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2659 finderClassName, finderMethodName, finderParams,
2660 finderArgs, count);
2661
2662 return count.intValue();
2663 }
2664 catch (Exception e) {
2665 throw processException(e);
2666 }
2667 finally {
2668 closeSession(session);
2669 }
2670 }
2671 else {
2672 return ((Long)result).intValue();
2673 }
2674 }
2675
2676 public int countByG_P_P(long groupId, boolean privateLayout,
2677 long parentLayoutId) throws SystemException {
2678 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2679 String finderClassName = Layout.class.getName();
2680 String finderMethodName = "countByG_P_P";
2681 String[] finderParams = new String[] {
2682 Long.class.getName(), Boolean.class.getName(),
2683 Long.class.getName()
2684 };
2685 Object[] finderArgs = new Object[] {
2686 new Long(groupId), Boolean.valueOf(privateLayout),
2687 new Long(parentLayoutId)
2688 };
2689
2690 Object result = null;
2691
2692 if (finderClassNameCacheEnabled) {
2693 result = FinderCacheUtil.getResult(finderClassName,
2694 finderMethodName, finderParams, finderArgs, this);
2695 }
2696
2697 if (result == null) {
2698 Session session = null;
2699
2700 try {
2701 session = openSession();
2702
2703 StringBuilder query = new StringBuilder();
2704
2705 query.append("SELECT COUNT(*) ");
2706 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2707
2708 query.append("groupId = ?");
2709
2710 query.append(" AND ");
2711
2712 query.append("privateLayout = ?");
2713
2714 query.append(" AND ");
2715
2716 query.append("parentLayoutId = ?");
2717
2718 query.append(" ");
2719
2720 Query q = session.createQuery(query.toString());
2721
2722 QueryPos qPos = QueryPos.getInstance(q);
2723
2724 qPos.add(groupId);
2725
2726 qPos.add(privateLayout);
2727
2728 qPos.add(parentLayoutId);
2729
2730 Long count = null;
2731
2732 Iterator<Long> itr = q.list().iterator();
2733
2734 if (itr.hasNext()) {
2735 count = itr.next();
2736 }
2737
2738 if (count == null) {
2739 count = new Long(0);
2740 }
2741
2742 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2743 finderClassName, finderMethodName, finderParams,
2744 finderArgs, count);
2745
2746 return count.intValue();
2747 }
2748 catch (Exception e) {
2749 throw processException(e);
2750 }
2751 finally {
2752 closeSession(session);
2753 }
2754 }
2755 else {
2756 return ((Long)result).intValue();
2757 }
2758 }
2759
2760 public int countByG_P_F(long groupId, boolean privateLayout,
2761 String friendlyURL) throws SystemException {
2762 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2763 String finderClassName = Layout.class.getName();
2764 String finderMethodName = "countByG_P_F";
2765 String[] finderParams = new String[] {
2766 Long.class.getName(), Boolean.class.getName(),
2767 String.class.getName()
2768 };
2769 Object[] finderArgs = new Object[] {
2770 new Long(groupId), Boolean.valueOf(privateLayout),
2771
2772 friendlyURL
2773 };
2774
2775 Object result = null;
2776
2777 if (finderClassNameCacheEnabled) {
2778 result = FinderCacheUtil.getResult(finderClassName,
2779 finderMethodName, finderParams, finderArgs, this);
2780 }
2781
2782 if (result == null) {
2783 Session session = null;
2784
2785 try {
2786 session = openSession();
2787
2788 StringBuilder query = new StringBuilder();
2789
2790 query.append("SELECT COUNT(*) ");
2791 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2792
2793 query.append("groupId = ?");
2794
2795 query.append(" AND ");
2796
2797 query.append("privateLayout = ?");
2798
2799 query.append(" AND ");
2800
2801 if (friendlyURL == null) {
2802 query.append("friendlyURL IS NULL");
2803 }
2804 else {
2805 query.append("lower(friendlyURL) = ?");
2806 }
2807
2808 query.append(" ");
2809
2810 Query q = session.createQuery(query.toString());
2811
2812 QueryPos qPos = QueryPos.getInstance(q);
2813
2814 qPos.add(groupId);
2815
2816 qPos.add(privateLayout);
2817
2818 if (friendlyURL != null) {
2819 qPos.add(friendlyURL);
2820 }
2821
2822 Long count = null;
2823
2824 Iterator<Long> itr = q.list().iterator();
2825
2826 if (itr.hasNext()) {
2827 count = itr.next();
2828 }
2829
2830 if (count == null) {
2831 count = new Long(0);
2832 }
2833
2834 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2835 finderClassName, finderMethodName, finderParams,
2836 finderArgs, count);
2837
2838 return count.intValue();
2839 }
2840 catch (Exception e) {
2841 throw processException(e);
2842 }
2843 finally {
2844 closeSession(session);
2845 }
2846 }
2847 else {
2848 return ((Long)result).intValue();
2849 }
2850 }
2851
2852 public int countByG_P_T(long groupId, boolean privateLayout, String type)
2853 throws SystemException {
2854 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2855 String finderClassName = Layout.class.getName();
2856 String finderMethodName = "countByG_P_T";
2857 String[] finderParams = new String[] {
2858 Long.class.getName(), Boolean.class.getName(),
2859 String.class.getName()
2860 };
2861 Object[] finderArgs = new Object[] {
2862 new Long(groupId), Boolean.valueOf(privateLayout),
2863
2864 type
2865 };
2866
2867 Object result = null;
2868
2869 if (finderClassNameCacheEnabled) {
2870 result = FinderCacheUtil.getResult(finderClassName,
2871 finderMethodName, finderParams, finderArgs, this);
2872 }
2873
2874 if (result == null) {
2875 Session session = null;
2876
2877 try {
2878 session = openSession();
2879
2880 StringBuilder query = new StringBuilder();
2881
2882 query.append("SELECT COUNT(*) ");
2883 query.append("FROM com.liferay.portal.model.Layout WHERE ");
2884
2885 query.append("groupId = ?");
2886
2887 query.append(" AND ");
2888
2889 query.append("privateLayout = ?");
2890
2891 query.append(" AND ");
2892
2893 if (type == null) {
2894 query.append("type_ IS NULL");
2895 }
2896 else {
2897 query.append("type_ = ?");
2898 }
2899
2900 query.append(" ");
2901
2902 Query q = session.createQuery(query.toString());
2903
2904 QueryPos qPos = QueryPos.getInstance(q);
2905
2906 qPos.add(groupId);
2907
2908 qPos.add(privateLayout);
2909
2910 if (type != null) {
2911 qPos.add(type);
2912 }
2913
2914 Long count = null;
2915
2916 Iterator<Long> itr = q.list().iterator();
2917
2918 if (itr.hasNext()) {
2919 count = itr.next();
2920 }
2921
2922 if (count == null) {
2923 count = new Long(0);
2924 }
2925
2926 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2927 finderClassName, finderMethodName, finderParams,
2928 finderArgs, count);
2929
2930 return count.intValue();
2931 }
2932 catch (Exception e) {
2933 throw processException(e);
2934 }
2935 finally {
2936 closeSession(session);
2937 }
2938 }
2939 else {
2940 return ((Long)result).intValue();
2941 }
2942 }
2943
2944 public int countAll() throws SystemException {
2945 boolean finderClassNameCacheEnabled = LayoutModelImpl.CACHE_ENABLED;
2946 String finderClassName = Layout.class.getName();
2947 String finderMethodName = "countAll";
2948 String[] finderParams = new String[] { };
2949 Object[] finderArgs = new Object[] { };
2950
2951 Object result = null;
2952
2953 if (finderClassNameCacheEnabled) {
2954 result = FinderCacheUtil.getResult(finderClassName,
2955 finderMethodName, finderParams, finderArgs, this);
2956 }
2957
2958 if (result == null) {
2959 Session session = null;
2960
2961 try {
2962 session = openSession();
2963
2964 Query q = session.createQuery(
2965 "SELECT COUNT(*) FROM com.liferay.portal.model.Layout");
2966
2967 Long count = null;
2968
2969 Iterator<Long> itr = q.list().iterator();
2970
2971 if (itr.hasNext()) {
2972 count = itr.next();
2973 }
2974
2975 if (count == null) {
2976 count = new Long(0);
2977 }
2978
2979 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
2980 finderClassName, finderMethodName, finderParams,
2981 finderArgs, count);
2982
2983 return count.intValue();
2984 }
2985 catch (Exception e) {
2986 throw processException(e);
2987 }
2988 finally {
2989 closeSession(session);
2990 }
2991 }
2992 else {
2993 return ((Long)result).intValue();
2994 }
2995 }
2996
2997 public void registerListener(ModelListener listener) {
2998 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
2999
3000 listeners.add(listener);
3001
3002 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
3003 }
3004
3005 public void unregisterListener(ModelListener listener) {
3006 List<ModelListener> listeners = ListUtil.fromArray(_listeners);
3007
3008 listeners.remove(listener);
3009
3010 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
3011 }
3012
3013 public void afterPropertiesSet() {
3014 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
3015 com.liferay.portal.util.PropsUtil.get(
3016 "value.object.listener.com.liferay.portal.model.Layout")));
3017
3018 if (listenerClassNames.length > 0) {
3019 try {
3020 List<ModelListener> listeners = new ArrayList<ModelListener>();
3021
3022 for (String listenerClassName : listenerClassNames) {
3023 listeners.add((ModelListener)Class.forName(
3024 listenerClassName).newInstance());
3025 }
3026
3027 _listeners = listeners.toArray(new ModelListener[listeners.size()]);
3028 }
3029 catch (Exception e) {
3030 _log.error(e);
3031 }
3032 }
3033 }
3034
3035 private static Log _log = LogFactory.getLog(LayoutPersistenceImpl.class);
3036 private ModelListener[] _listeners = new ModelListener[0];
3037}