Subversion Repositories SmartDukaan

Rev

Rev 2637 | Rev 2907 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2637 Rev 2817
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