Subversion Repositories SmartDukaan

Rev

Rev 3215 | 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
 
2987 vikas 40
    public static Event getInstance(EventType eType, String aSessionId, long aUserId, String email, String[] logData){
41
        return new Event(eType, aSessionId, aUserId, email, logData);
42
    }
43
 
2418 vikas 44
    public Event(EventType eType, String aSessionId, long aUserId, String email) {
45
        eventType = eType;
46
        sessionId = aSessionId;
47
        userId = aUserId;
48
        userEmail = email;
49
    }
2987 vikas 50
 
51
    public Event(EventType eType, String aSessionId, long aUserId, String email, String[] logData) {
52
        eventType = eType;
53
        sessionId = aSessionId;
54
        userId = aUserId;
55
        userEmail = email;
56
    }
2418 vikas 57
 
58
    public static Event createEvent(EventType eType, String sessionId, long userId, String email, String[] logData) {
2987 vikas 59
        switch (eType) {
60
        case ADD_ADDRESS:
2418 vikas 61
            return new AddAddress(eType, sessionId, userId, email, logData);
2987 vikas 62
        case DELETE_ADDRESS:
2418 vikas 63
            return new DeleteAddress(eType, sessionId, userId, email, logData);
2987 vikas 64
        case SET_DEFAULT_ADDRESS:
65
            return new SetDefaultAddress(eType, sessionId, userId, email,
66
                    logData);
67
        case ADD_TO_CART:
2418 vikas 68
            return new AddToCart(eType, sessionId, userId, email, logData);
2987 vikas 69
        case DELETE_FROM_CART:
2418 vikas 70
            return new DeleteFromCart(eType, sessionId, userId, email, logData);
2987 vikas 71
        case UPDATE_CART_QUANTITY:
72
            return new UpdateCartQuantity(eType, sessionId, userId, email,
73
                    logData);
74
        case UPDATE_CART_QUANTITY_FAILED:
75
            return new UpdateCartQuantityFailed(eType, sessionId, userId,
76
                    email, logData);
77
        case PAYMENT_SUCCESS:
2418 vikas 78
            return new PaymentSuccess(eType, sessionId, userId, email, logData);
2987 vikas 79
        case PAYMENT_FAILURE:
2418 vikas 80
            return new PaymentFailure(eType, sessionId, userId, email, logData);
2987 vikas 81
        case PRODUCT_VIEW:
2418 vikas 82
            return new ProductView(eType, sessionId, userId, email, logData);
2987 vikas 83
        case PRODUCT_SEARCH:
2418 vikas 84
            return new ProductSearch(eType, sessionId, userId, email, logData);
2987 vikas 85
        case PRODUCT_COMPARE:
2418 vikas 86
            return new ProductCompare(eType, sessionId, userId, email, logData);
2987 vikas 87
        case RESEARCH_ADD:
2418 vikas 88
            return new ResearchAdd(eType, sessionId, userId, email, logData);
2987 vikas 89
        case RESEARCH_DELETE:
2418 vikas 90
            return new ResearchDelete(eType, sessionId, userId, email, logData);
2987 vikas 91
        case REGISTER_SUCCESS:
3002 vikas 92
            return new RegisterSuccess(eType, sessionId, userId, email, logData);
2987 vikas 93
        case REGISTER_FAILED_USER_EXISTS:
3003 vikas 94
            return new RegisterFailedUserExists(eType, sessionId, userId, email, logData);
2987 vikas 95
        case REGISTER_DATA_INCOMPLETE:
96
            return new RegisterDataIncomplete(eType, sessionId, userId, email,
97
                    logData);
98
        case SHIPPINIG_ACCESS:
2418 vikas 99
            return new ShippingAccess(eType, sessionId, userId, email, logData);
2987 vikas 100
        case SHIPPINIG_ADD_ADDRESS:
101
            return new ShippingAddAddress(eType, sessionId, userId, email,
102
                    logData);
103
        case SHIPPINIG_ADD_CHANGE:
104
            return new ShippingAddressChange(eType, sessionId, userId, email,
105
                    logData);
106
        case ORDER_CREATION:
2418 vikas 107
            return new OrderCreation(eType, sessionId, userId, email, logData);
2987 vikas 108
        case NEW_SESSION:
2636 vikas 109
            return new NewSession(eType, sessionId, userId, email, logData);
2987 vikas 110
        case LOGIN_SUCCESS:
2636 vikas 111
            return new LoginSuccess(eType, sessionId, userId, email, logData);
2987 vikas 112
        case COUPON_APPLIED:
113
            return new CouponApplied(eType, sessionId, userId, email, logData);
114
        case COUPON_REMOVED:
115
            return new CouponRemoved(eType, sessionId, userId, email, logData);
3215 vikas 116
        case PROCEED_TO_PAY:
117
            return new ProceedToPay(eType, sessionId, userId, email, logData);
5072 amar.kumar 118
        case DELIVERY_ESTIMATE:
119
        	return new DeliveryEstimate(eType, sessionId, userId, email, logData);
2987 vikas 120
        default:
121
            return new Event(eType, sessionId, userId, email);
2636 vikas 122
        }
2418 vikas 123
    }
