Rev 5072 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.datalogger;import in.shop2020.datalogger.event.AddAddress;import in.shop2020.datalogger.event.AddToCart;import in.shop2020.datalogger.event.CouponApplied;import in.shop2020.datalogger.event.CouponRemoved;import in.shop2020.datalogger.event.DeliveryEstimate;import in.shop2020.datalogger.event.DeleteAddress;import in.shop2020.datalogger.event.DeleteFromCart;import in.shop2020.datalogger.event.Event;import in.shop2020.datalogger.event.LoginSuccess;import in.shop2020.datalogger.event.NewSession;import in.shop2020.datalogger.event.OrderCreation;import in.shop2020.datalogger.event.PaymentFailure;import in.shop2020.datalogger.event.PaymentSuccess;import in.shop2020.datalogger.event.ProceedToPay;import in.shop2020.datalogger.event.ProductCompare;import in.shop2020.datalogger.event.ProductSearch;import in.shop2020.datalogger.event.ProductView;import in.shop2020.datalogger.event.RechargeStatusEvent;import in.shop2020.datalogger.event.RegisterDataIncomplete;import in.shop2020.datalogger.event.RegisterFailedUserExists;import in.shop2020.datalogger.event.RegisterSuccess;import in.shop2020.datalogger.event.ResearchAdd;import in.shop2020.datalogger.event.ResearchDelete;import in.shop2020.datalogger.event.SetDefaultAddress;import in.shop2020.datalogger.event.ShippingAccess;import in.shop2020.datalogger.event.ShippingAddAddress;import in.shop2020.datalogger.event.ShippingAddressChange;import in.shop2020.datalogger.event.UpdateCartQuantity;import in.shop2020.datalogger.event.UpdateCartQuantityFailed;import in.shop2020.datalogger.event.ProviderFetchFailure;public enum EventType {ADD_ADDRESS(AddAddress.class),DELETE_ADDRESS(DeleteAddress.class),SET_DEFAULT_ADDRESS(SetDefaultAddress.class),ADD_TO_CART(AddToCart.class),DELETE_FROM_CART(DeleteFromCart.class),UPDATE_CART_QUANTITY(UpdateCartQuantity.class),UPDATE_CART_QUANTITY_FAILED(UpdateCartQuantityFailed.class),PAYMENT_SUCCESS(PaymentSuccess.class),PAYMENT_FAILURE(PaymentFailure.class),PRODUCT_VIEW(ProductView.class),PRODUCT_SEARCH(ProductSearch.class),PRODUCT_COMPARE(ProductCompare.class),LOGIN_FAILED(Event.class),LOGIN_SUCCESS(LoginSuccess.class),LOGOUT(Event.class),RESEARCH_ADD(ResearchAdd.class),RESEARCH_DELETE(ResearchDelete.class),REGISTER_SUCCESS(RegisterSuccess.class),REGISTER_FAILED_USER_EXISTS(RegisterFailedUserExists.class),REGISTER_DATA_INCOMPLETE(RegisterDataIncomplete.class),SHIPPINIG_ACCESS(ShippingAccess.class),SHIPPINIG_ADD_ADDRESS(ShippingAddAddress.class),SHIPPINIG_ADD_CHANGE(ShippingAddressChange.class),ORDER_CREATION(OrderCreation.class),NEW_SESSION(NewSession.class),COUPON_APPLIED(CouponApplied.class),COUPON_REMOVED(CouponRemoved.class),HOME_PAGE(Event.class),PROCEED_TO_PAY(ProceedToPay.class),CAPTCHA_SUCCESS(Event.class),CAPTCHA_FAILED(Event.class),DELIVERY_ESTIMATE(DeliveryEstimate.class),RECHARGE_SUCCESSFUL(RechargeStatusEvent.class),RECHARGE_PAYMENT_SUCCESSFUL(RechargeStatusEvent.class),RECHARGE_PAYMENT_FAILED(RechargeStatusEvent.class),PROVIDER_FETCH_FAILURE(ProviderFetchFailure.class);private final Class<? extends Event> clazz;EventType(Class<? extends Event> clazz) {this.clazz = clazz;}/** This method will remove the switch statment in createEvent method of Event for better design.* Need to look more into this.*//*public Event CreateEvent(EventType eType, String sessionId, long userId, String email, String[] logData) {try {return this.clazz.getConstructor(EventType.class, String.class,long.class, String.class, String[].class).newInstance(eType,sessionId, userId, email, logData);} catch (IllegalArgumentException e) {e.printStackTrace();} catch (SecurityException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (NoSuchMethodException e) {// TODO Auto-generated catch blocke.printStackTrace();}}*/}