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