killbill-uncached

Add specific service name to diferenciate from billing or entitlement

9/18/2013 11:26:35 PM

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscriptionBundleTimeline.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscriptionBundleTimeline.java
index e4e72cb..aba67da 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscriptionBundleTimeline.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscriptionBundleTimeline.java
@@ -33,6 +33,7 @@ import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 import org.joda.time.LocalDate;
 
+import com.ning.billing.ObjectType;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.Plan;
 import com.ning.billing.catalog.api.PlanPhase;
@@ -52,6 +53,9 @@ import com.google.common.collect.ImmutableList;
 
 public class DefaultSubscriptionBundleTimeline implements SubscriptionBundleTimeline {
 
+    public static final String BILLING_SERVICE_NAME = "billing-service";
+    public static final String ENT_BILLING_SERVICE_NAME = "entitlement+billing-service";
+
     private final List<SubscriptionEvent> events;
     private final UUID accountId;
     private final UUID bundleId;
@@ -328,6 +332,8 @@ public class DefaultSubscriptionBundleTimeline implements SubscriptionBundleTime
                                             accountTimeZone);
     }
 
+
+
     private SubscriptionEvent toSubscriptionEvent(final SubscriptionBaseTransition in, final SubscriptionEventType eventType, final DateTimeZone accountTimeZone) {
         return new DefaultSubscriptionEvent(in.getId(),
                                             in.getSubscriptionId(),
@@ -336,7 +342,7 @@ public class DefaultSubscriptionBundleTimeline implements SubscriptionBundleTime
                                             eventType,
                                             false,
                                             false,
-                                            DefaultEntitlementService.ENTITLEMENT_SERVICE_NAME,
+                                            getServiceName(eventType),
                                             eventType.toString(),
                                             (in.getPreviousPlan() != null ? in.getPreviousPlan().getProduct() : null),
                                             in.getPreviousPlan(),
@@ -352,6 +358,23 @@ public class DefaultSubscriptionBundleTimeline implements SubscriptionBundleTime
                                             accountTimeZone);
     }
 
+    private static String getServiceName(final SubscriptionEventType type) {
+        switch (type) {
+            case START_BILLING:
+            case PAUSE_BILLING:
+            case RESUME_BILLING:
+            case STOP_BILLING:
+                return BILLING_SERVICE_NAME;
+
+            case PHASE:
+            case CHANGE:
+                return ENT_BILLING_SERVICE_NAME;
+
+            default:
+                return DefaultEntitlementService.ENTITLEMENT_SERVICE_NAME;
+        }
+    }
+
     private SubscriptionEventType toEventType(final SubscriptionBaseTransitionType in) {
         switch (in) {
             case CREATE:
@@ -809,4 +832,4 @@ public class DefaultSubscriptionBundleTimeline implements SubscriptionBundleTime
             return result;
         }
     }
-}
\ No newline at end of file
+}