1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portal.service.persistence;
21  
22  import com.liferay.portal.NoSuchClassNameException;
23  import com.liferay.portal.SystemException;
24  import com.liferay.portal.kernel.annotation.BeanReference;
25  import com.liferay.portal.kernel.cache.CacheRegistry;
26  import com.liferay.portal.kernel.dao.orm.DynamicQuery;
27  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
28  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
29  import com.liferay.portal.kernel.dao.orm.FinderPath;
30  import com.liferay.portal.kernel.dao.orm.Query;
31  import com.liferay.portal.kernel.dao.orm.QueryPos;
32  import com.liferay.portal.kernel.dao.orm.QueryUtil;
33  import com.liferay.portal.kernel.dao.orm.Session;
34  import com.liferay.portal.kernel.log.Log;
35  import com.liferay.portal.kernel.log.LogFactoryUtil;
36  import com.liferay.portal.kernel.util.GetterUtil;
37  import com.liferay.portal.kernel.util.OrderByComparator;
38  import com.liferay.portal.kernel.util.StringPool;
39  import com.liferay.portal.kernel.util.StringUtil;
40  import com.liferay.portal.kernel.util.Validator;
41  import com.liferay.portal.model.ClassName;
42  import com.liferay.portal.model.ModelListener;
43  import com.liferay.portal.model.impl.ClassNameImpl;
44  import com.liferay.portal.model.impl.ClassNameModelImpl;
45  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
46  
47  import java.util.ArrayList;
48  import java.util.Collections;
49  import java.util.List;
50  
51  /**
52   * <a href="ClassNamePersistenceImpl.java.html"><b><i>View Source</i></b></a>
53   *
54   * @author Brian Wing Shun Chan
55   *
56   */
57  public class ClassNamePersistenceImpl extends BasePersistenceImpl
58      implements ClassNamePersistence {
59      public static final String FINDER_CLASS_NAME_ENTITY = ClassNameImpl.class.getName();
60      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
61          ".List";
62      public static final FinderPath FINDER_PATH_FETCH_BY_VALUE = new FinderPath(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
63              ClassNameModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
64              "fetchByValue", new String[] { String.class.getName() });
65      public static final FinderPath FINDER_PATH_COUNT_BY_VALUE = new FinderPath(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
66              ClassNameModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
67              "countByValue", new String[] { String.class.getName() });
68      public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
69              ClassNameModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
70              "findAll", new String[0]);
71      public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
72              ClassNameModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
73              "countAll", new String[0]);
74  
75      public void cacheResult(ClassName className) {
76          EntityCacheUtil.putResult(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
77              ClassNameImpl.class, className.getPrimaryKey(), className);
78  
79          FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_VALUE,
80              new Object[] { className.getValue() }, className);
81      }
82  
83      public void cacheResult(List<ClassName> classNames) {
84          for (ClassName className : classNames) {
85              if (EntityCacheUtil.getResult(
86                          ClassNameModelImpl.ENTITY_CACHE_ENABLED,
87                          ClassNameImpl.class, className.getPrimaryKey(), this) == null) {
88                  cacheResult(className);
89              }
90          }
91      }
92  
93      public void clearCache() {
94          CacheRegistry.clear(ClassNameImpl.class.getName());
95          EntityCacheUtil.clearCache(ClassNameImpl.class.getName());
96          FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
97          FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
98      }
99  
100     public ClassName create(long classNameId) {
101         ClassName className = new ClassNameImpl();
102 
103         className.setNew(true);
104         className.setPrimaryKey(classNameId);
105 
106         return className;
107     }
108 
109     public ClassName remove(long classNameId)
110         throws NoSuchClassNameException, SystemException {
111         Session session = null;
112 
113         try {
114             session = openSession();
115 
116             ClassName className = (ClassName)session.get(ClassNameImpl.class,
117                     new Long(classNameId));
118 
119             if (className == null) {
120                 if (_log.isWarnEnabled()) {
121                     _log.warn("No ClassName exists with the primary key " +
122                         classNameId);
123                 }
124 
125                 throw new NoSuchClassNameException(
126                     "No ClassName exists with the primary key " + classNameId);
127             }
128 
129             return remove(className);
130         }
131         catch (NoSuchClassNameException nsee) {
132             throw nsee;
133         }
134         catch (Exception e) {
135             throw processException(e);
136         }
137         finally {
138             closeSession(session);
139         }
140     }
141 
142     public ClassName remove(ClassName className) throws SystemException {
143         for (ModelListener<ClassName> listener : listeners) {
144             listener.onBeforeRemove(className);
145         }
146 
147         className = removeImpl(className);
148 
149         for (ModelListener<ClassName> listener : listeners) {
150             listener.onAfterRemove(className);
151         }
152 
153         return className;
154     }
155 
156     protected ClassName removeImpl(ClassName className)
157         throws SystemException {
158         Session session = null;
159 
160         try {
161             session = openSession();
162 
163             if (className.isCachedModel() || BatchSessionUtil.isEnabled()) {
164                 Object staleObject = session.get(ClassNameImpl.class,
165                         className.getPrimaryKeyObj());
166 
167                 if (staleObject != null) {
168                     session.evict(staleObject);
169                 }
170             }
171 
172             session.delete(className);
173 
174             session.flush();
175         }
176         catch (Exception e) {
177             throw processException(e);
178         }
179         finally {
180             closeSession(session);
181         }
182 
183         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
184 
185         ClassNameModelImpl classNameModelImpl = (ClassNameModelImpl)className;
186 
187         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_VALUE,
188             new Object[] { classNameModelImpl.getOriginalValue() });
189 
190         EntityCacheUtil.removeResult(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
191             ClassNameImpl.class, className.getPrimaryKey());
192 
193         return className;
194     }
195 
196     /**
197      * @deprecated Use <code>update(ClassName className, boolean merge)</code>.
198      */
199     public ClassName update(ClassName className) throws SystemException {
200         if (_log.isWarnEnabled()) {
201             _log.warn(
202                 "Using the deprecated update(ClassName className) method. Use update(ClassName className, boolean merge) instead.");
203         }
204 
205         return update(className, false);
206     }
207 
208     /**
209      * Add, update, or merge, the entity. This method also calls the model
210      * listeners to trigger the proper events associated with adding, deleting,
211      * or updating an entity.
212      *
213      * @param        className the entity to add, update, or merge
214      * @param        merge boolean value for whether to merge the entity. The
215      *                default value is false. Setting merge to true is more
216      *                expensive and should only be true when className is
217      *                transient. See LEP-5473 for a detailed discussion of this
218      *                method.
219      * @return        true if the portlet can be displayed via Ajax
220      */
221     public ClassName update(ClassName className, boolean merge)
222         throws SystemException {
223         boolean isNew = className.isNew();
224 
225         for (ModelListener<ClassName> listener : listeners) {
226             if (isNew) {
227                 listener.onBeforeCreate(className);
228             }
229             else {
230                 listener.onBeforeUpdate(className);
231             }
232         }
233 
234         className = updateImpl(className, merge);
235 
236         for (ModelListener<ClassName> listener : listeners) {
237             if (isNew) {
238                 listener.onAfterCreate(className);
239             }
240             else {
241                 listener.onAfterUpdate(className);
242             }
243         }
244 
245         return className;
246     }
247 
248     public ClassName updateImpl(com.liferay.portal.model.ClassName className,
249         boolean merge) throws SystemException {
250         boolean isNew = className.isNew();
251 
252         ClassNameModelImpl classNameModelImpl = (ClassNameModelImpl)className;
253 
254         Session session = null;
255 
256         try {
257             session = openSession();
258 
259             BatchSessionUtil.update(session, className, merge);
260 
261             className.setNew(false);
262         }
263         catch (Exception e) {
264             throw processException(e);
265         }
266         finally {
267             closeSession(session);
268         }
269 
270         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
271 
272         EntityCacheUtil.putResult(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
273             ClassNameImpl.class, className.getPrimaryKey(), className);
274 
275         if (!isNew &&
276                 (!Validator.equals(className.getValue(),
277                     classNameModelImpl.getOriginalValue()))) {
278             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_VALUE,
279                 new Object[] { classNameModelImpl.getOriginalValue() });
280         }
281 
282         if (isNew ||
283                 (!Validator.equals(className.getValue(),
284                     classNameModelImpl.getOriginalValue()))) {
285             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_VALUE,
286                 new Object[] { className.getValue() }, className);
287         }
288 
289         return className;
290     }
291 
292     public ClassName findByPrimaryKey(long classNameId)
293         throws NoSuchClassNameException, SystemException {
294         ClassName className = fetchByPrimaryKey(classNameId);
295 
296         if (className == null) {
297             if (_log.isWarnEnabled()) {
298                 _log.warn("No ClassName exists with the primary key " +
299                     classNameId);
300             }
301 
302             throw new NoSuchClassNameException(
303                 "No ClassName exists with the primary key " + classNameId);
304         }
305 
306         return className;
307     }
308 
309     public ClassName fetchByPrimaryKey(long classNameId)
310         throws SystemException {
311         ClassName className = (ClassName)EntityCacheUtil.getResult(ClassNameModelImpl.ENTITY_CACHE_ENABLED,
312                 ClassNameImpl.class, classNameId, this);
313 
314         if (className == null) {
315             Session session = null;
316 
317             try {
318                 session = openSession();
319 
320                 className = (ClassName)session.get(ClassNameImpl.class,
321                         new Long(classNameId));
322             }
323             catch (Exception e) {
324                 throw processException(e);
325             }
326             finally {
327                 if (className != null) {
328                     cacheResult(className);
329                 }
330 
331                 closeSession(session);
332             }
333         }
334 
335         return className;
336     }
337 
338     public ClassName findByValue(String value)
339         throws NoSuchClassNameException, SystemException {
340         ClassName className = fetchByValue(value);
341 
342         if (className == null) {
343             StringBuilder msg = new StringBuilder();
344 
345             msg.append("No ClassName exists with the key {");
346 
347             msg.append("value=" + value);
348 
349             msg.append(StringPool.CLOSE_CURLY_BRACE);
350 
351             if (_log.isWarnEnabled()) {
352                 _log.warn(msg.toString());
353             }
354 
355             throw new NoSuchClassNameException(msg.toString());
356         }
357 
358         return className;
359     }
360 
361     public ClassName fetchByValue(String value) throws SystemException {
362         return fetchByValue(value, true);
363     }
364 
365     public ClassName fetchByValue(String value, boolean retrieveFromCache)
366         throws SystemException {
367         Object[] finderArgs = new Object[] { value };
368 
369         Object result = null;
370 
371         if (retrieveFromCache) {
372             result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_VALUE,
373                     finderArgs, this);
374         }
375 
376         if (result == null) {
377             Session session = null;
378 
379             try {
380                 session = openSession();
381 
382                 StringBuilder query = new StringBuilder();
383 
384                 query.append("SELECT className FROM ClassName className WHERE ");
385 
386                 if (value == null) {
387                     query.append("className.value IS NULL");
388                 }
389                 else {
390                     query.append("className.value = ?");
391                 }
392 
393                 query.append(" ");
394 
395                 Query q = session.createQuery(query.toString());
396 
397                 QueryPos qPos = QueryPos.getInstance(q);
398 
399                 if (value != null) {
400                     qPos.add(value);
401                 }
402 
403                 List<ClassName> list = q.list();
404 
405                 result = list;
406 
407                 ClassName className = null;
408 
409                 if (list.isEmpty()) {
410                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_VALUE,
411                         finderArgs, list);
412                 }
413                 else {
414                     className = list.get(0);
415 
416                     cacheResult(className);
417 
418                     if ((className.getValue() == null) ||
419                             !className.getValue().equals(value)) {
420                         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_VALUE,
421                             finderArgs, className);
422                     }
423                 }
424 
425                 return className;
426             }
427             catch (Exception e) {
428                 throw processException(e);
429             }
430             finally {
431                 if (result == null) {
432                     FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_VALUE,
433                         finderArgs, new ArrayList<ClassName>());
434                 }
435 
436                 closeSession(session);
437             }
438         }
439         else {
440             if (result instanceof List) {
441                 return null;
442             }
443             else {
444                 return (ClassName)result;
445             }
446         }
447     }
448 
449     public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
450         throws SystemException {
451         Session session = null;
452 
453         try {
454             session = openSession();
455 
456             dynamicQuery.compile(session);
457 
458             return dynamicQuery.list();
459         }
460         catch (Exception e) {
461             throw processException(e);
462         }
463         finally {
464             closeSession(session);
465         }
466     }
467 
468     public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
469         int start, int end) throws SystemException {
470         Session session = null;
471 
472         try {
473             session = openSession();
474 
475             dynamicQuery.setLimit(start, end);
476 
477             dynamicQuery.compile(session);
478 
479             return dynamicQuery.list();
480         }
481         catch (Exception e) {
482             throw processException(e);
483         }
484         finally {
485             closeSession(session);
486         }
487     }
488 
489     public List<ClassName> findAll() throws SystemException {
490         return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
491     }
492 
493     public List<ClassName> findAll(int start, int end)
494         throws SystemException {
495         return findAll(start, end, null);
496     }
497 
498     public List<ClassName> findAll(int start, int end, OrderByComparator obc)
499         throws SystemException {
500         Object[] finderArgs = new Object[] {
501                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
502             };
503 
504         List<ClassName> list = (List<ClassName>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
505                 finderArgs, this);
506 
507         if (list == null) {
508             Session session = null;
509 
510             try {
511                 session = openSession();
512 
513                 StringBuilder query = new StringBuilder();
514 
515                 query.append("SELECT className FROM ClassName className ");
516 
517                 if (obc != null) {
518                     query.append("ORDER BY ");
519 
520                     String[] orderByFields = obc.getOrderByFields();
521 
522                     for (int i = 0; i < orderByFields.length; i++) {
523                         query.append("className.");
524                         query.append(orderByFields[i]);
525 
526                         if (obc.isAscending()) {
527                             query.append(" ASC");
528                         }
529                         else {
530                             query.append(" DESC");
531                         }
532 
533                         if ((i + 1) < orderByFields.length) {
534                             query.append(", ");
535                         }
536                     }
537                 }
538 
539                 Query q = session.createQuery(query.toString());
540 
541                 if (obc == null) {
542                     list = (List<ClassName>)QueryUtil.list(q, getDialect(),
543                             start, end, false);
544 
545                     Collections.sort(list);
546                 }
547                 else {
548                     list = (List<ClassName>)QueryUtil.list(q, getDialect(),
549                             start, end);
550                 }
551             }
552             catch (Exception e) {
553                 throw processException(e);
554             }
555             finally {
556                 if (list == null) {
557                     list = new ArrayList<ClassName>();
558                 }
559 
560                 cacheResult(list);
561 
562                 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
563 
564                 closeSession(session);
565             }
566         }
567 
568         return list;
569     }
570 
571     public void removeByValue(String value)
572         throws NoSuchClassNameException, SystemException {
573         ClassName className = findByValue(value);
574 
575         remove(className);
576     }
577 
578     public void removeAll() throws SystemException {
579         for (ClassName className : findAll()) {
580             remove(className);
581         }
582     }
583 
584     public int countByValue(String value) throws SystemException {
585         Object[] finderArgs = new Object[] { value };
586 
587         Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_VALUE,
588                 finderArgs, this);
589 
590         if (count == null) {
591             Session session = null;
592 
593             try {
594                 session = openSession();
595 
596                 StringBuilder query = new StringBuilder();
597 
598                 query.append("SELECT COUNT(className) ");
599                 query.append("FROM ClassName className WHERE ");
600 
601                 if (value == null) {
602                     query.append("className.value IS NULL");
603                 }
604                 else {
605                     query.append("className.value = ?");
606                 }
607 
608                 query.append(" ");
609 
610                 Query q = session.createQuery(query.toString());
611 
612                 QueryPos qPos = QueryPos.getInstance(q);
613 
614                 if (value != null) {
615                     qPos.add(value);
616                 }
617 
618                 count = (Long)q.uniqueResult();
619             }
620             catch (Exception e) {
621                 throw processException(e);
622             }
623             finally {
624                 if (count == null) {
625                     count = Long.valueOf(0);
626                 }
627 
628                 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_VALUE,
629                     finderArgs, count);
630 
631                 closeSession(session);
632             }
633         }
634 
635         return count.intValue();
636     }
637 
638     public int countAll() throws SystemException {
639         Object[] finderArgs = new Object[0];
640 
641         Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
642                 finderArgs, this);
643 
644         if (count == null) {
645             Session session = null;
646 
647             try {
648                 session = openSession();
649 
650                 Query q = session.createQuery(
651                         "SELECT COUNT(className) FROM ClassName className");
652 
653                 count = (Long)q.uniqueResult();
654             }
655             catch (Exception e) {
656                 throw processException(e);
657             }
658             finally {
659                 if (count == null) {
660                     count = Long.valueOf(0);
661                 }
662 
663                 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
664                     count);
665 
666                 closeSession(session);
667             }
668         }
669 
670         return count.intValue();
671     }
672 
673     public void afterPropertiesSet() {
674         String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
675                     com.liferay.portal.util.PropsUtil.get(
676                         "value.object.listener.com.liferay.portal.model.ClassName")));
677 
678         if (listenerClassNames.length > 0) {
679             try {
680                 List<ModelListener<ClassName>> listenersList = new ArrayList<ModelListener<ClassName>>();
681 
682                 for (String listenerClassName : listenerClassNames) {
683                     listenersList.add((ModelListener<ClassName>)Class.forName(
684                             listenerClassName).newInstance());
685                 }
686 
687                 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
688             }
689             catch (Exception e) {
690                 _log.error(e);
691             }
692         }
693     }
694 
695     @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
696     protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
697     @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
698     protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
699     @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
700     protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
701     @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
702     protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
703     @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
704     protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
705     @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
706     protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
707     @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
708     protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
709     @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
710     protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
711     @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
712     protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
713     @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
714     protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
715     @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
716     protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
717     @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
718     protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
719     @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
720     protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
721     @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
722     protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
723     @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
724     protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
725     @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
726     protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
727     @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
728     protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
729     @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
730     protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
731     @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
732     protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
733     @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
734     protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
735     @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
736     protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
737     @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
738     protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
739     @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
740     protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
741     @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
742     protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
743     @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
744     protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
745     @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
746     protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
747     @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
748     protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
749     @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
750     protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
751     @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
752     protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
753     @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
754     protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
755     @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
756     protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
757     @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
758     protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
759     @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
760     protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
761     @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
762     protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
763     @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
764     protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
765     @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
766     protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
767     @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
768     protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
769     @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
770     protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
771     @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
772     protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
773     @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
774     protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
775     @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
776     protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
777     @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
778     protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
779     @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
780     protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
781     @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
782     protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
783     @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
784     protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
785     private static Log _log = LogFactoryUtil.getLog(ClassNamePersistenceImpl.class);
786 }