1
22
23 package com.liferay.portal.service.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.model.UserTracker;
28 import com.liferay.portal.model.UserTrackerPath;
29 import com.liferay.portal.service.base.UserTrackerLocalServiceBaseImpl;
30 import com.liferay.portal.util.PropsValues;
31
32 import java.util.Date;
33 import java.util.Iterator;
34 import java.util.List;
35
36
42 public class UserTrackerLocalServiceImpl
43 extends UserTrackerLocalServiceBaseImpl {
44
45 public UserTracker addUserTracker(
46 long companyId, long userId, Date modifiedDate, String sessionId,
47 String remoteAddr, String remoteHost, String userAgent,
48 List<UserTrackerPath> userTrackerPaths)
49 throws SystemException {
50
51 if (PropsValues.SESSION_TRACKER_PERSISTENCE_ENABLED) {
52 long userTrackerId = counterLocalService.increment(
53 UserTracker.class.getName());
54
55 UserTracker userTracker =
56 userTrackerPersistence.create(userTrackerId);
57
58 userTracker.setCompanyId(companyId);
59 userTracker.setUserId(userId);
60 userTracker.setModifiedDate(modifiedDate);
61 userTracker.setSessionId(sessionId);
62 userTracker.setRemoteAddr(remoteAddr);
63 userTracker.setRemoteHost(remoteHost);
64 userTracker.setUserAgent(userAgent);
65
66 userTrackerPersistence.update(userTracker, false);
67
68 Iterator<UserTrackerPath> itr = userTrackerPaths.iterator();
69
70 while (itr.hasNext()) {
71 UserTrackerPath userTrackerPath = itr.next();
72
73 long pathId = counterLocalService.increment(
74 UserTrackerPath.class.getName());
75
76 userTrackerPath.setUserTrackerPathId(pathId);
77 userTrackerPath.setUserTrackerId(userTrackerId);
78
79 userTrackerPathPersistence.update(userTrackerPath, false);
80 }
81
82 return userTracker;
83 }
84 else {
85 return null;
86 }
87 }
88
89 public void deleteUserTracker(long userTrackerId)
90 throws PortalException, SystemException {
91
92
94 userTrackerPathPersistence.removeByUserTrackerId(userTrackerId);
95
96
98 userTrackerPersistence.remove(userTrackerId);
99 }
100
101 public List<UserTracker> getUserTrackers(long companyId, int start, int end)
102 throws SystemException {
103
104 return userTrackerPersistence.findByCompanyId(companyId, start, end);
105 }
106
107 }