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
40 public class BrowserTrackerLocalServiceImpl
41 extends BrowserTrackerLocalServiceBaseImpl {
42
43 public void deleteUserBrowserTracker(long userId)
44 throws SystemException {
45
46 try {
47 browserTrackerPersistence.removeByUserId(userId);
48 }
49 catch (NoSuchBrowserTrackerException nsbte) {
50 }
51 }
52
53 public BrowserTracker getBrowserTracker(long browserTrackerId)
54 throws PortalException, SystemException {
55
56 return browserTrackerPersistence.findByPrimaryKey(browserTrackerId);
57 }
58
59 public BrowserTracker getBrowserTracker(long userId, long browserKey)
60 throws SystemException {
61
62 BrowserTracker browserTracker = browserTrackerPersistence.fetchByUserId(
63 userId);
64
65 if (browserTracker == null) {
66 browserTracker = browserTrackerLocalService.updateBrowserTracker(
67 userId, browserKey);
68 }
69
70 return browserTracker;
71 }
72
73 public BrowserTracker updateBrowserTracker(long userId, long browserKey)
74 throws SystemException {
75
76 BrowserTracker browserTracker = browserTrackerPersistence.fetchByUserId(
77 userId);
78
79 if (browserTracker == null) {
80 long browserTrackerId = counterLocalService.increment();
81
82 browserTracker = browserTrackerPersistence.create(browserTrackerId);
83
84 browserTracker.setUserId(userId);
85 }
86
87 browserTracker.setBrowserKey(browserKey);
88
89 try {
90 browserTrackerPersistence.update(browserTracker, false);
91 }
92 catch (SystemException se) {
93 if (_log.isWarnEnabled()) {
94 _log.warn("Add failed, fetch {userId=" + userId + "}");
95 }
96
97 browserTracker = browserTrackerPersistence.fetchByUserId(userId);
98
99 if (browserTracker == null) {
100 throw se;
101 }
102 }
103
104 return browserTracker;
105 }
106
107 private static Log _log =
108 LogFactoryUtil.getLog(BrowserTrackerLocalServiceImpl.class);
109
110 }