1
22
23 package com.liferay.portal.service.impl;
24
25 import com.liferay.portal.NoSuchBrowserTrackerException;
26 import com.liferay.portal.PortalException;
27 import com.liferay.portal.SystemException;
28 import com.liferay.portal.kernel.log.Log;
29 import com.liferay.portal.kernel.log.LogFactoryUtil;
30 import com.liferay.portal.model.BrowserTracker;
31 import com.liferay.portal.service.base.BrowserTrackerLocalServiceBaseImpl;
32
33
39 public class BrowserTrackerLocalServiceImpl
40 extends BrowserTrackerLocalServiceBaseImpl {
41
42 public void deleteUserBrowserTracker(long userId)
43 throws SystemException {
44
45 try {
46 browserTrackerPersistence.removeByUserId(userId);
47 }
48 catch (NoSuchBrowserTrackerException nsbte) {
49 }
50 }
51
52 public BrowserTracker getBrowserTracker(long browserTrackerId)
53 throws PortalException, SystemException {
54
55 return browserTrackerPersistence.findByPrimaryKey(browserTrackerId);
56 }
57
58 public BrowserTracker getBrowserTracker(long userId, long browserKey)
59 throws SystemException {
60
61 BrowserTracker browserTracker = browserTrackerPersistence.fetchByUserId(
62 userId);
63
64 if (browserTracker == null) {
65 browserTracker = browserTrackerLocalService.updateBrowserTracker(
66 userId, browserKey);
67 }
68
69 return browserTracker;
70 }
71
72 public BrowserTracker updateBrowserTracker(long userId, long browserKey)
73 throws SystemException {
74
75 BrowserTracker browserTracker = browserTrackerPersistence.fetchByUserId(
76 userId);
77
78 if (browserTracker == null) {
79 long browserTrackerId = counterLocalService.increment();
80
81 browserTracker = browserTrackerPersistence.create(browserTrackerId);
82
83 browserTracker.setUserId(userId);
84 }
85
86 browserTracker.setBrowserKey(browserKey);
87
88 try {
89 browserTrackerPersistence.update(browserTracker, false);
90 }
91 catch (SystemException se) {
92 if (_log.isWarnEnabled()) {
93 _log.warn("Add failed, fetch {userId=" + userId + "}");
94 }
95
96 browserTracker = browserTrackerPersistence.fetchByUserId(userId);
97
98 if (browserTracker == null) {
99 throw se;
100 }
101 }
102
103 return browserTracker;
104 }
105
106 private static Log _log =
107 LogFactoryUtil.getLog(BrowserTrackerLocalServiceImpl.class);
108
109 }