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.NoSuchUserTrackerException;
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.model.ModelListener;
41  import com.liferay.portal.model.UserTracker;
42  import com.liferay.portal.model.impl.UserTrackerImpl;
43  import com.liferay.portal.model.impl.UserTrackerModelImpl;
44  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
45  
46  import java.util.ArrayList;
47  import java.util.Collections;
48  import java.util.List;
49  
50  /**
51   * <a href="UserTrackerPersistenceImpl.java.html"><b><i>View Source</i></b></a>
52   *
53   * @author Brian Wing Shun Chan
54   *
55   */
56  public class UserTrackerPersistenceImpl extends BasePersistenceImpl
57      implements UserTrackerPersistence {
58      public static final String FINDER_CLASS_NAME_ENTITY = UserTrackerImpl.class.getName();
59      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
60          ".List";
61      public static final FinderPath FINDER_PATH_FIND_BY_COMPANYID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
62              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
63              "findByCompanyId", new String[] { Long.class.getName() });
64      public static final FinderPath FINDER_PATH_FIND_BY_OBC_COMPANYID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
65              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
66              "findByCompanyId",
67              new String[] {
68                  Long.class.getName(),
69                  
70              "java.lang.Integer", "java.lang.Integer",
71                  "com.liferay.portal.kernel.util.OrderByComparator"
72              });
73      public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
74              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
75              "countByCompanyId", new String[] { Long.class.getName() });
76      public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
77              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
78              "findByUserId", new String[] { Long.class.getName() });
79      public static final FinderPath FINDER_PATH_FIND_BY_OBC_USERID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
80              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
81              "findByUserId",
82              new String[] {
83                  Long.class.getName(),
84                  
85              "java.lang.Integer", "java.lang.Integer",
86                  "com.liferay.portal.kernel.util.OrderByComparator"
87              });
88      public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
89              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
90              "countByUserId", new String[] { Long.class.getName() });
91      public static final FinderPath FINDER_PATH_FIND_BY_SESSIONID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
92              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
93              "findBySessionId", new String[] { String.class.getName() });
94      public static final FinderPath FINDER_PATH_FIND_BY_OBC_SESSIONID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
95              UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
96              "findBySessionId",
97              new String[] {
98                  String.class.getName(),
99                  
100             "java.lang.Integer", "java.lang.Integer",
101                 "com.liferay.portal.kernel.util.OrderByComparator"
102             });
103     public static final FinderPath FINDER_PATH_COUNT_BY_SESSIONID = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
104             UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
105             "countBySessionId", new String[] { String.class.getName() });
106     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
107             UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
108             "findAll", new String[0]);
109     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
110             UserTrackerModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
111             "countAll", new String[0]);
112 
113     public void cacheResult(UserTracker userTracker) {
114         EntityCacheUtil.putResult(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
115             UserTrackerImpl.class, userTracker.getPrimaryKey(), userTracker);
116     }
117 
118     public void cacheResult(List<UserTracker> userTrackers) {
119         for (UserTracker userTracker : userTrackers) {
120             if (EntityCacheUtil.getResult(
121                         UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
122                         UserTrackerImpl.class, userTracker.getPrimaryKey(), this) == null) {
123                 cacheResult(userTracker);
124             }
125         }
126     }
127 
128     public void clearCache() {
129         CacheRegistry.clear(UserTrackerImpl.class.getName());
130         EntityCacheUtil.clearCache(UserTrackerImpl.class.getName());
131         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
132         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
133     }
134 
135     public UserTracker create(long userTrackerId) {
136         UserTracker userTracker = new UserTrackerImpl();
137 
138         userTracker.setNew(true);
139         userTracker.setPrimaryKey(userTrackerId);
140 
141         return userTracker;
142     }
143 
144     public UserTracker remove(long userTrackerId)
145         throws NoSuchUserTrackerException, SystemException {
146         Session session = null;
147 
148         try {
149             session = openSession();
150 
151             UserTracker userTracker = (UserTracker)session.get(UserTrackerImpl.class,
152                     new Long(userTrackerId));
153 
154             if (userTracker == null) {
155                 if (_log.isWarnEnabled()) {
156                     _log.warn("No UserTracker exists with the primary key " +
157                         userTrackerId);
158                 }
159 
160                 throw new NoSuchUserTrackerException(
161                     "No UserTracker exists with the primary key " +
162                     userTrackerId);
163             }
164 
165             return remove(userTracker);
166         }
167         catch (NoSuchUserTrackerException nsee) {
168             throw nsee;
169         }
170         catch (Exception e) {
171             throw processException(e);
172         }
173         finally {
174             closeSession(session);
175         }
176     }
177 
178     public UserTracker remove(UserTracker userTracker)
179         throws SystemException {
180         for (ModelListener<UserTracker> listener : listeners) {
181             listener.onBeforeRemove(userTracker);
182         }
183 
184         userTracker = removeImpl(userTracker);
185 
186         for (ModelListener<UserTracker> listener : listeners) {
187             listener.onAfterRemove(userTracker);
188         }
189 
190         return userTracker;
191     }
192 
193     protected UserTracker removeImpl(UserTracker userTracker)
194         throws SystemException {
195         Session session = null;
196 
197         try {
198             session = openSession();
199 
200             if (userTracker.isCachedModel() || BatchSessionUtil.isEnabled()) {
201                 Object staleObject = session.get(UserTrackerImpl.class,
202                         userTracker.getPrimaryKeyObj());
203 
204                 if (staleObject != null) {
205                     session.evict(staleObject);
206                 }
207             }
208 
209             session.delete(userTracker);
210 
211             session.flush();
212         }
213         catch (Exception e) {
214             throw processException(e);
215         }
216         finally {
217             closeSession(session);
218         }
219 
220         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
221 
222         EntityCacheUtil.removeResult(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
223             UserTrackerImpl.class, userTracker.getPrimaryKey());
224 
225         return userTracker;
226     }
227 
228     /**
229      * @deprecated Use <code>update(UserTracker userTracker, boolean merge)</code>.
230      */
231     public UserTracker update(UserTracker userTracker)
232         throws SystemException {
233         if (_log.isWarnEnabled()) {
234             _log.warn(
235                 "Using the deprecated update(UserTracker userTracker) method. Use update(UserTracker userTracker, boolean merge) instead.");
236         }
237 
238         return update(userTracker, false);
239     }
240 
241     /**
242      * Add, update, or merge, the entity. This method also calls the model
243      * listeners to trigger the proper events associated with adding, deleting,
244      * or updating an entity.
245      *
246      * @param        userTracker the entity to add, update, or merge
247      * @param        merge boolean value for whether to merge the entity. The
248      *                default value is false. Setting merge to true is more
249      *                expensive and should only be true when userTracker is
250      *                transient. See LEP-5473 for a detailed discussion of this
251      *                method.
252      * @return        true if the portlet can be displayed via Ajax
253      */
254     public UserTracker update(UserTracker userTracker, boolean merge)
255         throws SystemException {
256         boolean isNew = userTracker.isNew();
257 
258         for (ModelListener<UserTracker> listener : listeners) {
259             if (isNew) {
260                 listener.onBeforeCreate(userTracker);
261             }
262             else {
263                 listener.onBeforeUpdate(userTracker);
264             }
265         }
266 
267         userTracker = updateImpl(userTracker, merge);
268 
269         for (ModelListener<UserTracker> listener : listeners) {
270             if (isNew) {
271                 listener.onAfterCreate(userTracker);
272             }
273             else {
274                 listener.onAfterUpdate(userTracker);
275             }
276         }
277 
278         return userTracker;
279     }
280 
281     public UserTracker updateImpl(
282         com.liferay.portal.model.UserTracker userTracker, boolean merge)
283         throws SystemException {
284         Session session = null;
285 
286         try {
287             session = openSession();
288 
289             BatchSessionUtil.update(session, userTracker, merge);
290 
291             userTracker.setNew(false);
292         }
293         catch (Exception e) {
294             throw processException(e);
295         }
296         finally {
297             closeSession(session);
298         }
299 
300         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
301 
302         EntityCacheUtil.putResult(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
303             UserTrackerImpl.class, userTracker.getPrimaryKey(), userTracker);
304 
305         return userTracker;
306     }
307 
308     public UserTracker findByPrimaryKey(long userTrackerId)
309         throws NoSuchUserTrackerException, SystemException {
310         UserTracker userTracker = fetchByPrimaryKey(userTrackerId);
311 
312         if (userTracker == null) {
313             if (_log.isWarnEnabled()) {
314                 _log.warn("No UserTracker exists with the primary key " +
315                     userTrackerId);
316             }
317 
318             throw new NoSuchUserTrackerException(
319                 "No UserTracker exists with the primary key " + userTrackerId);
320         }
321 
322         return userTracker;
323     }
324 
325     public UserTracker fetchByPrimaryKey(long userTrackerId)
326         throws SystemException {
327         UserTracker userTracker = (UserTracker)EntityCacheUtil.getResult(UserTrackerModelImpl.ENTITY_CACHE_ENABLED,
328                 UserTrackerImpl.class, userTrackerId, this);
329 
330         if (userTracker == null) {
331             Session session = null;
332 
333             try {
334                 session = openSession();
335 
336                 userTracker = (UserTracker)session.get(UserTrackerImpl.class,
337                         new Long(userTrackerId));
338             }
339             catch (Exception e) {
340                 throw processException(e);
341             }
342             finally {
343                 if (userTracker != null) {
344                     cacheResult(userTracker);
345                 }
346 
347                 closeSession(session);
348             }
349         }
350 
351         return userTracker;
352     }
353 
354     public List<UserTracker> findByCompanyId(long companyId)
355         throws SystemException {
356         Object[] finderArgs = new Object[] { new Long(companyId) };
357 
358         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_COMPANYID,
359                 finderArgs, this);
360 
361         if (list == null) {
362             Session session = null;
363 
364             try {
365                 session = openSession();
366 
367                 StringBuilder query = new StringBuilder();
368 
369                 query.append(
370                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
371 
372                 query.append("userTracker.companyId = ?");
373 
374                 query.append(" ");
375 
376                 Query q = session.createQuery(query.toString());
377 
378                 QueryPos qPos = QueryPos.getInstance(q);
379 
380                 qPos.add(companyId);
381 
382                 list = q.list();
383             }
384             catch (Exception e) {
385                 throw processException(e);
386             }
387             finally {
388                 if (list == null) {
389                     list = new ArrayList<UserTracker>();
390                 }
391 
392                 cacheResult(list);
393 
394                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_COMPANYID,
395                     finderArgs, list);
396 
397                 closeSession(session);
398             }
399         }
400 
401         return list;
402     }
403 
404     public List<UserTracker> findByCompanyId(long companyId, int start, int end)
405         throws SystemException {
406         return findByCompanyId(companyId, start, end, null);
407     }
408 
409     public List<UserTracker> findByCompanyId(long companyId, int start,
410         int end, OrderByComparator obc) throws SystemException {
411         Object[] finderArgs = new Object[] {
412                 new Long(companyId),
413                 
414                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
415             };
416 
417         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
418                 finderArgs, this);
419 
420         if (list == null) {
421             Session session = null;
422 
423             try {
424                 session = openSession();
425 
426                 StringBuilder query = new StringBuilder();
427 
428                 query.append(
429                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
430 
431                 query.append("userTracker.companyId = ?");
432 
433                 query.append(" ");
434 
435                 if (obc != null) {
436                     query.append("ORDER BY ");
437 
438                     String[] orderByFields = obc.getOrderByFields();
439 
440                     for (int i = 0; i < orderByFields.length; i++) {
441                         query.append("userTracker.");
442                         query.append(orderByFields[i]);
443 
444                         if (obc.isAscending()) {
445                             query.append(" ASC");
446                         }
447                         else {
448                             query.append(" DESC");
449                         }
450 
451                         if ((i + 1) < orderByFields.length) {
452                             query.append(", ");
453                         }
454                     }
455                 }
456 
457                 Query q = session.createQuery(query.toString());
458 
459                 QueryPos qPos = QueryPos.getInstance(q);
460 
461                 qPos.add(companyId);
462 
463                 list = (List<UserTracker>)QueryUtil.list(q, getDialect(),
464                         start, end);
465             }
466             catch (Exception e) {
467                 throw processException(e);
468             }
469             finally {
470                 if (list == null) {
471                     list = new ArrayList<UserTracker>();
472                 }
473 
474                 cacheResult(list);
475 
476                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
477                     finderArgs, list);
478 
479                 closeSession(session);
480             }
481         }
482 
483         return list;
484     }
485 
486     public UserTracker findByCompanyId_First(long companyId,
487         OrderByComparator obc)
488         throws NoSuchUserTrackerException, SystemException {
489         List<UserTracker> list = findByCompanyId(companyId, 0, 1, obc);
490 
491         if (list.isEmpty()) {
492             StringBuilder msg = new StringBuilder();
493 
494             msg.append("No UserTracker exists with the key {");
495 
496             msg.append("companyId=" + companyId);
497 
498             msg.append(StringPool.CLOSE_CURLY_BRACE);
499 
500             throw new NoSuchUserTrackerException(msg.toString());
501         }
502         else {
503             return list.get(0);
504         }
505     }
506 
507     public UserTracker findByCompanyId_Last(long companyId,
508         OrderByComparator obc)
509         throws NoSuchUserTrackerException, SystemException {
510         int count = countByCompanyId(companyId);
511 
512         List<UserTracker> list = findByCompanyId(companyId, count - 1, count,
513                 obc);
514 
515         if (list.isEmpty()) {
516             StringBuilder msg = new StringBuilder();
517 
518             msg.append("No UserTracker exists with the key {");
519 
520             msg.append("companyId=" + companyId);
521 
522             msg.append(StringPool.CLOSE_CURLY_BRACE);
523 
524             throw new NoSuchUserTrackerException(msg.toString());
525         }
526         else {
527             return list.get(0);
528         }
529     }
530 
531     public UserTracker[] findByCompanyId_PrevAndNext(long userTrackerId,
532         long companyId, OrderByComparator obc)
533         throws NoSuchUserTrackerException, SystemException {
534         UserTracker userTracker = findByPrimaryKey(userTrackerId);
535 
536         int count = countByCompanyId(companyId);
537 
538         Session session = null;
539 
540         try {
541             session = openSession();
542 
543             StringBuilder query = new StringBuilder();
544 
545             query.append(
546                 "SELECT userTracker FROM UserTracker userTracker WHERE ");
547 
548             query.append("userTracker.companyId = ?");
549 
550             query.append(" ");
551 
552             if (obc != null) {
553                 query.append("ORDER BY ");
554 
555                 String[] orderByFields = obc.getOrderByFields();
556 
557                 for (int i = 0; i < orderByFields.length; i++) {
558                     query.append("userTracker.");
559                     query.append(orderByFields[i]);
560 
561                     if (obc.isAscending()) {
562                         query.append(" ASC");
563                     }
564                     else {
565                         query.append(" DESC");
566                     }
567 
568                     if ((i + 1) < orderByFields.length) {
569                         query.append(", ");
570                     }
571                 }
572             }
573 
574             Query q = session.createQuery(query.toString());
575 
576             QueryPos qPos = QueryPos.getInstance(q);
577 
578             qPos.add(companyId);
579 
580             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
581                     userTracker);
582 
583             UserTracker[] array = new UserTrackerImpl[3];
584 
585             array[0] = (UserTracker)objArray[0];
586             array[1] = (UserTracker)objArray[1];
587             array[2] = (UserTracker)objArray[2];
588 
589             return array;
590         }
591         catch (Exception e) {
592             throw processException(e);
593         }
594         finally {
595             closeSession(session);
596         }
597     }
598 
599     public List<UserTracker> findByUserId(long userId)
600         throws SystemException {
601         Object[] finderArgs = new Object[] { new Long(userId) };
602 
603         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
604                 finderArgs, this);
605 
606         if (list == null) {
607             Session session = null;
608 
609             try {
610                 session = openSession();
611 
612                 StringBuilder query = new StringBuilder();
613 
614                 query.append(
615                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
616 
617                 query.append("userTracker.userId = ?");
618 
619                 query.append(" ");
620 
621                 Query q = session.createQuery(query.toString());
622 
623                 QueryPos qPos = QueryPos.getInstance(q);
624 
625                 qPos.add(userId);
626 
627                 list = q.list();
628             }
629             catch (Exception e) {
630                 throw processException(e);
631             }
632             finally {
633                 if (list == null) {
634                     list = new ArrayList<UserTracker>();
635                 }
636 
637                 cacheResult(list);
638 
639                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
640                     finderArgs, list);
641 
642                 closeSession(session);
643             }
644         }
645 
646         return list;
647     }
648 
649     public List<UserTracker> findByUserId(long userId, int start, int end)
650         throws SystemException {
651         return findByUserId(userId, start, end, null);
652     }
653 
654     public List<UserTracker> findByUserId(long userId, int start, int end,
655         OrderByComparator obc) throws SystemException {
656         Object[] finderArgs = new Object[] {
657                 new Long(userId),
658                 
659                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
660             };
661 
662         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_USERID,
663                 finderArgs, this);
664 
665         if (list == null) {
666             Session session = null;
667 
668             try {
669                 session = openSession();
670 
671                 StringBuilder query = new StringBuilder();
672 
673                 query.append(
674                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
675 
676                 query.append("userTracker.userId = ?");
677 
678                 query.append(" ");
679 
680                 if (obc != null) {
681                     query.append("ORDER BY ");
682 
683                     String[] orderByFields = obc.getOrderByFields();
684 
685                     for (int i = 0; i < orderByFields.length; i++) {
686                         query.append("userTracker.");
687                         query.append(orderByFields[i]);
688 
689                         if (obc.isAscending()) {
690                             query.append(" ASC");
691                         }
692                         else {
693                             query.append(" DESC");
694                         }
695 
696                         if ((i + 1) < orderByFields.length) {
697                             query.append(", ");
698                         }
699                     }
700                 }
701 
702                 Query q = session.createQuery(query.toString());
703 
704                 QueryPos qPos = QueryPos.getInstance(q);
705 
706                 qPos.add(userId);
707 
708                 list = (List<UserTracker>)QueryUtil.list(q, getDialect(),
709                         start, end);
710             }
711             catch (Exception e) {
712                 throw processException(e);
713             }
714             finally {
715                 if (list == null) {
716                     list = new ArrayList<UserTracker>();
717                 }
718 
719                 cacheResult(list);
720 
721                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_USERID,
722                     finderArgs, list);
723 
724                 closeSession(session);
725             }
726         }
727 
728         return list;
729     }
730 
731     public UserTracker findByUserId_First(long userId, OrderByComparator obc)
732         throws NoSuchUserTrackerException, SystemException {
733         List<UserTracker> list = findByUserId(userId, 0, 1, obc);
734 
735         if (list.isEmpty()) {
736             StringBuilder msg = new StringBuilder();
737 
738             msg.append("No UserTracker exists with the key {");
739 
740             msg.append("userId=" + userId);
741 
742             msg.append(StringPool.CLOSE_CURLY_BRACE);
743 
744             throw new NoSuchUserTrackerException(msg.toString());
745         }
746         else {
747             return list.get(0);
748         }
749     }
750 
751     public UserTracker findByUserId_Last(long userId, OrderByComparator obc)
752         throws NoSuchUserTrackerException, SystemException {
753         int count = countByUserId(userId);
754 
755         List<UserTracker> list = findByUserId(userId, count - 1, count, obc);
756 
757         if (list.isEmpty()) {
758             StringBuilder msg = new StringBuilder();
759 
760             msg.append("No UserTracker exists with the key {");
761 
762             msg.append("userId=" + userId);
763 
764             msg.append(StringPool.CLOSE_CURLY_BRACE);
765 
766             throw new NoSuchUserTrackerException(msg.toString());
767         }
768         else {
769             return list.get(0);
770         }
771     }
772 
773     public UserTracker[] findByUserId_PrevAndNext(long userTrackerId,
774         long userId, OrderByComparator obc)
775         throws NoSuchUserTrackerException, SystemException {
776         UserTracker userTracker = findByPrimaryKey(userTrackerId);
777 
778         int count = countByUserId(userId);
779 
780         Session session = null;
781 
782         try {
783             session = openSession();
784 
785             StringBuilder query = new StringBuilder();
786 
787             query.append(
788                 "SELECT userTracker FROM UserTracker userTracker WHERE ");
789 
790             query.append("userTracker.userId = ?");
791 
792             query.append(" ");
793 
794             if (obc != null) {
795                 query.append("ORDER BY ");
796 
797                 String[] orderByFields = obc.getOrderByFields();
798 
799                 for (int i = 0; i < orderByFields.length; i++) {
800                     query.append("userTracker.");
801                     query.append(orderByFields[i]);
802 
803                     if (obc.isAscending()) {
804                         query.append(" ASC");
805                     }
806                     else {
807                         query.append(" DESC");
808                     }
809 
810                     if ((i + 1) < orderByFields.length) {
811                         query.append(", ");
812                     }
813                 }
814             }
815 
816             Query q = session.createQuery(query.toString());
817 
818             QueryPos qPos = QueryPos.getInstance(q);
819 
820             qPos.add(userId);
821 
822             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
823                     userTracker);
824 
825             UserTracker[] array = new UserTrackerImpl[3];
826 
827             array[0] = (UserTracker)objArray[0];
828             array[1] = (UserTracker)objArray[1];
829             array[2] = (UserTracker)objArray[2];
830 
831             return array;
832         }
833         catch (Exception e) {
834             throw processException(e);
835         }
836         finally {
837             closeSession(session);
838         }
839     }
840 
841     public List<UserTracker> findBySessionId(String sessionId)
842         throws SystemException {
843         Object[] finderArgs = new Object[] { sessionId };
844 
845         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_SESSIONID,
846                 finderArgs, this);
847 
848         if (list == null) {
849             Session session = null;
850 
851             try {
852                 session = openSession();
853 
854                 StringBuilder query = new StringBuilder();
855 
856                 query.append(
857                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
858 
859                 if (sessionId == null) {
860                     query.append("userTracker.sessionId IS NULL");
861                 }
862                 else {
863                     query.append("userTracker.sessionId = ?");
864                 }
865 
866                 query.append(" ");
867 
868                 Query q = session.createQuery(query.toString());
869 
870                 QueryPos qPos = QueryPos.getInstance(q);
871 
872                 if (sessionId != null) {
873                     qPos.add(sessionId);
874                 }
875 
876                 list = q.list();
877             }
878             catch (Exception e) {
879                 throw processException(e);
880             }
881             finally {
882                 if (list == null) {
883                     list = new ArrayList<UserTracker>();
884                 }
885 
886                 cacheResult(list);
887 
888                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_SESSIONID,
889                     finderArgs, list);
890 
891                 closeSession(session);
892             }
893         }
894 
895         return list;
896     }
897 
898     public List<UserTracker> findBySessionId(String sessionId, int start,
899         int end) throws SystemException {
900         return findBySessionId(sessionId, start, end, null);
901     }
902 
903     public List<UserTracker> findBySessionId(String sessionId, int start,
904         int end, OrderByComparator obc) throws SystemException {
905         Object[] finderArgs = new Object[] {
906                 sessionId,
907                 
908                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
909             };
910 
911         List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_SESSIONID,
912                 finderArgs, this);
913 
914         if (list == null) {
915             Session session = null;
916 
917             try {
918                 session = openSession();
919 
920                 StringBuilder query = new StringBuilder();
921 
922                 query.append(
923                     "SELECT userTracker FROM UserTracker userTracker WHERE ");
924 
925                 if (sessionId == null) {
926                     query.append("userTracker.sessionId IS NULL");
927                 }
928                 else {
929                     query.append("userTracker.sessionId = ?");
930                 }
931 
932                 query.append(" ");
933 
934                 if (obc != null) {
935                     query.append("ORDER BY ");
936 
937                     String[] orderByFields = obc.getOrderByFields();
938 
939                     for (int i = 0; i < orderByFields.length; i++) {
940                         query.append("userTracker.");
941                         query.append(orderByFields[i]);
942 
943                         if (obc.isAscending()) {
944                             query.append(" ASC");
945                         }
946                         else {
947                             query.append(" DESC");
948                         }
949 
950                         if ((i + 1) < orderByFields.length) {
951                             query.append(", ");
952                         }
953                     }
954                 }
955 
956                 Query q = session.createQuery(query.toString());
957 
958                 QueryPos qPos = QueryPos.getInstance(q);
959 
960                 if (sessionId != null) {
961                     qPos.add(sessionId);
962                 }
963 
964                 list = (List<UserTracker>)QueryUtil.list(q, getDialect(),
965                         start, end);
966             }
967             catch (Exception e) {
968                 throw processException(e);
969             }
970             finally {
971                 if (list == null) {
972                     list = new ArrayList<UserTracker>();
973                 }
974 
975                 cacheResult(list);
976 
977                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_SESSIONID,
978                     finderArgs, list);
979 
980                 closeSession(session);
981             }
982         }
983 
984         return list;
985     }
986 
987     public UserTracker findBySessionId_First(String sessionId,
988         OrderByComparator obc)
989         throws NoSuchUserTrackerException, SystemException {
990         List<UserTracker> list = findBySessionId(sessionId, 0, 1, obc);
991 
992         if (list.isEmpty()) {
993             StringBuilder msg = new StringBuilder();
994 
995             msg.append("No UserTracker exists with the key {");
996 
997             msg.append("sessionId=" + sessionId);
998 
999             msg.append(StringPool.CLOSE_CURLY_BRACE);
1000
1001            throw new NoSuchUserTrackerException(msg.toString());
1002        }
1003        else {
1004            return list.get(0);
1005        }
1006    }
1007
1008    public UserTracker findBySessionId_Last(String sessionId,
1009        OrderByComparator obc)
1010        throws NoSuchUserTrackerException, SystemException {
1011        int count = countBySessionId(sessionId);
1012
1013        List<UserTracker> list = findBySessionId(sessionId, count - 1, count,
1014                obc);
1015
1016        if (list.isEmpty()) {
1017            StringBuilder msg = new StringBuilder();
1018
1019            msg.append("No UserTracker exists with the key {");
1020
1021            msg.append("sessionId=" + sessionId);
1022
1023            msg.append(StringPool.CLOSE_CURLY_BRACE);
1024
1025            throw new NoSuchUserTrackerException(msg.toString());
1026        }
1027        else {
1028            return list.get(0);
1029        }
1030    }
1031
1032    public UserTracker[] findBySessionId_PrevAndNext(long userTrackerId,
1033        String sessionId, OrderByComparator obc)
1034        throws NoSuchUserTrackerException, SystemException {
1035        UserTracker userTracker = findByPrimaryKey(userTrackerId);
1036
1037        int count = countBySessionId(sessionId);
1038
1039        Session session = null;
1040
1041        try {
1042            session = openSession();
1043
1044            StringBuilder query = new StringBuilder();
1045
1046            query.append(
1047                "SELECT userTracker FROM UserTracker userTracker WHERE ");
1048
1049            if (sessionId == null) {
1050                query.append("userTracker.sessionId IS NULL");
1051            }
1052            else {
1053                query.append("userTracker.sessionId = ?");
1054            }
1055
1056            query.append(" ");
1057
1058            if (obc != null) {
1059                query.append("ORDER BY ");
1060
1061                String[] orderByFields = obc.getOrderByFields();
1062
1063                for (int i = 0; i < orderByFields.length; i++) {
1064                    query.append("userTracker.");
1065                    query.append(orderByFields[i]);
1066
1067                    if (obc.isAscending()) {
1068                        query.append(" ASC");
1069                    }
1070                    else {
1071                        query.append(" DESC");
1072                    }
1073
1074                    if ((i + 1) < orderByFields.length) {
1075                        query.append(", ");
1076                    }
1077                }
1078            }
1079
1080            Query q = session.createQuery(query.toString());
1081
1082            QueryPos qPos = QueryPos.getInstance(q);
1083
1084            if (sessionId != null) {
1085                qPos.add(sessionId);
1086            }
1087
1088            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1089                    userTracker);
1090
1091            UserTracker[] array = new UserTrackerImpl[3];
1092
1093            array[0] = (UserTracker)objArray[0];
1094            array[1] = (UserTracker)objArray[1];
1095            array[2] = (UserTracker)objArray[2];
1096
1097            return array;
1098        }
1099        catch (Exception e) {
1100            throw processException(e);
1101        }
1102        finally {
1103            closeSession(session);
1104        }
1105    }
1106
1107    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1108        throws SystemException {
1109        Session session = null;
1110
1111        try {
1112            session = openSession();
1113
1114            dynamicQuery.compile(session);
1115
1116            return dynamicQuery.list();
1117        }
1118        catch (Exception e) {
1119            throw processException(e);
1120        }
1121        finally {
1122            closeSession(session);
1123        }
1124    }
1125
1126    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1127        int start, int end) throws SystemException {
1128        Session session = null;
1129
1130        try {
1131            session = openSession();
1132
1133            dynamicQuery.setLimit(start, end);
1134
1135            dynamicQuery.compile(session);
1136
1137            return dynamicQuery.list();
1138        }
1139        catch (Exception e) {
1140            throw processException(e);
1141        }
1142        finally {
1143            closeSession(session);
1144        }
1145    }
1146
1147    public List<UserTracker> findAll() throws SystemException {
1148        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1149    }
1150
1151    public List<UserTracker> findAll(int start, int end)
1152        throws SystemException {
1153        return findAll(start, end, null);
1154    }
1155
1156    public List<UserTracker> findAll(int start, int end, OrderByComparator obc)
1157        throws SystemException {
1158        Object[] finderArgs = new Object[] {
1159                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1160            };
1161
1162        List<UserTracker> list = (List<UserTracker>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1163                finderArgs, this);
1164
1165        if (list == null) {
1166            Session session = null;
1167
1168            try {
1169                session = openSession();
1170
1171                StringBuilder query = new StringBuilder();
1172
1173                query.append("SELECT userTracker FROM UserTracker userTracker ");
1174
1175                if (obc != null) {
1176                    query.append("ORDER BY ");
1177
1178                    String[] orderByFields = obc.getOrderByFields();
1179
1180                    for (int i = 0; i < orderByFields.length; i++) {
1181                        query.append("userTracker.");
1182                        query.append(orderByFields[i]);
1183
1184                        if (obc.isAscending()) {
1185                            query.append(" ASC");
1186                        }
1187                        else {
1188                            query.append(" DESC");
1189                        }
1190
1191                        if ((i + 1) < orderByFields.length) {
1192                            query.append(", ");
1193                        }
1194                    }
1195                }
1196
1197                Query q = session.createQuery(query.toString());
1198
1199                if (obc == null) {
1200                    list = (List<UserTracker>)QueryUtil.list(q, getDialect(),
1201                            start, end, false);
1202
1203                    Collections.sort(list);
1204                }
1205                else {
1206                    list = (List<UserTracker>)QueryUtil.list(q, getDialect(),
1207                            start, end);
1208                }
1209            }
1210            catch (Exception e) {
1211                throw processException(e);
1212            }
1213            finally {
1214                if (list == null) {
1215                    list = new ArrayList<UserTracker>();
1216                }
1217
1218                cacheResult(list);
1219
1220                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1221
1222                closeSession(session);
1223            }
1224        }
1225
1226        return list;
1227    }
1228
1229    public void removeByCompanyId(long companyId) throws SystemException {
1230        for (UserTracker userTracker : findByCompanyId(companyId)) {
1231            remove(userTracker);
1232        }
1233    }
1234
1235    public void removeByUserId(long userId) throws SystemException {
1236        for (UserTracker userTracker : findByUserId(userId)) {
1237            remove(userTracker);
1238        }
1239    }
1240
1241    public void removeBySessionId(String sessionId) throws SystemException {
1242        for (UserTracker userTracker : findBySessionId(sessionId)) {
1243            remove(userTracker);
1244        }
1245    }
1246
1247    public void removeAll() throws SystemException {
1248        for (UserTracker userTracker : findAll()) {
1249            remove(userTracker);
1250        }
1251    }
1252
1253    public int countByCompanyId(long companyId) throws SystemException {
1254        Object[] finderArgs = new Object[] { new Long(companyId) };
1255
1256        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
1257                finderArgs, this);
1258
1259        if (count == null) {
1260            Session session = null;
1261
1262            try {
1263                session = openSession();
1264
1265                StringBuilder query = new StringBuilder();
1266
1267                query.append("SELECT COUNT(userTracker) ");
1268                query.append("FROM UserTracker userTracker WHERE ");
1269
1270                query.append("userTracker.companyId = ?");
1271
1272                query.append(" ");
1273
1274                Query q = session.createQuery(query.toString());
1275
1276                QueryPos qPos = QueryPos.getInstance(q);
1277
1278                qPos.add(companyId);
1279
1280                count = (Long)q.uniqueResult();
1281            }
1282            catch (Exception e) {
1283                throw processException(e);
1284            }
1285            finally {
1286                if (count == null) {
1287                    count = Long.valueOf(0);
1288                }
1289
1290                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
1291                    finderArgs, count);
1292
1293                closeSession(session);
1294            }
1295        }
1296
1297        return count.intValue();
1298    }
1299
1300    public int countByUserId(long userId) throws SystemException {
1301        Object[] finderArgs = new Object[] { new Long(userId) };
1302
1303        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
1304                finderArgs, this);
1305
1306        if (count == null) {
1307            Session session = null;
1308
1309            try {
1310                session = openSession();
1311
1312                StringBuilder query = new StringBuilder();
1313
1314                query.append("SELECT COUNT(userTracker) ");
1315                query.append("FROM UserTracker userTracker WHERE ");
1316
1317                query.append("userTracker.userId = ?");
1318
1319                query.append(" ");
1320
1321                Query q = session.createQuery(query.toString());
1322
1323                QueryPos qPos = QueryPos.getInstance(q);
1324
1325                qPos.add(userId);
1326
1327                count = (Long)q.uniqueResult();
1328            }
1329            catch (Exception e) {
1330                throw processException(e);
1331            }
1332            finally {
1333                if (count == null) {
1334                    count = Long.valueOf(0);
1335                }
1336
1337                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
1338                    finderArgs, count);
1339
1340                closeSession(session);
1341            }
1342        }
1343
1344        return count.intValue();
1345    }
1346
1347    public int countBySessionId(String sessionId) throws SystemException {
1348        Object[] finderArgs = new Object[] { sessionId };
1349
1350        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_SESSIONID,
1351                finderArgs, this);
1352
1353        if (count == null) {
1354            Session session = null;
1355
1356            try {
1357                session = openSession();
1358
1359                StringBuilder query = new StringBuilder();
1360
1361                query.append("SELECT COUNT(userTracker) ");
1362                query.append("FROM UserTracker userTracker WHERE ");
1363
1364                if (sessionId == null) {
1365                    query.append("userTracker.sessionId IS NULL");
1366                }
1367                else {
1368                    query.append("userTracker.sessionId = ?");
1369                }
1370
1371                query.append(" ");
1372
1373                Query q = session.createQuery(query.toString());
1374
1375                QueryPos qPos = QueryPos.getInstance(q);
1376
1377                if (sessionId != null) {
1378                    qPos.add(sessionId);
1379                }
1380
1381                count = (Long)q.uniqueResult();
1382            }
1383            catch (Exception e) {
1384                throw processException(e);
1385            }
1386            finally {
1387                if (count == null) {
1388                    count = Long.valueOf(0);
1389                }
1390
1391                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_SESSIONID,
1392                    finderArgs, count);
1393
1394                closeSession(session);
1395            }
1396        }
1397
1398        return count.intValue();
1399    }
1400
1401    public int countAll() throws SystemException {
1402        Object[] finderArgs = new Object[0];
1403
1404        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1405                finderArgs, this);
1406
1407        if (count == null) {
1408            Session session = null;
1409
1410            try {
1411                session = openSession();
1412
1413                Query q = session.createQuery(
1414                        "SELECT COUNT(userTracker) FROM UserTracker userTracker");
1415
1416                count = (Long)q.uniqueResult();
1417            }
1418            catch (Exception e) {
1419                throw processException(e);
1420            }
1421            finally {
1422                if (count == null) {
1423                    count = Long.valueOf(0);
1424                }
1425
1426                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1427                    count);
1428
1429                closeSession(session);
1430            }
1431        }
1432
1433        return count.intValue();
1434    }
1435
1436    public void afterPropertiesSet() {
1437        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1438                    com.liferay.portal.util.PropsUtil.get(
1439                        "value.object.listener.com.liferay.portal.model.UserTracker")));
1440
1441        if (listenerClassNames.length > 0) {
1442            try {
1443                List<ModelListener<UserTracker>> listenersList = new ArrayList<ModelListener<UserTracker>>();
1444
1445                for (String listenerClassName : listenerClassNames) {
1446                    listenersList.add((ModelListener<UserTracker>)Class.forName(
1447                            listenerClassName).newInstance());
1448                }
1449
1450                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1451            }
1452            catch (Exception e) {
1453                _log.error(e);
1454            }
1455        }
1456    }
1457
1458    @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
1459    protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
1460    @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
1461    protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
1462    @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
1463    protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
1464    @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
1465    protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
1466    @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
1467    protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
1468    @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
1469    protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
1470    @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
1471    protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
1472    @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
1473    protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
1474    @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
1475    protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
1476    @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
1477    protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
1478    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
1479    protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
1480    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
1481    protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
1482    @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
1483    protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
1484    @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
1485    protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
1486    @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
1487    protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
1488    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
1489    protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
1490    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
1491    protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
1492    @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
1493    protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
1494    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
1495    protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
1496    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
1497    protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
1498    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
1499    protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
1500    @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
1501    protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
1502    @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
1503    protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
1504    @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
1505    protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
1506    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
1507    protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
1508    @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
1509    protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
1510    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
1511    protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
1512    @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
1513    protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
1514    @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
1515    protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
1516    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
1517    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1518    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
1519    protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
1520    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
1521    protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
1522    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
1523    protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
1524    @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
1525    protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
1526    @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
1527    protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
1528    @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
1529    protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
1530    @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
1531    protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
1532    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
1533    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1534    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
1535    protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
1536    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
1537    protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
1538    @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
1539    protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
1540    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
1541    protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
1542    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
1543    protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
1544    @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
1545    protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
1546    @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
1547    protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
1548    private static Log _log = LogFactoryUtil.getLog(UserTrackerPersistenceImpl.class);
1549}