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