1
22
23 package com.liferay.portal.service.persistence;
24
25 import com.liferay.portal.NoSuchResourcePermissionException;
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.ModelListener;
45 import com.liferay.portal.model.ResourcePermission;
46 import com.liferay.portal.model.impl.ResourcePermissionImpl;
47 import com.liferay.portal.model.impl.ResourcePermissionModelImpl;
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 ResourcePermissionPersistenceImpl extends BasePersistenceImpl
68 implements ResourcePermissionPersistence {
69 public static final String FINDER_CLASS_NAME_ENTITY = ResourcePermissionImpl.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_ROLEID = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
73 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
74 FINDER_CLASS_NAME_LIST, "findByRoleId",
75 new String[] { Long.class.getName() });
76 public static final FinderPath FINDER_PATH_FIND_BY_OBC_ROLEID = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
77 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
78 FINDER_CLASS_NAME_LIST, "findByRoleId",
79 new String[] {
80 Long.class.getName(),
81
82 "java.lang.Integer", "java.lang.Integer",
83 "com.liferay.portal.kernel.util.OrderByComparator"
84 });
85 public static final FinderPath FINDER_PATH_COUNT_BY_ROLEID = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
86 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
87 FINDER_CLASS_NAME_LIST, "countByRoleId",
88 new String[] { Long.class.getName() });
89 public static final FinderPath FINDER_PATH_FIND_BY_C_N_S = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
90 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
91 FINDER_CLASS_NAME_LIST, "findByC_N_S",
92 new String[] {
93 Long.class.getName(), String.class.getName(),
94 Integer.class.getName()
95 });
96 public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_N_S = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
97 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
98 FINDER_CLASS_NAME_LIST, "findByC_N_S",
99 new String[] {
100 Long.class.getName(), String.class.getName(),
101 Integer.class.getName(),
102
103 "java.lang.Integer", "java.lang.Integer",
104 "com.liferay.portal.kernel.util.OrderByComparator"
105 });
106 public static final FinderPath FINDER_PATH_COUNT_BY_C_N_S = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
107 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
108 FINDER_CLASS_NAME_LIST, "countByC_N_S",
109 new String[] {
110 Long.class.getName(), String.class.getName(),
111 Integer.class.getName()
112 });
113 public static final FinderPath FINDER_PATH_FIND_BY_C_N_S_P = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
114 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
115 FINDER_CLASS_NAME_LIST, "findByC_N_S_P",
116 new String[] {
117 Long.class.getName(), String.class.getName(),
118 Integer.class.getName(), String.class.getName()
119 });
120 public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_N_S_P = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
121 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
122 FINDER_CLASS_NAME_LIST, "findByC_N_S_P",
123 new String[] {
124 Long.class.getName(), String.class.getName(),
125 Integer.class.getName(), String.class.getName(),
126
127 "java.lang.Integer", "java.lang.Integer",
128 "com.liferay.portal.kernel.util.OrderByComparator"
129 });
130 public static final FinderPath FINDER_PATH_COUNT_BY_C_N_S_P = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
131 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
132 FINDER_CLASS_NAME_LIST, "countByC_N_S_P",
133 new String[] {
134 Long.class.getName(), String.class.getName(),
135 Integer.class.getName(), String.class.getName()
136 });
137 public static final FinderPath FINDER_PATH_FETCH_BY_C_N_S_P_R = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
138 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
139 FINDER_CLASS_NAME_ENTITY, "fetchByC_N_S_P_R",
140 new String[] {
141 Long.class.getName(), String.class.getName(),
142 Integer.class.getName(), String.class.getName(),
143 Long.class.getName()
144 });
145 public static final FinderPath FINDER_PATH_COUNT_BY_C_N_S_P_R = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
146 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
147 FINDER_CLASS_NAME_LIST, "countByC_N_S_P_R",
148 new String[] {
149 Long.class.getName(), String.class.getName(),
150 Integer.class.getName(), String.class.getName(),
151 Long.class.getName()
152 });
153 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
154 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
155 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
156 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
157 ResourcePermissionModelImpl.FINDER_CACHE_ENABLED,
158 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
159
160 public void cacheResult(ResourcePermission resourcePermission) {
161 EntityCacheUtil.putResult(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
162 ResourcePermissionImpl.class, resourcePermission.getPrimaryKey(),
163 resourcePermission);
164
165 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
166 new Object[] {
167 new Long(resourcePermission.getCompanyId()),
168
169 resourcePermission.getName(),
170 new Integer(resourcePermission.getScope()),
171
172 resourcePermission.getPrimKey(),
173 new Long(resourcePermission.getRoleId())
174 }, resourcePermission);
175 }
176
177 public void cacheResult(List<ResourcePermission> resourcePermissions) {
178 for (ResourcePermission resourcePermission : resourcePermissions) {
179 if (EntityCacheUtil.getResult(
180 ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
181 ResourcePermissionImpl.class,
182 resourcePermission.getPrimaryKey(), this) == null) {
183 cacheResult(resourcePermission);
184 }
185 }
186 }
187
188 public void clearCache() {
189 CacheRegistry.clear(ResourcePermissionImpl.class.getName());
190 EntityCacheUtil.clearCache(ResourcePermissionImpl.class.getName());
191 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
192 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
193 }
194
195 public ResourcePermission create(long resourcePermissionId) {
196 ResourcePermission resourcePermission = new ResourcePermissionImpl();
197
198 resourcePermission.setNew(true);
199 resourcePermission.setPrimaryKey(resourcePermissionId);
200
201 return resourcePermission;
202 }
203
204 public ResourcePermission remove(long resourcePermissionId)
205 throws NoSuchResourcePermissionException, SystemException {
206 Session session = null;
207
208 try {
209 session = openSession();
210
211 ResourcePermission resourcePermission = (ResourcePermission)session.get(ResourcePermissionImpl.class,
212 new Long(resourcePermissionId));
213
214 if (resourcePermission == null) {
215 if (_log.isWarnEnabled()) {
216 _log.warn(
217 "No ResourcePermission exists with the primary key " +
218 resourcePermissionId);
219 }
220
221 throw new NoSuchResourcePermissionException(
222 "No ResourcePermission exists with the primary key " +
223 resourcePermissionId);
224 }
225
226 return remove(resourcePermission);
227 }
228 catch (NoSuchResourcePermissionException nsee) {
229 throw nsee;
230 }
231 catch (Exception e) {
232 throw processException(e);
233 }
234 finally {
235 closeSession(session);
236 }
237 }
238
239 public ResourcePermission remove(ResourcePermission resourcePermission)
240 throws SystemException {
241 for (ModelListener<ResourcePermission> listener : listeners) {
242 listener.onBeforeRemove(resourcePermission);
243 }
244
245 resourcePermission = removeImpl(resourcePermission);
246
247 for (ModelListener<ResourcePermission> listener : listeners) {
248 listener.onAfterRemove(resourcePermission);
249 }
250
251 return resourcePermission;
252 }
253
254 protected ResourcePermission removeImpl(
255 ResourcePermission resourcePermission) throws SystemException {
256 resourcePermission = toUnwrappedModel(resourcePermission);
257
258 Session session = null;
259
260 try {
261 session = openSession();
262
263 if (resourcePermission.isCachedModel() ||
264 BatchSessionUtil.isEnabled()) {
265 Object staleObject = session.get(ResourcePermissionImpl.class,
266 resourcePermission.getPrimaryKeyObj());
267
268 if (staleObject != null) {
269 session.evict(staleObject);
270 }
271 }
272
273 session.delete(resourcePermission);
274
275 session.flush();
276 }
277 catch (Exception e) {
278 throw processException(e);
279 }
280 finally {
281 closeSession(session);
282 }
283
284 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
285
286 ResourcePermissionModelImpl resourcePermissionModelImpl = (ResourcePermissionModelImpl)resourcePermission;
287
288 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
289 new Object[] {
290 new Long(resourcePermissionModelImpl.getOriginalCompanyId()),
291
292 resourcePermissionModelImpl.getOriginalName(),
293 new Integer(resourcePermissionModelImpl.getOriginalScope()),
294
295 resourcePermissionModelImpl.getOriginalPrimKey(),
296 new Long(resourcePermissionModelImpl.getOriginalRoleId())
297 });
298
299 EntityCacheUtil.removeResult(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
300 ResourcePermissionImpl.class, resourcePermission.getPrimaryKey());
301
302 return resourcePermission;
303 }
304
305
308 public ResourcePermission update(ResourcePermission resourcePermission)
309 throws SystemException {
310 if (_log.isWarnEnabled()) {
311 _log.warn(
312 "Using the deprecated update(ResourcePermission resourcePermission) method. Use update(ResourcePermission resourcePermission, boolean merge) instead.");
313 }
314
315 return update(resourcePermission, false);
316 }
317
318
330 public ResourcePermission update(ResourcePermission resourcePermission,
331 boolean merge) throws SystemException {
332 boolean isNew = resourcePermission.isNew();
333
334 for (ModelListener<ResourcePermission> listener : listeners) {
335 if (isNew) {
336 listener.onBeforeCreate(resourcePermission);
337 }
338 else {
339 listener.onBeforeUpdate(resourcePermission);
340 }
341 }
342
343 resourcePermission = updateImpl(resourcePermission, merge);
344
345 for (ModelListener<ResourcePermission> listener : listeners) {
346 if (isNew) {
347 listener.onAfterCreate(resourcePermission);
348 }
349 else {
350 listener.onAfterUpdate(resourcePermission);
351 }
352 }
353
354 return resourcePermission;
355 }
356
357 public ResourcePermission updateImpl(
358 com.liferay.portal.model.ResourcePermission resourcePermission,
359 boolean merge) throws SystemException {
360 resourcePermission = toUnwrappedModel(resourcePermission);
361
362 boolean isNew = resourcePermission.isNew();
363
364 ResourcePermissionModelImpl resourcePermissionModelImpl = (ResourcePermissionModelImpl)resourcePermission;
365
366 Session session = null;
367
368 try {
369 session = openSession();
370
371 BatchSessionUtil.update(session, resourcePermission, merge);
372
373 resourcePermission.setNew(false);
374 }
375 catch (Exception e) {
376 throw processException(e);
377 }
378 finally {
379 closeSession(session);
380 }
381
382 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
383
384 EntityCacheUtil.putResult(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
385 ResourcePermissionImpl.class, resourcePermission.getPrimaryKey(),
386 resourcePermission);
387
388 if (!isNew &&
389 ((resourcePermission.getCompanyId() != resourcePermissionModelImpl.getOriginalCompanyId()) ||
390 !Validator.equals(resourcePermission.getName(),
391 resourcePermissionModelImpl.getOriginalName()) ||
392 (resourcePermission.getScope() != resourcePermissionModelImpl.getOriginalScope()) ||
393 !Validator.equals(resourcePermission.getPrimKey(),
394 resourcePermissionModelImpl.getOriginalPrimKey()) ||
395 (resourcePermission.getRoleId() != resourcePermissionModelImpl.getOriginalRoleId()))) {
396 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
397 new Object[] {
398 new Long(resourcePermissionModelImpl.getOriginalCompanyId()),
399
400 resourcePermissionModelImpl.getOriginalName(),
401 new Integer(resourcePermissionModelImpl.getOriginalScope()),
402
403 resourcePermissionModelImpl.getOriginalPrimKey(),
404 new Long(resourcePermissionModelImpl.getOriginalRoleId())
405 });
406 }
407
408 if (isNew ||
409 ((resourcePermission.getCompanyId() != resourcePermissionModelImpl.getOriginalCompanyId()) ||
410 !Validator.equals(resourcePermission.getName(),
411 resourcePermissionModelImpl.getOriginalName()) ||
412 (resourcePermission.getScope() != resourcePermissionModelImpl.getOriginalScope()) ||
413 !Validator.equals(resourcePermission.getPrimKey(),
414 resourcePermissionModelImpl.getOriginalPrimKey()) ||
415 (resourcePermission.getRoleId() != resourcePermissionModelImpl.getOriginalRoleId()))) {
416 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
417 new Object[] {
418 new Long(resourcePermission.getCompanyId()),
419
420 resourcePermission.getName(),
421 new Integer(resourcePermission.getScope()),
422
423 resourcePermission.getPrimKey(),
424 new Long(resourcePermission.getRoleId())
425 }, resourcePermission);
426 }
427
428 return resourcePermission;
429 }
430
431 protected ResourcePermission toUnwrappedModel(
432 ResourcePermission resourcePermission) {
433 if (resourcePermission instanceof ResourcePermissionImpl) {
434 return resourcePermission;
435 }
436
437 ResourcePermissionImpl resourcePermissionImpl = new ResourcePermissionImpl();
438
439 resourcePermissionImpl.setNew(resourcePermission.isNew());
440 resourcePermissionImpl.setPrimaryKey(resourcePermission.getPrimaryKey());
441
442 resourcePermissionImpl.setResourcePermissionId(resourcePermission.getResourcePermissionId());
443 resourcePermissionImpl.setCompanyId(resourcePermission.getCompanyId());
444 resourcePermissionImpl.setName(resourcePermission.getName());
445 resourcePermissionImpl.setScope(resourcePermission.getScope());
446 resourcePermissionImpl.setPrimKey(resourcePermission.getPrimKey());
447 resourcePermissionImpl.setRoleId(resourcePermission.getRoleId());
448 resourcePermissionImpl.setActionIds(resourcePermission.getActionIds());
449
450 return resourcePermissionImpl;
451 }
452
453 public ResourcePermission findByPrimaryKey(long resourcePermissionId)
454 throws NoSuchResourcePermissionException, SystemException {
455 ResourcePermission resourcePermission = fetchByPrimaryKey(resourcePermissionId);
456
457 if (resourcePermission == null) {
458 if (_log.isWarnEnabled()) {
459 _log.warn("No ResourcePermission exists with the primary key " +
460 resourcePermissionId);
461 }
462
463 throw new NoSuchResourcePermissionException(
464 "No ResourcePermission exists with the primary key " +
465 resourcePermissionId);
466 }
467
468 return resourcePermission;
469 }
470
471 public ResourcePermission fetchByPrimaryKey(long resourcePermissionId)
472 throws SystemException {
473 ResourcePermission resourcePermission = (ResourcePermission)EntityCacheUtil.getResult(ResourcePermissionModelImpl.ENTITY_CACHE_ENABLED,
474 ResourcePermissionImpl.class, resourcePermissionId, this);
475
476 if (resourcePermission == null) {
477 Session session = null;
478
479 try {
480 session = openSession();
481
482 resourcePermission = (ResourcePermission)session.get(ResourcePermissionImpl.class,
483 new Long(resourcePermissionId));
484 }
485 catch (Exception e) {
486 throw processException(e);
487 }
488 finally {
489 if (resourcePermission != null) {
490 cacheResult(resourcePermission);
491 }
492
493 closeSession(session);
494 }
495 }
496
497 return resourcePermission;
498 }
499
500 public List<ResourcePermission> findByRoleId(long roleId)
501 throws SystemException {
502 Object[] finderArgs = new Object[] { new Long(roleId) };
503
504 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_ROLEID,
505 finderArgs, this);
506
507 if (list == null) {
508 Session session = null;
509
510 try {
511 session = openSession();
512
513 StringBuilder query = new StringBuilder();
514
515 query.append(
516 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
517
518 query.append("resourcePermission.roleId = ?");
519
520 query.append(" ");
521
522 Query q = session.createQuery(query.toString());
523
524 QueryPos qPos = QueryPos.getInstance(q);
525
526 qPos.add(roleId);
527
528 list = q.list();
529 }
530 catch (Exception e) {
531 throw processException(e);
532 }
533 finally {
534 if (list == null) {
535 list = new ArrayList<ResourcePermission>();
536 }
537
538 cacheResult(list);
539
540 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_ROLEID,
541 finderArgs, list);
542
543 closeSession(session);
544 }
545 }
546
547 return list;
548 }
549
550 public List<ResourcePermission> findByRoleId(long roleId, int start, int end)
551 throws SystemException {
552 return findByRoleId(roleId, start, end, null);
553 }
554
555 public List<ResourcePermission> findByRoleId(long roleId, int start,
556 int end, OrderByComparator obc) throws SystemException {
557 Object[] finderArgs = new Object[] {
558 new Long(roleId),
559
560 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
561 };
562
563 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_ROLEID,
564 finderArgs, this);
565
566 if (list == null) {
567 Session session = null;
568
569 try {
570 session = openSession();
571
572 StringBuilder query = new StringBuilder();
573
574 query.append(
575 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
576
577 query.append("resourcePermission.roleId = ?");
578
579 query.append(" ");
580
581 if (obc != null) {
582 query.append("ORDER BY ");
583
584 String[] orderByFields = obc.getOrderByFields();
585
586 for (int i = 0; i < orderByFields.length; i++) {
587 query.append("resourcePermission.");
588 query.append(orderByFields[i]);
589
590 if (obc.isAscending()) {
591 query.append(" ASC");
592 }
593 else {
594 query.append(" DESC");
595 }
596
597 if ((i + 1) < orderByFields.length) {
598 query.append(", ");
599 }
600 }
601 }
602
603 Query q = session.createQuery(query.toString());
604
605 QueryPos qPos = QueryPos.getInstance(q);
606
607 qPos.add(roleId);
608
609 list = (List<ResourcePermission>)QueryUtil.list(q,
610 getDialect(), start, end);
611 }
612 catch (Exception e) {
613 throw processException(e);
614 }
615 finally {
616 if (list == null) {
617 list = new ArrayList<ResourcePermission>();
618 }
619
620 cacheResult(list);
621
622 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_ROLEID,
623 finderArgs, list);
624
625 closeSession(session);
626 }
627 }
628
629 return list;
630 }
631
632 public ResourcePermission findByRoleId_First(long roleId,
633 OrderByComparator obc)
634 throws NoSuchResourcePermissionException, SystemException {
635 List<ResourcePermission> list = findByRoleId(roleId, 0, 1, obc);
636
637 if (list.isEmpty()) {
638 StringBuilder msg = new StringBuilder();
639
640 msg.append("No ResourcePermission exists with the key {");
641
642 msg.append("roleId=" + roleId);
643
644 msg.append(StringPool.CLOSE_CURLY_BRACE);
645
646 throw new NoSuchResourcePermissionException(msg.toString());
647 }
648 else {
649 return list.get(0);
650 }
651 }
652
653 public ResourcePermission findByRoleId_Last(long roleId,
654 OrderByComparator obc)
655 throws NoSuchResourcePermissionException, SystemException {
656 int count = countByRoleId(roleId);
657
658 List<ResourcePermission> list = findByRoleId(roleId, count - 1, count,
659 obc);
660
661 if (list.isEmpty()) {
662 StringBuilder msg = new StringBuilder();
663
664 msg.append("No ResourcePermission exists with the key {");
665
666 msg.append("roleId=" + roleId);
667
668 msg.append(StringPool.CLOSE_CURLY_BRACE);
669
670 throw new NoSuchResourcePermissionException(msg.toString());
671 }
672 else {
673 return list.get(0);
674 }
675 }
676
677 public ResourcePermission[] findByRoleId_PrevAndNext(
678 long resourcePermissionId, long roleId, OrderByComparator obc)
679 throws NoSuchResourcePermissionException, SystemException {
680 ResourcePermission resourcePermission = findByPrimaryKey(resourcePermissionId);
681
682 int count = countByRoleId(roleId);
683
684 Session session = null;
685
686 try {
687 session = openSession();
688
689 StringBuilder query = new StringBuilder();
690
691 query.append(
692 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
693
694 query.append("resourcePermission.roleId = ?");
695
696 query.append(" ");
697
698 if (obc != null) {
699 query.append("ORDER BY ");
700
701 String[] orderByFields = obc.getOrderByFields();
702
703 for (int i = 0; i < orderByFields.length; i++) {
704 query.append("resourcePermission.");
705 query.append(orderByFields[i]);
706
707 if (obc.isAscending()) {
708 query.append(" ASC");
709 }
710 else {
711 query.append(" DESC");
712 }
713
714 if ((i + 1) < orderByFields.length) {
715 query.append(", ");
716 }
717 }
718 }
719
720 Query q = session.createQuery(query.toString());
721
722 QueryPos qPos = QueryPos.getInstance(q);
723
724 qPos.add(roleId);
725
726 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
727 resourcePermission);
728
729 ResourcePermission[] array = new ResourcePermissionImpl[3];
730
731 array[0] = (ResourcePermission)objArray[0];
732 array[1] = (ResourcePermission)objArray[1];
733 array[2] = (ResourcePermission)objArray[2];
734
735 return array;
736 }
737 catch (Exception e) {
738 throw processException(e);
739 }
740 finally {
741 closeSession(session);
742 }
743 }
744
745 public List<ResourcePermission> findByC_N_S(long companyId, String name,
746 int scope) throws SystemException {
747 Object[] finderArgs = new Object[] {
748 new Long(companyId),
749
750 name, new Integer(scope)
751 };
752
753 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_N_S,
754 finderArgs, this);
755
756 if (list == null) {
757 Session session = null;
758
759 try {
760 session = openSession();
761
762 StringBuilder query = new StringBuilder();
763
764 query.append(
765 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
766
767 query.append("resourcePermission.companyId = ?");
768
769 query.append(" AND ");
770
771 if (name == null) {
772 query.append("resourcePermission.name IS NULL");
773 }
774 else {
775 query.append("resourcePermission.name = ?");
776 }
777
778 query.append(" AND ");
779
780 query.append("resourcePermission.scope = ?");
781
782 query.append(" ");
783
784 Query q = session.createQuery(query.toString());
785
786 QueryPos qPos = QueryPos.getInstance(q);
787
788 qPos.add(companyId);
789
790 if (name != null) {
791 qPos.add(name);
792 }
793
794 qPos.add(scope);
795
796 list = q.list();
797 }
798 catch (Exception e) {
799 throw processException(e);
800 }
801 finally {
802 if (list == null) {
803 list = new ArrayList<ResourcePermission>();
804 }
805
806 cacheResult(list);
807
808 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_N_S,
809 finderArgs, list);
810
811 closeSession(session);
812 }
813 }
814
815 return list;
816 }
817
818 public List<ResourcePermission> findByC_N_S(long companyId, String name,
819 int scope, int start, int end) throws SystemException {
820 return findByC_N_S(companyId, name, scope, start, end, null);
821 }
822
823 public List<ResourcePermission> findByC_N_S(long companyId, String name,
824 int scope, int start, int end, OrderByComparator obc)
825 throws SystemException {
826 Object[] finderArgs = new Object[] {
827 new Long(companyId),
828
829 name, new Integer(scope),
830
831 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
832 };
833
834 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_N_S,
835 finderArgs, this);
836
837 if (list == null) {
838 Session session = null;
839
840 try {
841 session = openSession();
842
843 StringBuilder query = new StringBuilder();
844
845 query.append(
846 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
847
848 query.append("resourcePermission.companyId = ?");
849
850 query.append(" AND ");
851
852 if (name == null) {
853 query.append("resourcePermission.name IS NULL");
854 }
855 else {
856 query.append("resourcePermission.name = ?");
857 }
858
859 query.append(" AND ");
860
861 query.append("resourcePermission.scope = ?");
862
863 query.append(" ");
864
865 if (obc != null) {
866 query.append("ORDER BY ");
867
868 String[] orderByFields = obc.getOrderByFields();
869
870 for (int i = 0; i < orderByFields.length; i++) {
871 query.append("resourcePermission.");
872 query.append(orderByFields[i]);
873
874 if (obc.isAscending()) {
875 query.append(" ASC");
876 }
877 else {
878 query.append(" DESC");
879 }
880
881 if ((i + 1) < orderByFields.length) {
882 query.append(", ");
883 }
884 }
885 }
886
887 Query q = session.createQuery(query.toString());
888
889 QueryPos qPos = QueryPos.getInstance(q);
890
891 qPos.add(companyId);
892
893 if (name != null) {
894 qPos.add(name);
895 }
896
897 qPos.add(scope);
898
899 list = (List<ResourcePermission>)QueryUtil.list(q,
900 getDialect(), start, end);
901 }
902 catch (Exception e) {
903 throw processException(e);
904 }
905 finally {
906 if (list == null) {
907 list = new ArrayList<ResourcePermission>();
908 }
909
910 cacheResult(list);
911
912 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_N_S,
913 finderArgs, list);
914
915 closeSession(session);
916 }
917 }
918
919 return list;
920 }
921
922 public ResourcePermission findByC_N_S_First(long companyId, String name,
923 int scope, OrderByComparator obc)
924 throws NoSuchResourcePermissionException, SystemException {
925 List<ResourcePermission> list = findByC_N_S(companyId, name, scope, 0,
926 1, obc);
927
928 if (list.isEmpty()) {
929 StringBuilder msg = new StringBuilder();
930
931 msg.append("No ResourcePermission exists with the key {");
932
933 msg.append("companyId=" + companyId);
934
935 msg.append(", ");
936 msg.append("name=" + name);
937
938 msg.append(", ");
939 msg.append("scope=" + scope);
940
941 msg.append(StringPool.CLOSE_CURLY_BRACE);
942
943 throw new NoSuchResourcePermissionException(msg.toString());
944 }
945 else {
946 return list.get(0);
947 }
948 }
949
950 public ResourcePermission findByC_N_S_Last(long companyId, String name,
951 int scope, OrderByComparator obc)
952 throws NoSuchResourcePermissionException, SystemException {
953 int count = countByC_N_S(companyId, name, scope);
954
955 List<ResourcePermission> list = findByC_N_S(companyId, name, scope,
956 count - 1, count, obc);
957
958 if (list.isEmpty()) {
959 StringBuilder msg = new StringBuilder();
960
961 msg.append("No ResourcePermission exists with the key {");
962
963 msg.append("companyId=" + companyId);
964
965 msg.append(", ");
966 msg.append("name=" + name);
967
968 msg.append(", ");
969 msg.append("scope=" + scope);
970
971 msg.append(StringPool.CLOSE_CURLY_BRACE);
972
973 throw new NoSuchResourcePermissionException(msg.toString());
974 }
975 else {
976 return list.get(0);
977 }
978 }
979
980 public ResourcePermission[] findByC_N_S_PrevAndNext(
981 long resourcePermissionId, long companyId, String name, int scope,
982 OrderByComparator obc)
983 throws NoSuchResourcePermissionException, SystemException {
984 ResourcePermission resourcePermission = findByPrimaryKey(resourcePermissionId);
985
986 int count = countByC_N_S(companyId, name, scope);
987
988 Session session = null;
989
990 try {
991 session = openSession();
992
993 StringBuilder query = new StringBuilder();
994
995 query.append(
996 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
997
998 query.append("resourcePermission.companyId = ?");
999
1000 query.append(" AND ");
1001
1002 if (name == null) {
1003 query.append("resourcePermission.name IS NULL");
1004 }
1005 else {
1006 query.append("resourcePermission.name = ?");
1007 }
1008
1009 query.append(" AND ");
1010
1011 query.append("resourcePermission.scope = ?");
1012
1013 query.append(" ");
1014
1015 if (obc != null) {
1016 query.append("ORDER BY ");
1017
1018 String[] orderByFields = obc.getOrderByFields();
1019
1020 for (int i = 0; i < orderByFields.length; i++) {
1021 query.append("resourcePermission.");
1022 query.append(orderByFields[i]);
1023
1024 if (obc.isAscending()) {
1025 query.append(" ASC");
1026 }
1027 else {
1028 query.append(" DESC");
1029 }
1030
1031 if ((i + 1) < orderByFields.length) {
1032 query.append(", ");
1033 }
1034 }
1035 }
1036
1037 Query q = session.createQuery(query.toString());
1038
1039 QueryPos qPos = QueryPos.getInstance(q);
1040
1041 qPos.add(companyId);
1042
1043 if (name != null) {
1044 qPos.add(name);
1045 }
1046
1047 qPos.add(scope);
1048
1049 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1050 resourcePermission);
1051
1052 ResourcePermission[] array = new ResourcePermissionImpl[3];
1053
1054 array[0] = (ResourcePermission)objArray[0];
1055 array[1] = (ResourcePermission)objArray[1];
1056 array[2] = (ResourcePermission)objArray[2];
1057
1058 return array;
1059 }
1060 catch (Exception e) {
1061 throw processException(e);
1062 }
1063 finally {
1064 closeSession(session);
1065 }
1066 }
1067
1068 public List<ResourcePermission> findByC_N_S_P(long companyId, String name,
1069 int scope, String primKey) throws SystemException {
1070 Object[] finderArgs = new Object[] {
1071 new Long(companyId),
1072
1073 name, new Integer(scope),
1074
1075 primKey
1076 };
1077
1078 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_N_S_P,
1079 finderArgs, this);
1080
1081 if (list == null) {
1082 Session session = null;
1083
1084 try {
1085 session = openSession();
1086
1087 StringBuilder query = new StringBuilder();
1088
1089 query.append(
1090 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
1091
1092 query.append("resourcePermission.companyId = ?");
1093
1094 query.append(" AND ");
1095
1096 if (name == null) {
1097 query.append("resourcePermission.name IS NULL");
1098 }
1099 else {
1100 query.append("resourcePermission.name = ?");
1101 }
1102
1103 query.append(" AND ");
1104
1105 query.append("resourcePermission.scope = ?");
1106
1107 query.append(" AND ");
1108
1109 if (primKey == null) {
1110 query.append("resourcePermission.primKey IS NULL");
1111 }
1112 else {
1113 query.append("resourcePermission.primKey = ?");
1114 }
1115
1116 query.append(" ");
1117
1118 Query q = session.createQuery(query.toString());
1119
1120 QueryPos qPos = QueryPos.getInstance(q);
1121
1122 qPos.add(companyId);
1123
1124 if (name != null) {
1125 qPos.add(name);
1126 }
1127
1128 qPos.add(scope);
1129
1130 if (primKey != null) {
1131 qPos.add(primKey);
1132 }
1133
1134 list = q.list();
1135 }
1136 catch (Exception e) {
1137 throw processException(e);
1138 }
1139 finally {
1140 if (list == null) {
1141 list = new ArrayList<ResourcePermission>();
1142 }
1143
1144 cacheResult(list);
1145
1146 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_N_S_P,
1147 finderArgs, list);
1148
1149 closeSession(session);
1150 }
1151 }
1152
1153 return list;
1154 }
1155
1156 public List<ResourcePermission> findByC_N_S_P(long companyId, String name,
1157 int scope, String primKey, int start, int end)
1158 throws SystemException {
1159 return findByC_N_S_P(companyId, name, scope, primKey, start, end, null);
1160 }
1161
1162 public List<ResourcePermission> findByC_N_S_P(long companyId, String name,
1163 int scope, String primKey, int start, int end, OrderByComparator obc)
1164 throws SystemException {
1165 Object[] finderArgs = new Object[] {
1166 new Long(companyId),
1167
1168 name, new Integer(scope),
1169
1170 primKey,
1171
1172 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1173 };
1174
1175 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_N_S_P,
1176 finderArgs, this);
1177
1178 if (list == null) {
1179 Session session = null;
1180
1181 try {
1182 session = openSession();
1183
1184 StringBuilder query = new StringBuilder();
1185
1186 query.append(
1187 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
1188
1189 query.append("resourcePermission.companyId = ?");
1190
1191 query.append(" AND ");
1192
1193 if (name == null) {
1194 query.append("resourcePermission.name IS NULL");
1195 }
1196 else {
1197 query.append("resourcePermission.name = ?");
1198 }
1199
1200 query.append(" AND ");
1201
1202 query.append("resourcePermission.scope = ?");
1203
1204 query.append(" AND ");
1205
1206 if (primKey == null) {
1207 query.append("resourcePermission.primKey IS NULL");
1208 }
1209 else {
1210 query.append("resourcePermission.primKey = ?");
1211 }
1212
1213 query.append(" ");
1214
1215 if (obc != null) {
1216 query.append("ORDER BY ");
1217
1218 String[] orderByFields = obc.getOrderByFields();
1219
1220 for (int i = 0; i < orderByFields.length; i++) {
1221 query.append("resourcePermission.");
1222 query.append(orderByFields[i]);
1223
1224 if (obc.isAscending()) {
1225 query.append(" ASC");
1226 }
1227 else {
1228 query.append(" DESC");
1229 }
1230
1231 if ((i + 1) < orderByFields.length) {
1232 query.append(", ");
1233 }
1234 }
1235 }
1236
1237 Query q = session.createQuery(query.toString());
1238
1239 QueryPos qPos = QueryPos.getInstance(q);
1240
1241 qPos.add(companyId);
1242
1243 if (name != null) {
1244 qPos.add(name);
1245 }
1246
1247 qPos.add(scope);
1248
1249 if (primKey != null) {
1250 qPos.add(primKey);
1251 }
1252
1253 list = (List<ResourcePermission>)QueryUtil.list(q,
1254 getDialect(), start, end);
1255 }
1256 catch (Exception e) {
1257 throw processException(e);
1258 }
1259 finally {
1260 if (list == null) {
1261 list = new ArrayList<ResourcePermission>();
1262 }
1263
1264 cacheResult(list);
1265
1266 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_N_S_P,
1267 finderArgs, list);
1268
1269 closeSession(session);
1270 }
1271 }
1272
1273 return list;
1274 }
1275
1276 public ResourcePermission findByC_N_S_P_First(long companyId, String name,
1277 int scope, String primKey, OrderByComparator obc)
1278 throws NoSuchResourcePermissionException, SystemException {
1279 List<ResourcePermission> list = findByC_N_S_P(companyId, name, scope,
1280 primKey, 0, 1, obc);
1281
1282 if (list.isEmpty()) {
1283 StringBuilder msg = new StringBuilder();
1284
1285 msg.append("No ResourcePermission exists with the key {");
1286
1287 msg.append("companyId=" + companyId);
1288
1289 msg.append(", ");
1290 msg.append("name=" + name);
1291
1292 msg.append(", ");
1293 msg.append("scope=" + scope);
1294
1295 msg.append(", ");
1296 msg.append("primKey=" + primKey);
1297
1298 msg.append(StringPool.CLOSE_CURLY_BRACE);
1299
1300 throw new NoSuchResourcePermissionException(msg.toString());
1301 }
1302 else {
1303 return list.get(0);
1304 }
1305 }
1306
1307 public ResourcePermission findByC_N_S_P_Last(long companyId, String name,
1308 int scope, String primKey, OrderByComparator obc)
1309 throws NoSuchResourcePermissionException, SystemException {
1310 int count = countByC_N_S_P(companyId, name, scope, primKey);
1311
1312 List<ResourcePermission> list = findByC_N_S_P(companyId, name, scope,
1313 primKey, count - 1, count, obc);
1314
1315 if (list.isEmpty()) {
1316 StringBuilder msg = new StringBuilder();
1317
1318 msg.append("No ResourcePermission exists with the key {");
1319
1320 msg.append("companyId=" + companyId);
1321
1322 msg.append(", ");
1323 msg.append("name=" + name);
1324
1325 msg.append(", ");
1326 msg.append("scope=" + scope);
1327
1328 msg.append(", ");
1329 msg.append("primKey=" + primKey);
1330
1331 msg.append(StringPool.CLOSE_CURLY_BRACE);
1332
1333 throw new NoSuchResourcePermissionException(msg.toString());
1334 }
1335 else {
1336 return list.get(0);
1337 }
1338 }
1339
1340 public ResourcePermission[] findByC_N_S_P_PrevAndNext(
1341 long resourcePermissionId, long companyId, String name, int scope,
1342 String primKey, OrderByComparator obc)
1343 throws NoSuchResourcePermissionException, SystemException {
1344 ResourcePermission resourcePermission = findByPrimaryKey(resourcePermissionId);
1345
1346 int count = countByC_N_S_P(companyId, name, scope, primKey);
1347
1348 Session session = null;
1349
1350 try {
1351 session = openSession();
1352
1353 StringBuilder query = new StringBuilder();
1354
1355 query.append(
1356 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
1357
1358 query.append("resourcePermission.companyId = ?");
1359
1360 query.append(" AND ");
1361
1362 if (name == null) {
1363 query.append("resourcePermission.name IS NULL");
1364 }
1365 else {
1366 query.append("resourcePermission.name = ?");
1367 }
1368
1369 query.append(" AND ");
1370
1371 query.append("resourcePermission.scope = ?");
1372
1373 query.append(" AND ");
1374
1375 if (primKey == null) {
1376 query.append("resourcePermission.primKey IS NULL");
1377 }
1378 else {
1379 query.append("resourcePermission.primKey = ?");
1380 }
1381
1382 query.append(" ");
1383
1384 if (obc != null) {
1385 query.append("ORDER BY ");
1386
1387 String[] orderByFields = obc.getOrderByFields();
1388
1389 for (int i = 0; i < orderByFields.length; i++) {
1390 query.append("resourcePermission.");
1391 query.append(orderByFields[i]);
1392
1393 if (obc.isAscending()) {
1394 query.append(" ASC");
1395 }
1396 else {
1397 query.append(" DESC");
1398 }
1399
1400 if ((i + 1) < orderByFields.length) {
1401 query.append(", ");
1402 }
1403 }
1404 }
1405
1406 Query q = session.createQuery(query.toString());
1407
1408 QueryPos qPos = QueryPos.getInstance(q);
1409
1410 qPos.add(companyId);
1411
1412 if (name != null) {
1413 qPos.add(name);
1414 }
1415
1416 qPos.add(scope);
1417
1418 if (primKey != null) {
1419 qPos.add(primKey);
1420 }
1421
1422 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1423 resourcePermission);
1424
1425 ResourcePermission[] array = new ResourcePermissionImpl[3];
1426
1427 array[0] = (ResourcePermission)objArray[0];
1428 array[1] = (ResourcePermission)objArray[1];
1429 array[2] = (ResourcePermission)objArray[2];
1430
1431 return array;
1432 }
1433 catch (Exception e) {
1434 throw processException(e);
1435 }
1436 finally {
1437 closeSession(session);
1438 }
1439 }
1440
1441 public ResourcePermission findByC_N_S_P_R(long companyId, String name,
1442 int scope, String primKey, long roleId)
1443 throws NoSuchResourcePermissionException, SystemException {
1444 ResourcePermission resourcePermission = fetchByC_N_S_P_R(companyId,
1445 name, scope, primKey, roleId);
1446
1447 if (resourcePermission == null) {
1448 StringBuilder msg = new StringBuilder();
1449
1450 msg.append("No ResourcePermission exists with the key {");
1451
1452 msg.append("companyId=" + companyId);
1453
1454 msg.append(", ");
1455 msg.append("name=" + name);
1456
1457 msg.append(", ");
1458 msg.append("scope=" + scope);
1459
1460 msg.append(", ");
1461 msg.append("primKey=" + primKey);
1462
1463 msg.append(", ");
1464 msg.append("roleId=" + roleId);
1465
1466 msg.append(StringPool.CLOSE_CURLY_BRACE);
1467
1468 if (_log.isWarnEnabled()) {
1469 _log.warn(msg.toString());
1470 }
1471
1472 throw new NoSuchResourcePermissionException(msg.toString());
1473 }
1474
1475 return resourcePermission;
1476 }
1477
1478 public ResourcePermission fetchByC_N_S_P_R(long companyId, String name,
1479 int scope, String primKey, long roleId) throws SystemException {
1480 return fetchByC_N_S_P_R(companyId, name, scope, primKey, roleId, true);
1481 }
1482
1483 public ResourcePermission fetchByC_N_S_P_R(long companyId, String name,
1484 int scope, String primKey, long roleId, boolean retrieveFromCache)
1485 throws SystemException {
1486 Object[] finderArgs = new Object[] {
1487 new Long(companyId),
1488
1489 name, new Integer(scope),
1490
1491 primKey, new Long(roleId)
1492 };
1493
1494 Object result = null;
1495
1496 if (retrieveFromCache) {
1497 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
1498 finderArgs, this);
1499 }
1500
1501 if (result == null) {
1502 Session session = null;
1503
1504 try {
1505 session = openSession();
1506
1507 StringBuilder query = new StringBuilder();
1508
1509 query.append(
1510 "SELECT resourcePermission FROM ResourcePermission resourcePermission WHERE ");
1511
1512 query.append("resourcePermission.companyId = ?");
1513
1514 query.append(" AND ");
1515
1516 if (name == null) {
1517 query.append("resourcePermission.name IS NULL");
1518 }
1519 else {
1520 query.append("resourcePermission.name = ?");
1521 }
1522
1523 query.append(" AND ");
1524
1525 query.append("resourcePermission.scope = ?");
1526
1527 query.append(" AND ");
1528
1529 if (primKey == null) {
1530 query.append("resourcePermission.primKey IS NULL");
1531 }
1532 else {
1533 query.append("resourcePermission.primKey = ?");
1534 }
1535
1536 query.append(" AND ");
1537
1538 query.append("resourcePermission.roleId = ?");
1539
1540 query.append(" ");
1541
1542 Query q = session.createQuery(query.toString());
1543
1544 QueryPos qPos = QueryPos.getInstance(q);
1545
1546 qPos.add(companyId);
1547
1548 if (name != null) {
1549 qPos.add(name);
1550 }
1551
1552 qPos.add(scope);
1553
1554 if (primKey != null) {
1555 qPos.add(primKey);
1556 }
1557
1558 qPos.add(roleId);
1559
1560 List<ResourcePermission> list = q.list();
1561
1562 result = list;
1563
1564 ResourcePermission resourcePermission = null;
1565
1566 if (list.isEmpty()) {
1567 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
1568 finderArgs, list);
1569 }
1570 else {
1571 resourcePermission = list.get(0);
1572
1573 cacheResult(resourcePermission);
1574
1575 if ((resourcePermission.getCompanyId() != companyId) ||
1576 (resourcePermission.getName() == null) ||
1577 !resourcePermission.getName().equals(name) ||
1578 (resourcePermission.getScope() != scope) ||
1579 (resourcePermission.getPrimKey() == null) ||
1580 !resourcePermission.getPrimKey().equals(primKey) ||
1581 (resourcePermission.getRoleId() != roleId)) {
1582 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
1583 finderArgs, resourcePermission);
1584 }
1585 }
1586
1587 return resourcePermission;
1588 }
1589 catch (Exception e) {
1590 throw processException(e);
1591 }
1592 finally {
1593 if (result == null) {
1594 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_N_S_P_R,
1595 finderArgs, new ArrayList<ResourcePermission>());
1596 }
1597
1598 closeSession(session);
1599 }
1600 }
1601 else {
1602 if (result instanceof List<?>) {
1603 return null;
1604 }
1605 else {
1606 return (ResourcePermission)result;
1607 }
1608 }
1609 }
1610
1611 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1612 throws SystemException {
1613 Session session = null;
1614
1615 try {
1616 session = openSession();
1617
1618 dynamicQuery.compile(session);
1619
1620 return dynamicQuery.list();
1621 }
1622 catch (Exception e) {
1623 throw processException(e);
1624 }
1625 finally {
1626 closeSession(session);
1627 }
1628 }
1629
1630 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1631 int start, int end) throws SystemException {
1632 Session session = null;
1633
1634 try {
1635 session = openSession();
1636
1637 dynamicQuery.setLimit(start, end);
1638
1639 dynamicQuery.compile(session);
1640
1641 return dynamicQuery.list();
1642 }
1643 catch (Exception e) {
1644 throw processException(e);
1645 }
1646 finally {
1647 closeSession(session);
1648 }
1649 }
1650
1651 public List<ResourcePermission> findAll() throws SystemException {
1652 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1653 }
1654
1655 public List<ResourcePermission> findAll(int start, int end)
1656 throws SystemException {
1657 return findAll(start, end, null);
1658 }
1659
1660 public List<ResourcePermission> findAll(int start, int end,
1661 OrderByComparator obc) throws SystemException {
1662 Object[] finderArgs = new Object[] {
1663 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1664 };
1665
1666 List<ResourcePermission> list = (List<ResourcePermission>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1667 finderArgs, this);
1668
1669 if (list == null) {
1670 Session session = null;
1671
1672 try {
1673 session = openSession();
1674
1675 StringBuilder query = new StringBuilder();
1676
1677 query.append(
1678 "SELECT resourcePermission FROM ResourcePermission resourcePermission ");
1679
1680 if (obc != null) {
1681 query.append("ORDER BY ");
1682
1683 String[] orderByFields = obc.getOrderByFields();
1684
1685 for (int i = 0; i < orderByFields.length; i++) {
1686 query.append("resourcePermission.");
1687 query.append(orderByFields[i]);
1688
1689 if (obc.isAscending()) {
1690 query.append(" ASC");
1691 }
1692 else {
1693 query.append(" DESC");
1694 }
1695
1696 if ((i + 1) < orderByFields.length) {
1697 query.append(", ");
1698 }
1699 }
1700 }
1701
1702 Query q = session.createQuery(query.toString());
1703
1704 if (obc == null) {
1705 list = (List<ResourcePermission>)QueryUtil.list(q,
1706 getDialect(), start, end, false);
1707
1708 Collections.sort(list);
1709 }
1710 else {
1711 list = (List<ResourcePermission>)QueryUtil.list(q,
1712 getDialect(), start, end);
1713 }
1714 }
1715 catch (Exception e) {
1716 throw processException(e);
1717 }
1718 finally {
1719 if (list == null) {
1720 list = new ArrayList<ResourcePermission>();
1721 }
1722
1723 cacheResult(list);
1724
1725 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1726
1727 closeSession(session);
1728 }
1729 }
1730
1731 return list;
1732 }
1733
1734 public void removeByRoleId(long roleId) throws SystemException {
1735 for (ResourcePermission resourcePermission : findByRoleId(roleId)) {
1736 remove(resourcePermission);
1737 }
1738 }
1739
1740 public void removeByC_N_S(long companyId, String name, int scope)
1741 throws SystemException {
1742 for (ResourcePermission resourcePermission : findByC_N_S(companyId,
1743 name, scope)) {
1744 remove(resourcePermission);
1745 }
1746 }
1747
1748 public void removeByC_N_S_P(long companyId, String name, int scope,
1749 String primKey) throws SystemException {
1750 for (ResourcePermission resourcePermission : findByC_N_S_P(companyId,
1751 name, scope, primKey)) {
1752 remove(resourcePermission);
1753 }
1754 }
1755
1756 public void removeByC_N_S_P_R(long companyId, String name, int scope,
1757 String primKey, long roleId)
1758 throws NoSuchResourcePermissionException, SystemException {
1759 ResourcePermission resourcePermission = findByC_N_S_P_R(companyId,
1760 name, scope, primKey, roleId);
1761
1762 remove(resourcePermission);
1763 }
1764
1765 public void removeAll() throws SystemException {
1766 for (ResourcePermission resourcePermission : findAll()) {
1767 remove(resourcePermission);
1768 }
1769 }
1770
1771 public int countByRoleId(long roleId) throws SystemException {
1772 Object[] finderArgs = new Object[] { new Long(roleId) };
1773
1774 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_ROLEID,
1775 finderArgs, this);
1776
1777 if (count == null) {
1778 Session session = null;
1779
1780 try {
1781 session = openSession();
1782
1783 StringBuilder query = new StringBuilder();
1784
1785 query.append("SELECT COUNT(resourcePermission) ");
1786 query.append(
1787 "FROM ResourcePermission resourcePermission WHERE ");
1788
1789 query.append("resourcePermission.roleId = ?");
1790
1791 query.append(" ");
1792
1793 Query q = session.createQuery(query.toString());
1794
1795 QueryPos qPos = QueryPos.getInstance(q);
1796
1797 qPos.add(roleId);
1798
1799 count = (Long)q.uniqueResult();
1800 }
1801 catch (Exception e) {
1802 throw processException(e);
1803 }
1804 finally {
1805 if (count == null) {
1806 count = Long.valueOf(0);
1807 }
1808
1809 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_ROLEID,
1810 finderArgs, count);
1811
1812 closeSession(session);
1813 }
1814 }
1815
1816 return count.intValue();
1817 }
1818
1819 public int countByC_N_S(long companyId, String name, int scope)
1820 throws SystemException {
1821 Object[] finderArgs = new Object[] {
1822 new Long(companyId),
1823
1824 name, new Integer(scope)
1825 };
1826
1827 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_N_S,
1828 finderArgs, this);
1829
1830 if (count == null) {
1831 Session session = null;
1832
1833 try {
1834 session = openSession();
1835
1836 StringBuilder query = new StringBuilder();
1837
1838 query.append("SELECT COUNT(resourcePermission) ");
1839 query.append(
1840 "FROM ResourcePermission resourcePermission WHERE ");
1841
1842 query.append("resourcePermission.companyId = ?");
1843
1844 query.append(" AND ");
1845
1846 if (name == null) {
1847 query.append("resourcePermission.name IS NULL");
1848 }
1849 else {
1850 query.append("resourcePermission.name = ?");
1851 }
1852
1853 query.append(" AND ");
1854
1855 query.append("resourcePermission.scope = ?");
1856
1857 query.append(" ");
1858
1859 Query q = session.createQuery(query.toString());
1860
1861 QueryPos qPos = QueryPos.getInstance(q);
1862
1863 qPos.add(companyId);
1864
1865 if (name != null) {
1866 qPos.add(name);
1867 }
1868
1869 qPos.add(scope);
1870
1871 count = (Long)q.uniqueResult();
1872 }
1873 catch (Exception e) {
1874 throw processException(e);
1875 }
1876 finally {
1877 if (count == null) {
1878 count = Long.valueOf(0);
1879 }
1880
1881 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_N_S,
1882 finderArgs, count);
1883
1884 closeSession(session);
1885 }
1886 }
1887
1888 return count.intValue();
1889 }
1890
1891 public int countByC_N_S_P(long companyId, String name, int scope,
1892 String primKey) throws SystemException {
1893 Object[] finderArgs = new Object[] {
1894 new Long(companyId),
1895
1896 name, new Integer(scope),
1897
1898 primKey
1899 };
1900
1901 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_N_S_P,
1902 finderArgs, this);
1903
1904 if (count == null) {
1905 Session session = null;
1906
1907 try {
1908 session = openSession();
1909
1910 StringBuilder query = new StringBuilder();
1911
1912 query.append("SELECT COUNT(resourcePermission) ");
1913 query.append(
1914 "FROM ResourcePermission resourcePermission WHERE ");
1915
1916 query.append("resourcePermission.companyId = ?");
1917
1918 query.append(" AND ");
1919
1920 if (name == null) {
1921 query.append("resourcePermission.name IS NULL");
1922 }
1923 else {
1924 query.append("resourcePermission.name = ?");
1925 }
1926
1927 query.append(" AND ");
1928
1929 query.append("resourcePermission.scope = ?");
1930
1931 query.append(" AND ");
1932
1933 if (primKey == null) {
1934 query.append("resourcePermission.primKey IS NULL");
1935 }
1936 else {
1937 query.append("resourcePermission.primKey = ?");
1938 }
1939
1940 query.append(" ");
1941
1942 Query q = session.createQuery(query.toString());
1943
1944 QueryPos qPos = QueryPos.getInstance(q);
1945
1946 qPos.add(companyId);
1947
1948 if (name != null) {
1949 qPos.add(name);
1950 }
1951
1952 qPos.add(scope);
1953
1954 if (primKey != null) {
1955 qPos.add(primKey);
1956 }
1957
1958 count = (Long)q.uniqueResult();
1959 }
1960 catch (Exception e) {
1961 throw processException(e);
1962 }
1963 finally {
1964 if (count == null) {
1965 count = Long.valueOf(0);
1966 }
1967
1968 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_N_S_P,
1969 finderArgs, count);
1970
1971 closeSession(session);
1972 }
1973 }
1974
1975 return count.intValue();
1976 }
1977
1978 public int countByC_N_S_P_R(long companyId, String name, int scope,
1979 String primKey, long roleId) throws SystemException {
1980 Object[] finderArgs = new Object[] {
1981 new Long(companyId),
1982
1983 name, new Integer(scope),
1984
1985 primKey, new Long(roleId)
1986 };
1987
1988 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_N_S_P_R,
1989 finderArgs, this);
1990
1991 if (count == null) {
1992 Session session = null;
1993
1994 try {
1995 session = openSession();
1996
1997 StringBuilder query = new StringBuilder();
1998
1999 query.append("SELECT COUNT(resourcePermission) ");
2000 query.append(
2001 "FROM ResourcePermission resourcePermission WHERE ");
2002
2003 query.append("resourcePermission.companyId = ?");
2004
2005 query.append(" AND ");
2006
2007 if (name == null) {
2008 query.append("resourcePermission.name IS NULL");
2009 }
2010 else {
2011 query.append("resourcePermission.name = ?");
2012 }
2013
2014 query.append(" AND ");
2015
2016 query.append("resourcePermission.scope = ?");
2017
2018 query.append(" AND ");
2019
2020 if (primKey == null) {
2021 query.append("resourcePermission.primKey IS NULL");
2022 }
2023 else {
2024 query.append("resourcePermission.primKey = ?");
2025 }
2026
2027 query.append(" AND ");
2028
2029 query.append("resourcePermission.roleId = ?");
2030
2031 query.append(" ");
2032
2033 Query q = session.createQuery(query.toString());
2034
2035 QueryPos qPos = QueryPos.getInstance(q);
2036
2037 qPos.add(companyId);
2038
2039 if (name != null) {
2040 qPos.add(name);
2041 }
2042
2043 qPos.add(scope);
2044
2045 if (primKey != null) {
2046 qPos.add(primKey);
2047 }
2048
2049 qPos.add(roleId);
2050
2051 count = (Long)q.uniqueResult();
2052 }
2053 catch (Exception e) {
2054 throw processException(e);
2055 }
2056 finally {
2057 if (count == null) {
2058 count = Long.valueOf(0);
2059 }
2060
2061 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_N_S_P_R,
2062 finderArgs, count);
2063
2064 closeSession(session);
2065 }
2066 }
2067
2068 return count.intValue();
2069 }
2070
2071 public int countAll() throws SystemException {
2072 Object[] finderArgs = new Object[0];
2073
2074 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
2075 finderArgs, this);
2076
2077 if (count == null) {
2078 Session session = null;
2079
2080 try {
2081 session = openSession();
2082
2083 Query q = session.createQuery(
2084 "SELECT COUNT(resourcePermission) FROM ResourcePermission resourcePermission");
2085
2086 count = (Long)q.uniqueResult();
2087 }
2088 catch (Exception e) {
2089 throw processException(e);
2090 }
2091 finally {
2092 if (count == null) {
2093 count = Long.valueOf(0);
2094 }
2095
2096 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
2097 count);
2098
2099 closeSession(session);
2100 }
2101 }
2102
2103 return count.intValue();
2104 }
2105
2106 public void afterPropertiesSet() {
2107 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
2108 com.liferay.portal.util.PropsUtil.get(
2109 "value.object.listener.com.liferay.portal.model.ResourcePermission")));
2110
2111 if (listenerClassNames.length > 0) {
2112 try {
2113 List<ModelListener<ResourcePermission>> listenersList = new ArrayList<ModelListener<ResourcePermission>>();
2114
2115 for (String listenerClassName : listenerClassNames) {
2116 listenersList.add((ModelListener<ResourcePermission>)Class.forName(
2117 listenerClassName).newInstance());
2118 }
2119
2120 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
2121 }
2122 catch (Exception e) {
2123 _log.error(e);
2124 }
2125 }
2126 }
2127
2128 @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
2129 protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
2130 @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
2131 protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
2132 @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
2133 protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
2134 @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
2135 protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
2136 @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
2137 protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
2138 @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
2139 protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
2140 @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
2141 protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
2142 @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
2143 protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
2144 @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
2145 protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
2146 @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
2147 protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
2148 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
2149 protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
2150 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
2151 protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
2152 @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
2153 protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
2154 @BeanReference(name = "com.liferay.portal.service.persistence.LockPersistence.impl")
2155 protected com.liferay.portal.service.persistence.LockPersistence lockPersistence;
2156 @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
2157 protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
2158 @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
2159 protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
2160 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
2161 protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
2162 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
2163 protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
2164 @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
2165 protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
2166 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
2167 protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
2168 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
2169 protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
2170 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
2171 protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
2172 @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
2173 protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
2174 @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
2175 protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
2176 @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
2177 protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
2178 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
2179 protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
2180 @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
2181 protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
2182 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
2183 protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
2184 @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
2185 protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
2186 @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
2187 protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
2188 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
2189 protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
2190 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
2191 protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
2192 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
2193 protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
2194 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
2195 protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
2196 @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
2197 protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
2198 @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
2199 protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
2200 @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
2201 protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
2202 @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
2203 protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
2204 @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
2205 protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
2206 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
2207 protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
2208 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupGroupRolePersistence.impl")
2209 protected com.liferay.portal.service.persistence.UserGroupGroupRolePersistence userGroupGroupRolePersistence;
2210 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
2211 protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
2212 @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
2213 protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
2214 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
2215 protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
2216 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
2217 protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
2218 @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
2219 protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
2220 @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
2221 protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
2222 private static Log _log = LogFactoryUtil.getLog(ResourcePermissionPersistenceImpl.class);
2223}