Subversion Repositories SmartDukaan

Rev

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