Skip to content

Commit

Permalink
Undo previous commit and add method for converting event to map
Browse files Browse the repository at this point in the history
  • Loading branch information
Mansi-mParticle committed Jul 19, 2024
1 parent 85c9e2a commit 8c04efd
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 254 deletions.
10 changes: 5 additions & 5 deletions android-core/src/main/java/com/mparticle/MParticle.java
Original file line number Diff line number Diff line change
Expand Up @@ -1269,18 +1269,18 @@ public static void removeListener(SdkListener listener) {
* @see #logEvent(BaseEvent)
*/
public enum EventType {
Unknown(0), Navigation(1), Location(2), Search(3), Transaction(4), UserContent(5), UserPreference(6), Social(7), Other(8), Media(9);

Unknown(0), Navigation(1), Location(2), Search(3), Transaction(4), UserContent(5), UserPreference(6),
Social(7), Other(8), Media(9), AddToCart(10), RemoveFromCart(11), Checkout(12), CheckoutOption(13),
Click(14), ViewDetail(15), Purchase(16), Refund(17), PromotionView(18), PromotionClick(19), AddToWishlist(20),
RemoveFromWishlist(21), Impression(22);
private final int value;

EventType(final int newValue) {
value = newValue;
}

public int getValue() { return value; }
public int getValue() {
return value;
}

@NonNull
public String toString() {
return name();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -479,32 +479,6 @@ EventType convertEventType(int eventType) {
return EventType.Social;
case 9:
return EventType.Media;
case 10:
return EventType.AddToCart;
case 11:
return EventType.RemoveFromCart;
case 12:
return EventType.Checkout;
case 13:
return EventType.CheckoutOption;
case 14:
return EventType.Click;
case 15:
return EventType.ViewDetail;
case 16:
return EventType.Purchase;
case 17:
return EventType.Refund;
case 18:
return EventType.PromotionView;
case 19:
return EventType.PromotionClick;
case 20:
return EventType.AddToWishlist;
case 21:
return EventType.RemoveFromWishlist;
case 22:
return EventType.Impression;
default:
return EventType.Other;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@
import com.mparticle.commerce.Product;
import com.mparticle.commerce.Promotion;
import com.mparticle.commerce.TransactionAttributes;
import com.mparticle.internal.Logger;
import com.mparticle.internal.MPUtility;

import org.json.JSONArray;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
Expand Down Expand Up @@ -56,42 +60,7 @@ public static List<MPEvent> expandProductAction(CommerceEvent event) {
List<Product> products = event.getProducts();
if (products != null) {
for (int i = 0; i < products.size(); i++) {
MPEvent.Builder itemEvent;
switch (productAction) {
case Product.ADD_TO_CART:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.AddToCart);
break;
case Product.CLICK:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Click);
break;
case Product.ADD_TO_WISHLIST:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.AddToWishlist);
break;
case Product.CHECKOUT:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Checkout);
break;
case Product.CHECKOUT_OPTION:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.CheckoutOption);
break;
case Product.DETAIL:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.ViewDetail);
break;
case Product.PURCHASE:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Purchase);
break;
case Product.REFUND:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Refund);
break;
case Product.REMOVE_FROM_CART:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.RemoveFromCart);
break;
case Product.REMOVE_FROM_WISHLIST:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.RemoveFromWishlist);
break;
default:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Transaction);
}

