| Line 6... |
Line 6... |
| 6 |
import in.shop2020.serving.services.UserSessionInfo;
|
6 |
import in.shop2020.serving.services.UserSessionInfo;
|
| 7 |
import in.shop2020.serving.utils.DesEncrypter;
|
7 |
import in.shop2020.serving.utils.DesEncrypter;
|
| 8 |
import in.shop2020.thrift.clients.UserContextServiceClient;
|
8 |
import in.shop2020.thrift.clients.UserContextServiceClient;
|
| 9 |
import in.shop2020.utils.DataLogger;
|
9 |
import in.shop2020.utils.DataLogger;
|
| 10 |
|
10 |
|
| - |
|
11 |
import java.util.Date;
|
| 11 |
import java.util.HashMap;
|
12 |
import java.util.HashMap;
|
| 12 |
import java.util.Map;
|
13 |
import java.util.Map;
|
| 13 |
|
14 |
|
| 14 |
import javax.servlet.http.Cookie;
|
15 |
import javax.servlet.http.Cookie;
|
| 15 |
import javax.servlet.http.HttpServletRequest;
|
16 |
import javax.servlet.http.HttpServletRequest;
|
| Line 31... |
Line 32... |
| 31 |
private static final int SECONDS_IN_YEAR = 60*60*24*365;
|
32 |
private static final int SECONDS_IN_YEAR = 60*60*24*365;
|
| 32 |
public static final String TRACKER = "tracker";
|
33 |
public static final String TRACKER = "tracker";
|
| 33 |
public static final String AFF_COOKIE = "uafc";
|
34 |
public static final String AFF_COOKIE = "uafc";
|
| 34 |
public static final String SRC_COOKIE = "usrcc";
|
35 |
public static final String SRC_COOKIE = "usrcc";
|
| 35 |
public static final String SESSION_SRC_COOKIE = "sess_srcc";
|
36 |
public static final String SESSION_SRC_COOKIE = "sess_srcc";
|
| - |
|
37 |
public static final String SRC_TIME_COOKIE = "usrctc";
|
| - |
|
38 |
public static final String SESSION_SRC_TIME_COOKIE = "sess_srctc";
|
| - |
|
39 |
public static final String ENCRIPTION_STRING = "Saholic";
|
| 36 |
|
40 |
|
| 37 |
private String cookieDomain = "";
|
41 |
private String cookieDomain = "";
|
| 38 |
private Cookie trackerCookie = null;
|
42 |
private Cookie trackerCookie = null;
|
| 39 |
private Cookie affCookie = null;
|
43 |
private Cookie affCookie = null;
|
| 40 |
private Cookie firstSourceCookie = null;
|
44 |
private Cookie firstSourceCookie = null;
|
| 41 |
private Cookie sessionSourceCookie = null;
|
45 |
private Cookie sessionSourceCookie = null;
|
| - |
|
46 |
private Cookie firstSourceTimeCookie = null;
|
| - |
|
47 |
private Cookie sessionSourceTimeCookie = null;
|
| 42 |
private Map<String, Cookie> cookiesMap = null;
|
48 |
private Map<String, Cookie> cookiesMap = null;
|
| 43 |
|
49 |
|
| 44 |
public void setCookieDomain(String cookieDomain) {
|
50 |
public void setCookieDomain(String cookieDomain) {
|
| 45 |
this.cookieDomain = cookieDomain;
|
51 |
this.cookieDomain = cookieDomain;
|
| 46 |
}
|
52 |
}
|
| Line 81... |
Line 87... |
| 81 |
src = "ORGANIC : " + "(" + referer + ")";
|
87 |
src = "ORGANIC : " + "(" + referer + ")";
|
| 82 |
}
|
88 |
}
|
| 83 |
else {
|
89 |
else {
|
| 84 |
src = referer;
|
90 |
src = referer;
|
| 85 |
}
|
91 |
}
|
| 86 |
DesEncrypter des = new DesEncrypter("Saholic");
|
92 |
DesEncrypter des = new DesEncrypter(ENCRIPTION_STRING);
|
| 87 |
String sourceCookieVal = des.encrypt(src);
|
93 |
String sourceCookieVal = des.encrypt(src);
|
| 88 |
|
94 |
|
| 89 |
firstSourceCookie = new Cookie(SRC_COOKIE, sourceCookieVal);
|
95 |
firstSourceCookie = new Cookie(SRC_COOKIE, sourceCookieVal);
|
| 90 |
firstSourceCookie.setMaxAge(SECONDS_IN_YEAR);
|
96 |
firstSourceCookie.setMaxAge(SECONDS_IN_YEAR);
|
| 91 |
firstSourceCookie.setPath("/");
|
97 |
firstSourceCookie.setPath("/");
|
| 92 |
if (!cookieDomain.isEmpty()) {
|
98 |
if (!cookieDomain.isEmpty()) {
|
| 93 |
firstSourceCookie.setDomain(cookieDomain);
|
99 |
firstSourceCookie.setDomain(cookieDomain);
|
| 94 |
}
|
100 |
}
|
| 95 |
cookiesMap.put(SRC_COOKIE, firstSourceCookie);
|
101 |
cookiesMap.put(SRC_COOKIE, firstSourceCookie);
|
| - |
|
102 |
|
| - |
|
103 |
firstSourceTimeCookie = new Cookie(SRC_TIME_COOKIE, Long.toString((new Date()).getTime()));
|
| - |
|
104 |
firstSourceTimeCookie.setMaxAge(SECONDS_IN_YEAR);
|
| - |
|
105 |
firstSourceTimeCookie.setPath("/");
|
| - |
|
106 |
if (!cookieDomain.isEmpty()) {
|
| - |
|
107 |
firstSourceTimeCookie.setDomain(cookieDomain);
|
| - |
|
108 |
}
|
| - |
|
109 |
cookiesMap.put(SRC_TIME_COOKIE, firstSourceTimeCookie);
|
| - |
|
110 |
|
| 96 |
HttpServletResponse response = ServletActionContext.getResponse();
|
111 |
HttpServletResponse response = ServletActionContext.getResponse();
|
| 97 |
response.addCookie(firstSourceCookie);
|
112 |
response.addCookie(firstSourceCookie);
|
| - |
|
113 |
response.addCookie(firstSourceTimeCookie);
|
| 98 |
}
|
114 |
}
|
| 99 |
|
115 |
|
| 100 |
/**
|
116 |
/**
|
| 101 |
* Update first source cookie
|
117 |
* Update first source cookie
|
| 102 |
*
|
118 |
*
|
| Line 116... |
Line 132... |
| 116 |
src = "ORGANIC : " + "(" + referer + ")";
|
132 |
src = "ORGANIC : " + "(" + referer + ")";
|
| 117 |
}
|
133 |
}
|
| 118 |
else {
|
134 |
else {
|
| 119 |
src = referer;
|
135 |
src = referer;
|
| 120 |
}
|
136 |
}
|
| 121 |
DesEncrypter des = new DesEncrypter("Saholic");
|
137 |
DesEncrypter des = new DesEncrypter(ENCRIPTION_STRING);
|
| 122 |
String sessionSourceCookieVal = des.encrypt(src);
|
138 |
String sessionSourceCookieVal = des.encrypt(src);
|
| 123 |
|
139 |
|
| 124 |
sessionSourceCookie = new Cookie(SESSION_SRC_COOKIE, sessionSourceCookieVal);
|
140 |
sessionSourceCookie = new Cookie(SESSION_SRC_COOKIE, sessionSourceCookieVal);
|
| 125 |
sessionSourceCookie.setPath("/");
|
141 |
sessionSourceCookie.setPath("/");
|
| 126 |
if (!cookieDomain.isEmpty()) {
|
142 |
if (!cookieDomain.isEmpty()) {
|
| 127 |
sessionSourceCookie.setDomain(cookieDomain);
|
143 |
sessionSourceCookie.setDomain(cookieDomain);
|
| 128 |
}
|
144 |
}
|
| 129 |
cookiesMap.put(SESSION_SRC_COOKIE, sessionSourceCookie);
|
145 |
cookiesMap.put(SESSION_SRC_COOKIE, sessionSourceCookie);
|
| - |
|
146 |
|
| - |
|
147 |
sessionSourceTimeCookie = new Cookie(SESSION_SRC_TIME_COOKIE, Long.toString((new Date()).getTime()));
|
| - |
|
148 |
sessionSourceTimeCookie.setMaxAge(SECONDS_IN_YEAR);
|
| - |
|
149 |
sessionSourceTimeCookie.setPath("/");
|
| - |
|
150 |
if (!cookieDomain.isEmpty()) {
|
| - |
|
151 |
sessionSourceTimeCookie.setDomain(cookieDomain);
|
| - |
|
152 |
}
|
| - |
|
153 |
cookiesMap.put(SESSION_SRC_TIME_COOKIE, sessionSourceTimeCookie);
|
| - |
|
154 |
|
| 130 |
HttpServletResponse response = ServletActionContext.getResponse();
|
155 |
HttpServletResponse response = ServletActionContext.getResponse();
|
| 131 |
response.addCookie(sessionSourceCookie);
|
156 |
response.addCookie(sessionSourceCookie);
|
| - |
|
157 |
response.addCookie(sessionSourceTimeCookie);
|
| - |
|
158 |
|
| 132 |
HttpSession session = request.getSession();
|
159 |
HttpSession session = request.getSession();
|
| 133 |
UserSessionInfo userinfo = (UserSessionInfo) session.getAttribute(UserInterceptor.USER_INFO);
|
160 |
UserSessionInfo userinfo = (UserSessionInfo) session.getAttribute(UserInterceptor.USER_INFO);
|
| 134 |
DataLogger.logData(EventType.NEW_SESSION, request.getSession().getId(), userinfo.getUserId(), userinfo.getEmail(), src);
|
161 |
DataLogger.logData(EventType.NEW_SESSION, request.getSession().getId(), userinfo.getUserId(), userinfo.getEmail(), src);
|
| 135 |
}
|
162 |
}
|
| 136 |
|
163 |
|