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