MPEvent.Builder itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, productAction), MParticle.EventType.Transaction);
Map<String, String> attributes = new HashMap<String, String>();
OnAttributeExtracted attributeExtracted = new StringAttributeExtractor(attributes);
extractProductFields(products.get(i), attributeExtracted);
Expand Down Expand Up @@ -219,41 +188,7 @@ public static List<MPEvent> expandPromotionAction(CommerceEvent event) {
List<Promotion> promotions = event.getPromotions();
if (promotions != null) {
for (int i = 0; i < promotions.size(); i++) {
MPEvent.Builder itemEvent;
switch (promotionAction) {
case Product.ADD_TO_CART:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.AddToCart);
break;
case Product.CLICK:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Click);
break;
case Product.ADD_TO_WISHLIST:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.AddToWishlist);
break;
case Product.CHECKOUT:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Checkout);
break;
case Product.CHECKOUT_OPTION:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.CheckoutOption);
break;
case Product.DETAIL:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.ViewDetail);
break;
case Product.PURCHASE:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Purchase);
break;
case Product.REFUND:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Refund);
break;
case Product.REMOVE_FROM_CART:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.RemoveFromCart);
break;
case Product.REMOVE_FROM_WISHLIST:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.RemoveFromWishlist);
break;
default:
itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Transaction);
}
MPEvent.Builder itemEvent = new MPEvent.Builder(String.format(ITEM_NAME, promotionAction), MParticle.EventType.Transaction);
Map<String, String> attributes = new HashMap<String, String>();
if (event.getCustomAttributeStrings() != null) {
attributes.putAll(event.getCustomAttributeStrings());
Expand Down Expand Up @@ -390,6 +325,119 @@ public static int getEventType(CommerceEvent filteredEvent) {
return Constants.EVENT_TYPE_IMPRESSION;
}

public static Map<String, String> convertCommerceEventToMap(CommerceEvent event) {

Map<String, String> map = new HashMap<>();

if (event.getProducts()!=null && event.getProducts().size() > 0) {
for (Product product : event.getProducts()) {
if (product.getName() != null) {
map.put(Constants.ATT_PRODUCT_NAME, product.getName());
}
if (product.getBrand() != null) {
map.put(Constants.ATT_PRODUCT_BRAND, product.getBrand());
}
if (product.getCategory() != null) {
map.put(Constants.ATT_PRODUCT_CATEGORY, product.getCategory());
}
if (product.getVariant() != null) {
map.put(Constants.ATT_PRODUCT_VARIANT, product.getVariant());
}
if (product.getPosition() != null) {
map.put(Constants.ATT_PRODUCT_POSITION, product.getPosition().toString());
}
if (product.getUnitPrice() > 0.0) {
map.put(Constants.ATT_PRODUCT_PRICE, Double.toString(product.getUnitPrice()));
}
if (product.getQuantity() > 0.0) {
map.put(Constants.ATT_PRODUCT_QUANTITY, Double.toString(product.getQuantity()));
}
if (product.getCouponCode() != null) {
map.put(Constants.ATT_PRODUCT_COUPON_CODE, product.getCouponCode());
}
if (product.getTotalAmount() > 0.0) {
map.put(Constants.ATT_TOTAL, Double.toString(product.getTotalAmount()));
}
if (product.getCustomAttributes() != null) {
map.putAll(product.getCustomAttributes());
}
}
}
if (event.getCheckoutStep() != null) {
map.put(Constants.ATT_ACTION_CHECKOUT_STEP, event.getCheckoutStep().toString());
}
if (event.getCheckoutOptions() != null) {
map.put(Constants.ATT_ACTION_CHECKOUT_OPTIONS, event.getCheckoutOptions());
}
if (event.getCurrency() != null) {
map.put(Constants.ATT_ACTION_CURRENCY_CODE, event.getCurrency());
}
if (event.getProductListName() != null) {
map.put(Constants.ATT_ACTION_PRODUCT_ACTION_LIST, event.getProductListName());
}
if (event.getProductListSource() != null) {
map.put(Constants.ATT_ACTION_PRODUCT_LIST_SOURCE, event.getProductListSource());
}
TransactionAttributes attributes = event.getTransactionAttributes();
if (attributes != null) {
if (attributes.getId() != null) {
map.put(Constants.ATT_TRANSACTION_ID, attributes.getId());
}
if (attributes.getAffiliation() != null) {
map.put(Constants.ATT_AFFILIATION, attributes.getAffiliation());
}
if (attributes.getRevenue() != null) {
map.put(Constants.ATT_TOTAL, attributes.getRevenue().toString());
}
if (attributes.getTax() != null) {
map.put(Constants.ATT_TAX, attributes.getTax().toString());
}
if (attributes.getShipping() != null) {
map.put(Constants.ATT_SHIPPING, attributes.getShipping().toString());
}
if (attributes.getCouponCode() != null) {
map.put(Constants.ATT_TRANSACTION_COUPON_CODE, attributes.getCouponCode());
}
}
if (event.getPromotions()!=null && event.getPromotions().size() > 0) {
for (Promotion promotion : event.getPromotions()) {
if (promotion.getId() != null) {
map.put(Constants.ATT_PROMOTION_ID, promotion.getId());
}
if (promotion.getName() != null) {
map.put(Constants.ATT_PROMOTION_NAME, promotion.getName());
}
if (promotion.getCreative() != null) {
map.put(Constants.ATT_PROMOTION_CREATIVE, promotion.getCreative());
}
if (promotion.getPosition() != null) {
map.put(Constants.ATT_PROMOTION_POSITION, promotion.getPosition());
}
}
}
if (event.getImpressions()!=null && event.getImpressions().size() > 0) {
for (Impression impression : event.getImpressions()) {
if (impression.getListName() != null) {
map.put(com.mparticle.internal.Constants.Commerce.IMPRESSION_LOCATION, impression.getListName());
}
if (impression.getProducts().size() > 0) {
JSONArray productsJson = new JSONArray();
try {
for (Product product : impression.getProducts()) {
productsJson.put(new JSONObject(product.toString()));
}
} catch (Exception e) {
Logger.error("Error while parsing event impression data");
}
if (productsJson.length() > 0) {
map.put(com.mparticle.internal.Constants.Commerce.IMPRESSION_PRODUCT_LIST, productsJson.toString());
}
}
}
}
return map;
}

public interface Constants {

String ATT_AFFILIATION = "Affiliation";
Expand Down
Loading

0 comments on commit 8c04efd

Please sign in to comment.