Subversion Repositories SmartDukaan

Rev

Rev 2418 | Rev 2751 | 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
        }
2418 vikas 117
        return new Event(eType, sessionId, userId, email);
118
    }
119
 
2262 vikas 120
    public static Event createEvent(String[] eventFileds) {
121
        EventType eType = EventType.valueOf(eventFileds[1].trim());
122
        if(eType == EventType.ADD_ADDRESS) {
123
            return new AddAddress(eventFileds);
124
        }
125
        if(eType == EventType.DELETE_ADDRESS) {
126
            return new DeleteAddress(eventFileds);
127
        }
128
        if(eType == EventType.SET_DEFAULT_ADDRESS) {
129
            return new SetDefaultAddress(eventFileds);
130
        }
131
        if(eType == EventType.ADD_TO_CART) {
132
            return new AddToCart(eventFileds);
133
        }
134
        if(eType == EventType.DELETE_FROM_CART) {
135
            return new DeleteFromCart(eventFileds);
136
        }
137
        if(eType == EventType.UPDATE_CART_QUANTITY) {
138
            return new UpdateCartQuantity(eventFileds);
139
        }
140
        if(eType == EventType.UPDATE_CART_QUANTITY_FAILED) {
141
            return new UpdateCartQuantityFailed(eventFileds);
142
        }
143
        if(eType == EventType.PAYMENT_SUCCESS) {
144
            return new PaymentSuccess(eventFileds);
145
        }
146
        if(eType == EventType.PAYMENT_FAILURE) {
147
            return new PaymentFailure(eventFileds);
148
        }
149
        if(eType == EventType.PRODUCT_VIEW) {
150
            return new ProductView(eventFileds);
151
        }
152
        if(eType == EventType.PRODUCT_SEARCH) {
153
            return new ProductSearch(eventFileds);
154
        }
155
        if(eType == EventType.PRODUCT_COMPARE) {
156
            return new ProductCompare(eventFileds);
157
        }
158
        if(eType == EventType.RESEARCH_ADD) {
159
            return new ResearchAdd(eventFileds);
160
        }
161
        if(eType == EventType.RESEARCH_DELETE) {
162
            return new ResearchDelete(eventFileds);
163
        }
164
        if(eType == EventType.REGISTER_SUCCESS) {
165
            return new RegisterSuccess(eventFileds);
166
        }
167
        if(eType == EventType.REGISTER_FAILED_USER_EXISTS) {
168
            return new RegisterFailedUserExists(eventFileds);
169
        }
170
        if(eType == EventType.REGISTER_DATA_INCOMPLETE) {
171
            return new RegisterDataIncomplete(eventFileds);
172
        }
173
        if(eType == EventType.SHIPPINIG_ACCESS) {
174
            return new ShippingAccess(eventFileds);
175
        }
176
        if(eType == EventType.SHIPPINIG_ADD_ADDRESS) {
177
            return new ShippingAddAddress(eventFileds);
178
        }
179
        if(eType == EventType.SHIPPINIG_ADD_CHANGE) {
180
            return new ShippingAddressChange(eventFileds);
181
        }
182
        if(eType == EventType.ORDER_CREATION) {
183
            return new OrderCreation(eventFileds);
184
        }
2636 vikas 185
        if(eType == EventType.NEW_SESSION) {
186
            return new NewSession(eventFileds);
187
        }
188
        if(eType == EventType.LOGIN_SUCCESS) {
189
            return new LoginSuccess(eventFileds);
190
        }
2262 vikas 191
        return new Event(eventFileds); 
192
    }
193
 
194
    public String toString() {
195
        StringBuilder sb = new StringBuilder();
196
        sb.append(eventType.name() + ", ");
197
        sb.append("userEmail : " + userEmail);
198
        sb.append(" time : " + time);
199
        sb.append(" session : " + sessionId);
200
 
201
        return sb.toString();
202
    }
203
 
2418 vikas 204
    public JSONObject getLogDataInJson() {
205
        return null;
206
    }
207
 
2262 vikas 208
    public Date getTime() {
209
        return time;
210
    }
211
 
212
    public void setTime(Date time) {
213
        this.time = time;
214
    }
215
 
216
    public String getSessionId() {
217
        return sessionId;
218
    }
219
 
220
    public void setSessionId(String sessionId) {
221
        this.sessionId = sessionId;
222
    }
223
 
224
    public Long getUserId() {
225
        return userId;
226
    }
227
 
228
    public void setUserId(Long userId) {
229
        this.userId = userId;
230
    }
231
 
232
    public String getUserEmail() {
233
        return userEmail;
234
    }
235
 
236
    public void setUserEmail(String userEmail) {
237
        this.userEmail = userEmail;
238
    }
239
 
240
    public EventType getEventType() {
241
        return eventType;
242
    }
243
 
244
    public void setEventType(EventType eventType) {
245
        this.eventType = eventType;
246
    }
247
}