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