Subversion Repositories SmartDukaan

Rev

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