124
 
2262 vikas 125
    public static Event createEvent(String[] eventFileds) {
126
        EventType eType = EventType.valueOf(eventFileds[1].trim());
2987 vikas 127
        switch (eType) {
128
        case ADD_ADDRESS:
2262 vikas 129
            return new AddAddress(eventFileds);
2987 vikas 130
        case DELETE_ADDRESS:
2262 vikas 131
            return new DeleteAddress(eventFileds);
2987 vikas 132
        case SET_DEFAULT_ADDRESS:
2262 vikas 133
            return new SetDefaultAddress(eventFileds);
2987 vikas 134
        case ADD_TO_CART:
2262 vikas 135
            return new AddToCart(eventFileds);
2987 vikas 136
        case DELETE_FROM_CART:
2262 vikas 137
            return new DeleteFromCart(eventFileds);
2987 vikas 138
        case UPDATE_CART_QUANTITY:
2262 vikas 139
            return new UpdateCartQuantity(eventFileds);
2987 vikas 140
        case UPDATE_CART_QUANTITY_FAILED:
2262 vikas 141
            return new UpdateCartQuantityFailed(eventFileds);
2987 vikas 142
        case PAYMENT_SUCCESS:
2262 vikas 143
            return new PaymentSuccess(eventFileds);
2987 vikas 144
        case PAYMENT_FAILURE:
2262 vikas 145
            return new PaymentFailure(eventFileds);
2987 vikas 146
        case PRODUCT_VIEW:
2262 vikas 147
            return new ProductView(eventFileds);
2987 vikas 148
        case PRODUCT_SEARCH:
2262 vikas 149
            return new ProductSearch(eventFileds);
2987 vikas 150
        case PRODUCT_COMPARE:
2262 vikas 151
            return new ProductCompare(eventFileds);
2987 vikas 152
        case RESEARCH_ADD:
2262 vikas 153
            return new ResearchAdd(eventFileds);
2987 vikas 154
        case REGISTER_SUCCESS:
2262 vikas 155
            return new RegisterSuccess(eventFileds);
2987 vikas 156
        case REGISTER_FAILED_USER_EXISTS:
2262 vikas 157
            return new RegisterFailedUserExists(eventFileds);
2987 vikas 158
        case REGISTER_DATA_INCOMPLETE:
2262 vikas 159
            return new RegisterDataIncomplete(eventFileds);
2987 vikas 160
        case SHIPPINIG_ACCESS:
2262 vikas 161
            return new ShippingAccess(eventFileds);
2987 vikas 162
        case SHIPPINIG_ADD_CHANGE:
2262 vikas 163
            return new ShippingAddressChange(eventFileds);
2987 vikas 164
        case ORDER_CREATION:
2262 vikas 165
            return new OrderCreation(eventFileds);
2987 vikas 166
        case NEW_SESSION:
2636 vikas 167
            return new NewSession(eventFileds);
2987 vikas 168
        case LOGIN_SUCCESS:
2636 vikas 169
            return new LoginSuccess(eventFileds);
2987 vikas 170
        case COUPON_APPLIED:
171
            return new CouponApplied(eventFileds);
172
        case COUPON_REMOVED:
173
            return new CouponRemoved(eventFileds);
3215 vikas 174
        case PROCEED_TO_PAY:
175
            return new ProceedToPay(eventFileds);
5072 amar.kumar 176
        case DELIVERY_ESTIMATE:
177
        	return new DeliveryEstimate(eventFileds);
2987 vikas 178
        default:
179
            return new Event(eventFileds);
2636 vikas 180
        }
2262 vikas 181
    }
182
 
183
    public String toString() {
184
        StringBuilder sb = new StringBuilder();
185
        sb.append(eventType.name() + ", ");
186
        sb.append("userEmail : " + userEmail);
187
        sb.append(" time : " + time);
188
        sb.append(" session : " + sessionId);
189
 
190
        return sb.toString();
191
    }
192
 
2418 vikas 193
    public JSONObject getLogDataInJson() {
194
        return null;
195
    }
196
 
2262 vikas 197
    public Date getTime() {
198
        return time;
199
    }
200
 
201
    public void setTime(Date time) {
202
        this.time = time;
203
    }
204
 
205
    public String getSessionId() {
206
        return sessionId;
207
    }
208
 
209
    public void setSessionId(String sessionId) {
210
        this.sessionId = sessionId;
211
    }
212
 
213
    public Long getUserId() {
214
        return userId;
215
    }
216
 
217
    public void setUserId(Long userId) {
218
        this.userId = userId;
219
    }
220
 
221
    public String getUserEmail() {
222
        return userEmail;
223
    }
224
 
225
    public void setUserEmail(String userEmail) {
226
        this.userEmail = userEmail;
227
    }
228
 
229
    public EventType getEventType() {
230
        return eventType;
231
    }
232
 
233
    public void setEventType(EventType eventType) {
234
        this.eventType = eventType;
235
    }
236
}