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