1
22
23 package com.liferay.portal.service.persistence;
24
25 import com.liferay.portal.NoSuchResourceActionException;
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.ResourceAction;
46 import com.liferay.portal.model.impl.ResourceActionImpl;
47 import com.liferay.portal.model.impl.ResourceActionModelImpl;
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 ResourceActionPersistenceImpl extends BasePersistenceImpl
68 implements ResourceActionPersistence {
69 public static final String FINDER_CLASS_NAME_ENTITY = ResourceActionImpl.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_NAME = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
73 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
74 FINDER_CLASS_NAME_LIST, "findByName",
75 new String[] { String.class.getName() });
76 public static final FinderPath FINDER_PATH_FIND_BY_OBC_NAME = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
77 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
78 FINDER_CLASS_NAME_LIST, "findByName",
79 new String[] {
80 String.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_NAME = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
86 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
87 FINDER_CLASS_NAME_LIST, "countByName",
88 new String[] { String.class.getName() });
89 public static final FinderPath FINDER_PATH_FETCH_BY_N_A = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
90 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
91 FINDER_CLASS_NAME_ENTITY, "fetchByN_A",
92 new String[] { String.class.getName(), String.class.getName() });
93 public static final FinderPath FINDER_PATH_COUNT_BY_N_A = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
94 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
95 FINDER_CLASS_NAME_LIST, "countByN_A",
96 new String[] { String.class.getName(), String.class.getName() });
97 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
98 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
99 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
100 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
101 ResourceActionModelImpl.FINDER_CACHE_ENABLED,
102 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
103
104 public void cacheResult(ResourceAction resourceAction) {
105 EntityCacheUtil.putResult(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
106 ResourceActionImpl.class, resourceAction.getPrimaryKey(),
107 resourceAction);
108
109 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_A,
110 new Object[] { resourceAction.getName(), resourceAction.getActionId() },
111 resourceAction);
112 }
113
114 public void cacheResult(List<ResourceAction> resourceActions) {
115 for (ResourceAction resourceAction : resourceActions) {
116 if (EntityCacheUtil.getResult(
117 ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
118 ResourceActionImpl.class,
119 resourceAction.getPrimaryKey(), this) == null) {
120 cacheResult(resourceAction);
121 }
122 }
123 }
124
125 public void clearCache() {
126 CacheRegistry.clear(ResourceActionImpl.class.getName());
127 EntityCacheUtil.clearCache(ResourceActionImpl.class.getName());
128 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
129 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
130 }
131
132 public ResourceAction create(long resourceActionId) {
133 ResourceAction resourceAction = new ResourceActionImpl();
134
135 resourceAction.setNew(true);
136 resourceAction.setPrimaryKey(resourceActionId);
137
138 return resourceAction;
139 }
140
141 public ResourceAction remove(long resourceActionId)
142 throws NoSuchResourceActionException, SystemException {
143 Session session = null;
144
145 try {
146 session = openSession();
147
148 ResourceAction resourceAction = (ResourceAction)session.get(ResourceActionImpl.class,
149 new Long(resourceActionId));
150
151 if (resourceAction == null) {
152 if (_log.isWarnEnabled()) {
153 _log.warn("No ResourceAction exists with the primary key " +
154 resourceActionId);
155 }
156
157 throw new NoSuchResourceActionException(
158 "No ResourceAction exists with the primary key " +
159 resourceActionId);
160 }
161
162 return remove(resourceAction);
163 }
164 catch (NoSuchResourceActionException nsee) {
165 throw nsee;
166 }
167 catch (Exception e) {
168 throw processException(e);
169 }
170 finally {
171 closeSession(session);
172 }
173 }
174
175 public ResourceAction remove(ResourceAction resourceAction)
176 throws SystemException {
177 for (ModelListener<ResourceAction> listener : listeners) {
178 listener.onBeforeRemove(resourceAction);
179 }
180
181 resourceAction = removeImpl(resourceAction);
182
183 for (ModelListener<ResourceAction> listener : listeners) {
184 listener.onAfterRemove(resourceAction);
185 }
186
187 return resourceAction;
188 }
189
190 protected ResourceAction removeImpl(ResourceAction resourceAction)
191 throws SystemException {
192 resourceAction = toUnwrappedModel(resourceAction);
193
194 Session session = null;
195
196 try {
197 session = openSession();
198
199 if (resourceAction.isCachedModel() || BatchSessionUtil.isEnabled()) {
200 Object staleObject = session.get(ResourceActionImpl.class,
201 resourceAction.getPrimaryKeyObj());
202
203 if (staleObject != null) {
204 session.evict(staleObject);
205 }
206 }
207
208 session.delete(resourceAction);
209
210 session.flush();
211 }
212 catch (Exception e) {
213 throw processException(e);
214 }
215 finally {
216 closeSession(session);
217 }
218
219 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
220
221 ResourceActionModelImpl resourceActionModelImpl = (ResourceActionModelImpl)resourceAction;
222
223 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_N_A,
224 new Object[] {
225 resourceActionModelImpl.getOriginalName(),
226
227 resourceActionModelImpl.getOriginalActionId()
228 });
229
230 EntityCacheUtil.removeResult(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
231 ResourceActionImpl.class, resourceAction.getPrimaryKey());
232
233 return resourceAction;
234 }
235
236
239 public ResourceAction update(ResourceAction resourceAction)
240 throws SystemException {
241 if (_log.isWarnEnabled()) {
242 _log.warn(
243 "Using the deprecated update(ResourceAction resourceAction) method. Use update(ResourceAction resourceAction, boolean merge) instead.");
244 }
245
246 return update(resourceAction, false);
247 }
248
249
261 public ResourceAction update(ResourceAction resourceAction, boolean merge)
262 throws SystemException {
263 boolean isNew = resourceAction.isNew();
264
265 for (ModelListener<ResourceAction> listener : listeners) {
266 if (isNew) {
267 listener.onBeforeCreate(resourceAction);
268 }
269 else {
270 listener.onBeforeUpdate(resourceAction);
271 }
272 }
273
274 resourceAction = updateImpl(resourceAction, merge);
275
276 for (ModelListener<ResourceAction> listener : listeners) {
277 if (isNew) {
278 listener.onAfterCreate(resourceAction);
279 }
280 else {
281 listener.onAfterUpdate(resourceAction);
282 }
283 }
284
285 return resourceAction;
286 }
287
288 public ResourceAction updateImpl(
289 com.liferay.portal.model.ResourceAction resourceAction, boolean merge)
290 throws SystemException {
291 resourceAction = toUnwrappedModel(resourceAction);
292
293 boolean isNew = resourceAction.isNew();
294
295 ResourceActionModelImpl resourceActionModelImpl = (ResourceActionModelImpl)resourceAction;
296
297 Session session = null;
298
299 try {
300 session = openSession();
301
302 BatchSessionUtil.update(session, resourceAction, merge);
303
304 resourceAction.setNew(false);
305 }
306 catch (Exception e) {
307 throw processException(e);
308 }
309 finally {
310 closeSession(session);
311 }
312
313 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
314
315 EntityCacheUtil.putResult(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
316 ResourceActionImpl.class, resourceAction.getPrimaryKey(),
317 resourceAction);
318
319 if (!isNew &&
320 (!Validator.equals(resourceAction.getName(),
321 resourceActionModelImpl.getOriginalName()) ||
322 !Validator.equals(resourceAction.getActionId(),
323 resourceActionModelImpl.getOriginalActionId()))) {
324 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_N_A,
325 new Object[] {
326 resourceActionModelImpl.getOriginalName(),
327
328 resourceActionModelImpl.getOriginalActionId()
329 });
330 }
331
332 if (isNew ||
333 (!Validator.equals(resourceAction.getName(),
334 resourceActionModelImpl.getOriginalName()) ||
335 !Validator.equals(resourceAction.getActionId(),
336 resourceActionModelImpl.getOriginalActionId()))) {
337 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_A,
338 new Object[] {
339 resourceAction.getName(),
340
341 resourceAction.getActionId()
342 }, resourceAction);
343 }
344
345 return resourceAction;
346 }
347
348 protected ResourceAction toUnwrappedModel(ResourceAction resourceAction) {
349 if (resourceAction instanceof ResourceActionImpl) {
350 return resourceAction;
351 }
352
353 ResourceActionImpl resourceActionImpl = new ResourceActionImpl();
354
355 resourceActionImpl.setNew(resourceAction.isNew());
356 resourceActionImpl.setPrimaryKey(resourceAction.getPrimaryKey());
357
358 resourceActionImpl.setResourceActionId(resourceAction.getResourceActionId());
359 resourceActionImpl.setName(resourceAction.getName());
360 resourceActionImpl.setActionId(resourceAction.getActionId());
361 resourceActionImpl.setBitwiseValue(resourceAction.getBitwiseValue());
362
363 return resourceActionImpl;
364 }
365
366 public ResourceAction findByPrimaryKey(long resourceActionId)
367 throws NoSuchResourceActionException, SystemException {
368 ResourceAction resourceAction = fetchByPrimaryKey(resourceActionId);
369
370 if (resourceAction == null) {
371 if (_log.isWarnEnabled()) {
372 _log.warn("No ResourceAction exists with the primary key " +
373 resourceActionId);
374 }
375
376 throw new NoSuchResourceActionException(
377 "No ResourceAction exists with the primary key " +
378 resourceActionId);
379 }
380
381 return resourceAction;
382 }
383
384 public ResourceAction fetchByPrimaryKey(long resourceActionId)
385 throws SystemException {
386 ResourceAction resourceAction = (ResourceAction)EntityCacheUtil.getResult(ResourceActionModelImpl.ENTITY_CACHE_ENABLED,
387 ResourceActionImpl.class, resourceActionId, this);
388
389 if (resourceAction == null) {
390 Session session = null;
391
392 try {
393 session = openSession();
394
395 resourceAction = (ResourceAction)session.get(ResourceActionImpl.class,
396 new Long(resourceActionId));
397 }
398 catch (Exception e) {
399 throw processException(e);
400 }
401 finally {
402 if (resourceAction != null) {
403 cacheResult(resourceAction);
404 }
405
406 closeSession(session);
407 }
408 }
409
410 return resourceAction;
411 }
412
413 public List<ResourceAction> findByName(String name)
414 throws SystemException {
415 Object[] finderArgs = new Object[] { name };
416
417 List<ResourceAction> list = (List<ResourceAction>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_NAME,
418 finderArgs, this);
419
420 if (list == null) {
421 Session session = null;
422
423 try {
424 session = openSession();
425
426 StringBuilder query = new StringBuilder();
427
428 query.append(
429 "SELECT resourceAction FROM ResourceAction resourceAction WHERE ");
430
431 if (name == null) {
432 query.append("resourceAction.name IS NULL");
433 }
434 else {
435 query.append("resourceAction.name = ?");
436 }
437
438 query.append(" ");
439
440 query.append("ORDER BY ");
441
442 query.append("resourceAction.name ASC, ");
443 query.append("resourceAction.bitwiseValue ASC");
444
445 Query q = session.createQuery(query.toString());
446
447 QueryPos qPos = QueryPos.getInstance(q);
448
449 if (name != null) {
450 qPos.add(name);
451 }
452
453 list = q.list();
454 }
455 catch (Exception e) {
456 throw processException(e);
457 }
458 finally {
459 if (list == null) {
460 list = new ArrayList<ResourceAction>();
461 }
462
463 cacheResult(list);
464
465 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_NAME, finderArgs,
466 list);
467
468 closeSession(session);
469 }
470 }
471
472 return list;
473 }
474
475 public List<ResourceAction> findByName(String name, int start, int end)
476 throws SystemException {
477 return findByName(name, start, end, null);
478 }
479
480 public List<ResourceAction> findByName(String name, int start, int end,
481 OrderByComparator obc) throws SystemException {
482 Object[] finderArgs = new Object[] {
483 name,
484
485 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
486 };
487
488 List<ResourceAction> list = (List<ResourceAction>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_NAME,
489 finderArgs, this);
490
491 if (list == null) {
492 Session session = null;
493
494 try {
495 session = openSession();
496
497 StringBuilder query = new StringBuilder();
498
499 query.append(
500 "SELECT resourceAction FROM ResourceAction resourceAction WHERE ");
501
502 if (name == null) {
503 query.append("resourceAction.name IS NULL");
504 }
505 else {
506 query.append("resourceAction.name = ?");
507 }
508
509 query.append(" ");
510
511 if (obc != null) {
512 query.append("ORDER BY ");
513
514 String[] orderByFields = obc.getOrderByFields();
515
516 for (int i = 0; i < orderByFields.length; i++) {
517 query.append("resourceAction.");
518 query.append(orderByFields[i]);
519
520 if (obc.isAscending()) {
521 query.append(" ASC");
522 }
523 else {
524 query.append(" DESC");
525 }
526
527 if ((i + 1) < orderByFields.length) {
528 query.append(", ");
529 }
530 }
531 }
532
533 else {
534 query.append("ORDER BY ");
535
536 query.append("resourceAction.name ASC, ");
537 query.append("resourceAction.bitwiseValue ASC");
538 }
539
540 Query q = session.createQuery(query.toString());
541
542 QueryPos qPos = QueryPos.getInstance(q);
543
544 if (name != null) {
545 qPos.add(name);
546 }
547
548 list = (List<ResourceAction>)QueryUtil.list(q, getDialect(),
549 start, end);
550 }
551 catch (Exception e) {
552 throw processException(e);
553 }
554 finally {
555 if (list == null) {
556 list = new ArrayList<ResourceAction>();
557 }
558
559 cacheResult(list);
560
561 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_NAME,
562 finderArgs, list);
563
564 closeSession(session);
565 }
566 }
567
568 return list;
569 }
570
571 public ResourceAction findByName_First(String name, OrderByComparator obc)
572 throws NoSuchResourceActionException, SystemException {
573 List<ResourceAction> list = findByName(name, 0, 1, obc);
574
575 if (list.isEmpty()) {
576 StringBuilder msg = new StringBuilder();
577
578 msg.append("No ResourceAction exists with the key {");
579
580 msg.append("name=" + name);
581
582 msg.append(StringPool.CLOSE_CURLY_BRACE);
583
584 throw new NoSuchResourceActionException(msg.toString());
585 }
586 else {
587 return list.get(0);
588 }
589 }
590
591 public ResourceAction findByName_Last(String name, OrderByComparator obc)
592 throws NoSuchResourceActionException, SystemException {
593 int count = countByName(name);
594
595 List<ResourceAction> list = findByName(name, count - 1, count, obc);
596
597 if (list.isEmpty()) {
598 StringBuilder msg = new StringBuilder();
599
600 msg.append("No ResourceAction exists with the key {");
601
602 msg.append("name=" + name);
603
604 msg.append(StringPool.CLOSE_CURLY_BRACE);
605
606 throw new NoSuchResourceActionException(msg.toString());
607 }
608 else {
609 return list.get(0);
610 }
611 }
612
613 public ResourceAction[] findByName_PrevAndNext(long resourceActionId,
614 String name, OrderByComparator obc)
615 throws NoSuchResourceActionException, SystemException {
616 ResourceAction resourceAction = findByPrimaryKey(resourceActionId);
617
618 int count = countByName(name);
619
620 Session session = null;
621
622 try {
623 session = openSession();
624
625 StringBuilder query = new StringBuilder();
626
627 query.append(
628 "SELECT resourceAction FROM ResourceAction resourceAction WHERE ");
629
630 if (name == null) {
631 query.append("resourceAction.name IS NULL");
632 }
633 else {
634 query.append("resourceAction.name = ?");
635 }
636
637 query.append(" ");
638
639 if (obc != null) {
640 query.append("ORDER BY ");
641
642 String[] orderByFields = obc.getOrderByFields();
643
644 for (int i = 0; i < orderByFields.length; i++) {
645 query.append("resourceAction.");
646 query.append(orderByFields[i]);
647
648 if (obc.isAscending()) {
649 query.append(" ASC");
650 }
651 else {
652 query.append(" DESC");
653 }
654
655 if ((i + 1) < orderByFields.length) {
656 query.append(", ");
657 }
658 }
659 }
660
661 else {
662 query.append("ORDER BY ");
663
664 query.append("resourceAction.name ASC, ");
665 query.append("resourceAction.bitwiseValue ASC");
666 }
667
668 Query q = session.createQuery(query.toString());
669
670 QueryPos qPos = QueryPos.getInstance(q);
671
672 if (name != null) {
673 qPos.add(name);
674 }
675
676 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
677 resourceAction);
678
679 ResourceAction[] array = new ResourceActionImpl[3];
680
681 array[0] = (ResourceAction)objArray[0];
682 array[1] = (ResourceAction)objArray[1];
683 array[2] = (ResourceAction)objArray[2];
684
685 return array;
686 }
687 catch (Exception e) {
688 throw processException(e);
689 }
690 finally {
691 closeSession(session);
692 }
693 }
694
695 public ResourceAction findByN_A(String name, String actionId)
696 throws NoSuchResourceActionException, SystemException {
697 ResourceAction resourceAction = fetchByN_A(name, actionId);
698
699 if (resourceAction == null) {
700 StringBuilder msg = new StringBuilder();
701
702 msg.append("No ResourceAction exists with the key {");
703
704 msg.append("name=" + name);
705
706 msg.append(", ");
707 msg.append("actionId=" + actionId);
708
709 msg.append(StringPool.CLOSE_CURLY_BRACE);
710
711 if (_log.isWarnEnabled()) {
712 _log.warn(msg.toString());
713 }
714
715 throw new NoSuchResourceActionException(msg.toString());
716 }
717
718 return resourceAction;
719 }
720
721 public ResourceAction fetchByN_A(String name, String actionId)
722 throws SystemException {
723 return fetchByN_A(name, actionId, true);
724 }
725
726 public ResourceAction fetchByN_A(String name, String actionId,
727 boolean retrieveFromCache) throws SystemException {
728 Object[] finderArgs = new Object[] { name, actionId };
729
730 Object result = null;
731
732 if (retrieveFromCache) {
733 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_N_A,
734 finderArgs, this);
735 }
736
737 if (result == null) {
738 Session session = null;
739
740 try {
741 session = openSession();
742
743 StringBuilder query = new StringBuilder();
744
745 query.append(
746 "SELECT resourceAction FROM ResourceAction resourceAction WHERE ");
747
748 if (name == null) {
749 query.append("resourceAction.name IS NULL");
750 }
751 else {
752 query.append("resourceAction.name = ?");
753 }
754
755 query.append(" AND ");
756
757 if (actionId == null) {
758 query.append("resourceAction.actionId IS NULL");
759 }
760 else {
761 query.append("resourceAction.actionId = ?");
762 }
763
764 query.append(" ");
765
766 query.append("ORDER BY ");
767
768 query.append("resourceAction.name ASC, ");
769 query.append("resourceAction.bitwiseValue ASC");
770
771 Query q = session.createQuery(query.toString());
772
773 QueryPos qPos = QueryPos.getInstance(q);
774
775 if (name != null) {
776 qPos.add(name);
777 }
778
779 if (actionId != null) {
780 qPos.add(actionId);
781 }
782
783 List<ResourceAction> list = q.list();
784
785 result = list;
786
787 ResourceAction resourceAction = null;
788
789 if (list.isEmpty()) {
790 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_A,
791 finderArgs, list);
792 }
793 else {
794 resourceAction = list.get(0);
795
796 cacheResult(resourceAction);
797
798 if ((resourceAction.getName() == null) ||
799 !resourceAction.getName().equals(name) ||
800 (resourceAction.getActionId() == null) ||
801 !resourceAction.getActionId().equals(actionId)) {
802 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_A,
803 finderArgs, resourceAction);
804 }
805 }
806
807 return resourceAction;
808 }
809 catch (Exception e) {
810 throw processException(e);
811 }
812 finally {
813 if (result == null) {
814 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_A,
815 finderArgs, new ArrayList<ResourceAction>());
816 }
817
818 closeSession(session);
819 }
820 }
821 else {
822 if (result instanceof List<?>) {
823 return null;
824 }
825 else {
826 return (ResourceAction)result;
827 }
828 }
829 }
830
831 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
832 throws SystemException {
833 Session session = null;
834
835 try {
836 session = openSession();
837
838 dynamicQuery.compile(session);
839
840 return dynamicQuery.list();
841 }
842 catch (Exception e) {
843 throw processException(e);
844 }
845 finally {
846 closeSession(session);
847 }
848 }
849
850 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
851 int start, int end) throws SystemException {
852 Session session = null;
853
854 try {
855 session = openSession();
856
857 dynamicQuery.setLimit(start, end);
858
859 dynamicQuery.compile(session);
860
861 return dynamicQuery.list();
862 }
863 catch (Exception e) {
864 throw processException(e);
865 }
866 finally {
867 closeSession(session);
868 }
869 }
870
871 public List<ResourceAction> findAll() throws SystemException {
872 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
873 }
874
875 public List<ResourceAction> findAll(int start, int end)
876 throws SystemException {
877 return findAll(start, end, null);
878 }
879
880 public List<ResourceAction> findAll(int start, int end,
881 OrderByComparator obc) throws SystemException {
882 Object[] finderArgs = new Object[] {
883 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
884 };
885
886 List<ResourceAction> list = (List<ResourceAction>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
887 finderArgs, this);
888
889 if (list == null) {
890 Session session = null;
891
892 try {
893 session = openSession();
894
895 StringBuilder query = new StringBuilder();
896
897 query.append(
898 "SELECT resourceAction FROM ResourceAction resourceAction ");
899
900 if (obc != null) {
901 query.append("ORDER BY ");
902
903 String[] orderByFields = obc.getOrderByFields();
904
905 for (int i = 0; i < orderByFields.length; i++) {
906 query.append("resourceAction.");
907 query.append(orderByFields[i]);
908
909 if (obc.isAscending()) {
910 query.append(" ASC");
911 }
912 else {
913 query.append(" DESC");
914 }
915
916 if ((i + 1) < orderByFields.length) {
917 query.append(", ");
918 }
919 }
920 }
921
922 else {
923 query.append("ORDER BY ");
924
925 query.append("resourceAction.name ASC, ");
926 query.append("resourceAction.bitwiseValue ASC");
927 }
928
929 Query q = session.createQuery(query.toString());
930
931 if (obc == null) {
932 list = (List<ResourceAction>)QueryUtil.list(q,
933 getDialect(), start, end, false);
934
935 Collections.sort(list);
936 }
937 else {
938 list = (List<ResourceAction>)QueryUtil.list(q,
939 getDialect(), start, end);
940 }
941 }
942 catch (Exception e) {
943 throw processException(e);
944 }
945 finally {
946 if (list == null) {
947 list = new ArrayList<ResourceAction>();
948 }
949
950 cacheResult(list);
951
952 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
953
954 closeSession(session);
955 }
956 }
957
958 return list;
959 }
960
961 public void removeByName(String name) throws SystemException {
962 for (ResourceAction resourceAction : findByName(name)) {
963 remove(resourceAction);
964 }
965 }
966
967 public void removeByN_A(String name, String actionId)
968 throws NoSuchResourceActionException, SystemException {
969 ResourceAction resourceAction = findByN_A(name, actionId);
970
971 remove(resourceAction);
972 }
973
974 public void removeAll() throws SystemException {
975 for (ResourceAction resourceAction : findAll()) {
976 remove(resourceAction);
977 }
978 }
979
980 public int countByName(String name) throws SystemException {
981 Object[] finderArgs = new Object[] { name };
982
983 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_NAME,
984 finderArgs, this);
985
986 if (count == null) {
987 Session session = null;
988
989 try {
990 session = openSession();
991
992 StringBuilder query = new StringBuilder();
993
994 query.append("SELECT COUNT(resourceAction) ");
995 query.append("FROM ResourceAction resourceAction WHERE ");
996
997 if (name == null) {
998 query.append("resourceAction.name IS NULL");
999 }
1000 else {
1001 query.append("resourceAction.name = ?");
1002 }
1003
1004 query.append(" ");
1005
1006 Query q = session.createQuery(query.toString());
1007
1008 QueryPos qPos = QueryPos.getInstance(q);
1009
1010 if (name != null) {
1011 qPos.add(name);
1012 }
1013
1014 count = (Long)q.uniqueResult();
1015 }
1016 catch (Exception e) {
1017 throw processException(e);
1018 }
1019 finally {
1020 if (count == null) {
1021 count = Long.valueOf(0);
1022 }
1023
1024 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_NAME,
1025 finderArgs, count);
1026
1027 closeSession(session);
1028 }
1029 }
1030
1031 return count.intValue();
1032 }
1033
1034 public int countByN_A(String name, String actionId)
1035 throws SystemException {
1036 Object[] finderArgs = new Object[] { name, actionId };
1037
1038 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_N_A,
1039 finderArgs, this);
1040
1041 if (count == null) {
1042 Session session = null;
1043
1044 try {
1045 session = openSession();
1046
1047 StringBuilder query = new StringBuilder();
1048
1049 query.append("SELECT COUNT(resourceAction) ");
1050 query.append("FROM ResourceAction resourceAction WHERE ");
1051
1052 if (name == null) {
1053 query.append("resourceAction.name IS NULL");
1054 }
1055 else {
1056 query.append("resourceAction.name = ?");
1057 }
1058
1059 query.append(" AND ");
1060
1061 if (actionId == null) {
1062 query.append("resourceAction.actionId IS NULL");
1063 }
1064 else {
1065 query.append("resourceAction.actionId = ?");
1066 }
1067
1068 query.append(" ");
1069
1070 Query q = session.createQuery(query.toString());
1071
1072 QueryPos qPos = QueryPos.getInstance(q);
1073
1074 if (name != null) {
1075 qPos.add(name);
1076 }
1077
1078 if (actionId != null) {
1079 qPos.add(actionId);
1080 }
1081
1082 count = (Long)q.uniqueResult();
1083 }
1084 catch (Exception e) {
1085 throw processException(e);
1086 }
1087 finally {
1088 if (count == null) {
1089 count = Long.valueOf(0);
1090 }
1091
1092 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_N_A, finderArgs,
1093 count);
1094
1095 closeSession(session);
1096 }
1097 }
1098
1099 return count.intValue();
1100 }
1101
1102 public int countAll() throws SystemException {
1103 Object[] finderArgs = new Object[0];
1104
1105 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1106 finderArgs, this);
1107
1108 if (count == null) {
1109 Session session = null;
1110
1111 try {
1112 session = openSession();
1113
1114 Query q = session.createQuery(
1115 "SELECT COUNT(resourceAction) FROM ResourceAction resourceAction");
1116
1117 count = (Long)q.uniqueResult();
1118 }
1119 catch (Exception e) {
1120 throw processException(e);
1121 }
1122 finally {
1123 if (count == null) {
1124 count = Long.valueOf(0);
1125 }
1126
1127 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1128 count);
1129
1130 closeSession(session);
1131 }
1132 }
1133
1134 return count.intValue();
1135 }
1136
1137 public void afterPropertiesSet() {
1138 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1139 com.liferay.portal.util.PropsUtil.get(
1140 "value.object.listener.com.liferay.portal.model.ResourceAction")));
1141
1142 if (listenerClassNames.length > 0) {
1143 try {
1144 List<ModelListener<ResourceAction>> listenersList = new ArrayList<ModelListener<ResourceAction>>();
1145
1146 for (String listenerClassName : listenerClassNames) {
1147 listenersList.add((ModelListener<ResourceAction>)Class.forName(
1148 listenerClassName).newInstance());
1149 }
1150
1151 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1152 }
1153 catch (Exception e) {
1154 _log.error(e);
1155 }
1156 }
1157 }
1158
1159 @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
1160 protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
1161 @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
1162 protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
1163 @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
1164 protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
1165 @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
1166 protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
1167 @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
1168 protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
1169 @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
1170 protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
1171 @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
1172 protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
1173 @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
1174 protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
1175 @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
1176 protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
1177 @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
1178 protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
1179 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
1180 protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
1181 @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
1182 protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
1183 @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
1184 protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
1185 @BeanReference(name = "com.liferay.portal.service.persistence.LockPersistence.impl")
1186 protected com.liferay.portal.service.persistence.LockPersistence lockPersistence;
1187 @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
1188 protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
1189 @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
1190 protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
1191 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
1192 protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
1193 @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
1194 protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
1195 @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
1196 protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
1197 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
1198 protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
1199 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
1200 protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
1201 @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
1202 protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
1203 @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
1204 protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
1205 @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
1206 protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
1207 @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
1208 protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
1209 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
1210 protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
1211 @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
1212 protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
1213 @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
1214 protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
1215 @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
1216 protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
1217 @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
1218 protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
1219 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
1220 protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1221 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
1222 protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
1223 @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
1224 protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
1225 @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
1226 protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
1227 @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
1228 protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
1229 @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
1230 protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
1231 @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
1232 protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
1233 @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
1234 protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
1235 @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
1236 protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1237 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
1238 protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
1239 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupGroupRolePersistence.impl")
1240 protected com.liferay.portal.service.persistence.UserGroupGroupRolePersistence userGroupGroupRolePersistence;
1241 @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
1242 protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
1243 @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
1244 protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
1245 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
1246 protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
1247 @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
1248 protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
1249 @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
1250 protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
1251 @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
1252 protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
1253 private static Log _log = LogFactoryUtil.getLog(ResourceActionPersistenceImpl.class);
1254}