Subversion Repositories SmartDukaan

Rev

Rev 2636 | Rev 2987 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2262 vikas 1
package in.shop2020.datalogger.event;
2
 
3
import in.shop2020.datalogger.EventType;
4
 
5
import java.text.ParseException;
6
import java.text.SimpleDateFormat;
7
import java.util.Date;
2418 vikas 8
 
9
import org.json.JSONObject;
2262 vikas 10
public class Event {
11
    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd/HH:mm:ss.SSS/zzz");
12
    protected Date time;
13
    protected String sessionId;
14
    protected Long userId;
15
    protected String userEmail;
16
    protected EventType eventType;
17
 
18
    public Event(String[] eventFileds) {
19
        try {
20
            time = sdf.parse(eventFileds[0].trim());
21
        } catch (ParseException e) {
22
            e.printStackTrace();
23
        }
24
        try {
25
            eventType = EventType.valueOf(eventFileds[1].trim());
26
            sessionId = eventFileds[2].trim();
27
            userId = Long.parseLong(eventFileds[3].trim());
28
            userEmail = eventFileds[4].trim();
29
 
30
        } catch (ArrayIndexOutOfBoundsException e) {
31
            e.printStackTrace();
32
        }
33
        catch (NumberFormatException e) {
34
            userId = -1l;
35
            e.printStackTrace();
36
        }
37
 
38
    }
39
 
2418 vikas 40
    public Event(EventType eType, String aSessionId, long aUserId, String email) {
41
        eventType = eType;
42
        sessionId = aSessionId;
43
        userId = aUserId;
44
        userEmail = email;
45
    }
46
 
47
    public static Event createEvent(EventType eType, String sessionId, long userId, String email, String[] logData) {
48
        if(eType == EventType.ADD_ADDRESS) {
49
            return new AddAddress(eType, sessionId, userId, email, logData);
50
        }
51
        if(eType == EventType.DELETE_ADDRESS) {
52
            return new DeleteAddress(eType, sessionId, userId, email, logData);
53
        }
54
        if(eType == EventType.SET_DEFAULT_ADDRESS) {
55
            return new SetDefaultAddress(eType, sessionId, userId, email, logData);
56
        }
57
        if(eType == EventType.ADD_TO_CART) {
58
            return new AddToCart(eType, sessionId, userId, email, logData);
59
        }
60
        if(eType == EventType.DELETE_FROM_CART) {
61
            return new DeleteFromCart(eType, sessionId, userId, email, logData);
62
        }
63
        if(eType == EventType.UPDATE_CART_QUANTITY) {
64
            return new UpdateCartQuantity(eType, sessionId, userId, email, logData);
65
        }
66
        if(eType == EventType.UPDATE_CART_QUANTITY_FAILED) {
67
            return new UpdateCartQuantityFailed(eType, sessionId, userId, email, logData);
68
        }
69
        if(eType == EventType.PAYMENT_SUCCESS) {
70
            return new PaymentSuccess(eType, sessionId, userId, email, logData);
71
        }
72
        if(eType == EventType.PAYMENT_FAILURE) {
73
            return new PaymentFailure(eType, sessionId, userId, email, logData);
74
        }
75
        if(eType == EventType.PRODUCT_VIEW) {
76
            return new ProductView(eType, sessionId, userId, email, logData);
77
        }
78
        if(eType == EventType.PRODUCT_SEARCH) {
79
            return new ProductSearch(eType, sessionId, userId, email, logData);
80
        }
81
        if(eType == EventType.PRODUCT_COMPARE) {
82
            return new ProductCompare(eType, sessionId, userId, email, logData);
83
        }
84
        if(eType == EventType.RESEARCH_ADD) {
85
            return new ResearchAdd(eType, sessionId, userId, email, logData);
86
        }
87
        if(eType == EventType.RESEARCH_DELETE) {
88
            return new ResearchDelete(eType, sessionId, userId, email, logData);
89
        }
90
        if(eType == EventType.REGISTER_SUCCESS) {
91
            return new RegisterSuccess(eType, sessionId, userId, email, logData);
92
        }
93
        if(eType == EventType.REGISTER_FAILED_USER_EXISTS) {
94
            return new RegisterFailedUserExists(eType, sessionId, userId, email, logData);
95
        }
96
        if(eType == EventType.REGISTER_DATA_INCOMPLETE) {
97
            return new RegisterDataIncomplete(eType, sessionId, userId, email, logData);
98
        }
99
        if(eType == EventType.SHIPPINIG_ACCESS) {
100
            return new ShippingAccess(eType, sessionId, userId, email, logData);
101
        }
102
        if(eType == EventType.SHIPPINIG_ADD_ADDRESS) {
103
            return new ShippingAddAddress(eType, sessionId, userId, email, logData);
104
        }
105
        if(eType == EventType.SHIPPINIG_ADD_CHANGE) {
106
            return new ShippingAddressChange(eType, sessionId, userId, email, logData);
107
        }
108
        if(eType == EventType.ORDER_CREATION) {
109
            return new OrderCreation(eType, sessionId, userId, email, logData);
110
        }
2636 vikas 111
        if(eType == EventType.NEW_SESSION) {
112
            return new NewSession(eType, sessionId, userId, email, logData);
113
        }
114
        if(eType == EventType.LOGIN_SUCCESS) {
115
            return new LoginSuccess(eType, sessionId, userId, email, logData);
116
        }
2751 varun.gupt 117
        if(eType == EventType.COUPON_APPLIED)	{
118
        	return new CouponApplied(eType, sessionId, userId, email, logData);
119
        }
120
        if(eType == EventType.COUPON_REMOVED)	{
121
        	return new CouponRemoved(eType, sessionId, userId, email, logData);
122
        }
2418 vikas 123
        return new Event(eType, sessionId, userId, email);
124
    }
125
 
2262 vikas 126
    public static Event createEvent(String[] eventFileds) {
127
        EventType eType = EventType.valueOf(eventFileds[1].trim());
128
        if(eType == EventType.ADD_ADDRESS) {
129
            return new AddAddress(eventFileds);
130
        }
131
        if(eType == EventType.DELETE_ADDRESS) {
132
            return new DeleteAddress(eventFileds);
133
        }
134
        if(eType == EventType.SET_DEFAULT_ADDRESS) {
135
            return new SetDefaultAddress(eventFileds);
136
        }
137
        if(eType == EventType.ADD_TO_CART) {
138
            return new AddToCart(eventFileds);
139
        }
140
        if(eType == EventType.DELETE_FROM_CART) {
141
            return new DeleteFromCart(eventFileds);
142
        }
143
        if(eType == EventType.UPDATE_CART_QUANTITY) {
144
            return new UpdateCartQuantity(eventFileds);
145
        }
146
        if(eType == EventType.UPDATE_CART_QUANTITY_FAILED) {
147
            return new UpdateCartQuantityFailed(eventFileds);
148
        }
149
        if(eType == EventType.PAYMENT_SUCCESS) {
150
            return new PaymentSuccess(eventFileds);
151
        }
152
        if(eType == EventType.PAYMENT_FAILURE) {
153
            return new PaymentFailure(eventFileds);
154
        }
155
        if(eType == EventType.PRODUCT_VIEW) {
156
            return new ProductView(eventFileds);
157
        }
158
        if(eType == EventType.PRODUCT_SEARCH) {
159
            return new ProductSearch(eventFileds);
160
        }
161
        if(eType == EventType.PRODUCT_COMPARE) {
162
            return new ProductCompare(eventFileds);
163
        }
164
        if(eType == EventType.RESEARCH_ADD) {
165
            return new ResearchAdd(eventFileds);
166
        }
167
        if(eType == EventType.RESEARCH_DELETE) {
168
            return new ResearchDelete(eventFileds);
169
        }
170
        if(eType == EventType.REGISTER_SUCCESS) {
171
            return new RegisterSuccess(eventFileds);
172
        }
173
        if(eType == EventType.REGISTER_FAILED_USER_EXISTS) {
174
            return new RegisterFailedUserExists(eventFileds);
175
        }
176
        if(eType == EventType.REGISTER_DATA_INCOMPLETE) {
177
            return new RegisterDataIncomplete(eventFileds);
178
        }
179
        if(eType == EventType.SHIPPINIG_ACCESS) {
180
            return new ShippingAccess(eventFileds);
181
        }
182
        if(eType == EventType.SHIPPINIG_ADD_ADDRESS) {
183
            return new ShippingAddAddress(eventFileds);
184
        }
185
        if(eType == EventType.SHIPPINIG_ADD_CHANGE) {
186
            return new ShippingAddressChange(eventFileds);
187
        }
188
        if(eType == EventType.ORDER_CREATION) {
189
            return new OrderCreation(eventFileds);
190
        }
2636 vikas 191
        if(eType == EventType.NEW_SESSION) {
192
            return new NewSession(eventFileds);
193
        }
194
        if(eType == EventType.LOGIN_SUCCESS) {
195
            return new LoginSuccess(eventFileds);
196
        }
2751 varun.gupt 197
        if(eType == EventType.COUPON_APPLIED)	{
198
        	return new CouponApplied(eventFileds);
199
        }
200
        if(eType == EventType.COUPON_REMOVED)	{
201
        	return new CouponRemoved(eventFileds);
202
        }
2262 vikas 203
        return new Event(eventFileds); 
204
    }
205
 
206
    public String toString() {
207
        StringBuilder sb = new StringBuilder();
208
        sb.append(eventType.name() + ", ");
209
        sb.append("userEmail : " + userEmail);
210
        sb.append(" time : " + time);
211
        sb.append(" session : " + sessionId);
212
 
213
        return sb.toString();
214
    }
215
 
2418 vikas 216
    public JSONObject getLogDataInJson() {
217
        return null;
218
    }
219
 
2262 vikas 220
    public Date getTime() {
221
        return time;
222
    }
223
 
224
    public void setTime(Date time) {
225
        this.time = time;
226
    }
227
 
228
    public String getSessionId() {
229
        return sessionId;
230
    }
231
 
232
    public void setSessionId(String sessionId) {
233
        this.sessionId = sessionId;
234
    }
235
 
236
    public Long getUserId() {
237
        return userId;
238
    }
239
 
240
    public void setUserId(Long userId) {
241
        this.userId = userId;
242
    }
243
 
244
    public String getUserEmail() {
245
        return userEmail;
246
    }
247
 
248
    public void setUserEmail(String userEmail) {
249
        this.userEmail = userEmail;
250
    }
251
 
252
    public EventType getEventType() {
253
        return eventType;
254
    }
255
 
256
    public void setEventType(EventType eventType) {
257
        this.eventType = eventType;
258
    }
259
}