killbill-memoizeit

Details

diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
index cab1821..77eb9b2 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestJrubyNotificationPlugin.java
@@ -34,8 +34,7 @@ public class TestJrubyNotificationPlugin extends TestOSGIBase {
     private final String BUNDLE_TEST_RESOURCE_PREFIX = "killbill-notification-test";
     private final String BUNDLE_TEST_RESOURCE = BUNDLE_TEST_RESOURCE_PREFIX + ".tar.gz";
 
-    // STEPH_ENT reenable All tests
-    @BeforeClass(groups = "slow", enabled = false)
+    @BeforeClass(groups = "slow")
     public void beforeClass() throws Exception {
 
         // OSGIDataSourceConfig
@@ -48,7 +47,7 @@ public class TestJrubyNotificationPlugin extends TestOSGIBase {
         setupTest.setupJrubyBundle();
     }
 
-    @Test(groups = "slow", enabled = false)
+    @Test(groups = "slow")
     public void testOnEventForAccountCreation() throws Exception {
 
         // Once we create the account we give the hand to the jruby notification plugin
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscription.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscription.java
index 888acf1..26c3e8f 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscription.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/DefaultSubscription.java
@@ -16,9 +16,7 @@
 
 package com.ning.billing.entitlement.api;
 
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.joda.time.DateTime;
 import org.joda.time.LocalDate;
@@ -56,15 +54,16 @@ public class DefaultSubscription extends DefaultEntitlement implements Subscript
     }
 
     @Override
-    public Map<String, String> getCurrentStatesForService() {
+    public String getCurrentStateForService(final String serviceName) {
 
-        final Map<String, String> result = new HashMap<String, String>();
         if (blockingStates == null) {
-            return result;
+            return null;
         }
         for (BlockingState cur : blockingStates) {
-            result.put(cur.getService(), cur.getStateName());
+            if (cur.getService().equals(serviceName)) {
+                return cur.getStateName();
+            }
         }
-        return result;
+        return null;
     }
 }
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
index 1f4c3fc..b873495 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
@@ -17,12 +17,9 @@ import com.ning.billing.catalog.api.CatalogApiException;
 import com.ning.billing.catalog.api.Plan;
 import com.ning.billing.catalog.api.PlanPhase;
 import com.ning.billing.catalog.api.PriceList;
-import com.ning.billing.catalog.api.PriceListSet;
 import com.ning.billing.catalog.api.Product;
 import com.ning.billing.entitlement.DefaultEntitlementService;
 import com.ning.billing.entitlement.EntitlementTestSuiteNoDB;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEventType;
 import com.ning.billing.subscription.api.SubscriptionBase;
 import com.ning.billing.subscription.api.user.SubscriptionBaseTransition;
 import com.ning.billing.subscription.api.user.SubscriptionBaseTransitionData;
@@ -99,7 +96,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
     }
 
 
-
     @Test(groups = "fast")
     public void testOneEntitlementWithBlockingStatesSubscription() throws CatalogApiException {
 
@@ -148,8 +144,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
         entitlements.add(entitlement);
 
 
-
-
         final DefaultSubscriptionBundleTimeline timeline = new DefaultSubscriptionBundleTimeline(accountTimeZone, accountId, bundleId, externalKey, entitlements, blockingStates);
 
         List<SubscriptionEvent> events = timeline.getSubscriptionEvents();
@@ -230,8 +224,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
         entitlements.add(entitlement2);
 
 
-
-
         final DefaultSubscriptionBundleTimeline timeline = new DefaultSubscriptionBundleTimeline(accountTimeZone, accountId, bundleId, externalKey, entitlements, blockingStates);
 
         List<SubscriptionEvent> events = timeline.getSubscriptionEvents();
@@ -265,8 +257,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
     }
 
 
-
-
     private DefaultEntitlement createEntitlement(final UUID entitlementId, final List<SubscriptionBaseTransition> allTransitions) {
 
         final DefaultEntitlement result = Mockito.mock(DefaultEntitlement.class);
@@ -284,7 +274,7 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
                                                         final DateTime requestedDate,
                                                         final DateTime effectiveDate,
                                                         final DateTime createdDate
-                                                        ) throws CatalogApiException {
+                                                       ) throws CatalogApiException {
 
 
         final PlanPhase phase = Mockito.mock(PlanPhase.class);
@@ -295,16 +285,16 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
         Mockito.when(plan.getName()).thenReturn("plan");
 
 
-                //catalogService.getCurrentCatalog().findCurrentPlan("pistol-monthly");
+        //catalogService.getCurrentCatalog().findCurrentPlan("pistol-monthly");
         final Product product = Mockito.mock(Product.class);
         Mockito.when(product.getName()).thenReturn("product");
 
-                //catalogService.getCurrentCatalog().findCurrentProduct("Pistol");
+        //catalogService.getCurrentCatalog().findCurrentProduct("Pistol");
 
         final PriceList priceList = Mockito.mock(PriceList.class);
         Mockito.when(priceList.getName()).thenReturn("pricelist");
 
-                //catalogService.getCurrentCatalog().findCurrentPricelist(PriceListSet.DEFAULT_PRICELIST_NAME);
+        //catalogService.getCurrentCatalog().findCurrentPricelist(PriceListSet.DEFAULT_PRICELIST_NAME);
         final BillingPeriod billingPeriod = BillingPeriod.MONTHLY;
 
         final SubscriptionBaseTransition transition = new SubscriptionBaseTransitionData(UUID.randomUUID(),
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonWithSubscriptions.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonWithSubscriptions.java
index e0d0539..4383d4c 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonWithSubscriptions.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonWithSubscriptions.java
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
 
 import com.ning.billing.entitlement.api.Subscription;
 import com.ning.billing.entitlement.api.SubscriptionBundle;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
+import com.ning.billing.entitlement.api.SubscriptionEvent;
 import com.ning.billing.util.audit.AuditLog;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonWithEvents.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonWithEvents.java
index 0060923..eca2d97 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonWithEvents.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonWithEvents.java
@@ -29,8 +29,7 @@ import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.PlanPhase;
 import com.ning.billing.catalog.api.PriceList;
 import com.ning.billing.catalog.api.Product;
-import com.ning.billing.entitlement.api.Subscription;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
+import com.ning.billing.entitlement.api.SubscriptionEvent;
 import com.ning.billing.util.audit.AuditLog;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
index f2af865..c17defb 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
@@ -30,7 +30,7 @@ import com.ning.billing.catalog.api.Currency;
 import com.ning.billing.catalog.api.PhaseType;
 import com.ning.billing.catalog.api.PlanPhaseSpecifier;
 import com.ning.billing.catalog.api.ProductCategory;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
+import com.ning.billing.entitlement.api.SubscriptionEvent;
 import com.ning.billing.jaxrs.JaxrsTestSuiteNoDB;
 import com.ning.billing.util.audit.AuditLog;
 
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java
index 9aa3997..a923b00 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java
@@ -27,7 +27,7 @@ import org.testng.annotations.Test;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.PhaseType;
 import com.ning.billing.clock.DefaultClock;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
+import com.ning.billing.entitlement.api.SubscriptionEvent;
 import com.ning.billing.jaxrs.JaxrsTestSuiteNoDB;
 import com.ning.billing.jaxrs.json.SubscriptionJsonWithEvents.SubscriptionReadEventJson;
 import com.ning.billing.subscription.api.SubscriptionBaseTransitionType;
@@ -49,14 +49,14 @@ public class TestEntitlementJsonWithEvents extends JaxrsTestSuiteNoDB {
         final UUID eventId = UUID.randomUUID();
         final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
         final SubscriptionJsonWithEvents.SubscriptionReadEventJson newEvent = new SubscriptionJsonWithEvents.SubscriptionReadEventJson(eventId.toString(),
-                                                                                                                                     BillingPeriod.NO_BILLING_PERIOD.toString(),
-                                                                                                                                     requestedDate.toLocalDate(),
-                                                                                                                                     effectiveDate.toLocalDate(),
-                                                                                                                                     UUID.randomUUID().toString(),
-                                                                                                                                     UUID.randomUUID().toString(),
-                                                                                                                                     SubscriptionBaseTransitionType.CREATE.toString(),
-                                                                                                                                     PhaseType.DISCOUNT.toString(),
-                                                                                                                                     auditLogs);
+                                                                                                                                       BillingPeriod.NO_BILLING_PERIOD.toString(),
+                                                                                                                                       requestedDate.toLocalDate(),
+                                                                                                                                       effectiveDate.toLocalDate(),
+                                                                                                                                       UUID.randomUUID().toString(),
+                                                                                                                                       UUID.randomUUID().toString(),
+                                                                                                                                       SubscriptionBaseTransitionType.CREATE.toString(),
+                                                                                                                                       PhaseType.DISCOUNT.toString(),
+                                                                                                                                       auditLogs);
         final SubscriptionEvent event = null;
         final SubscriptionJsonWithEvents entitlementJsonWithEvents = new SubscriptionJsonWithEvents(accountId, bundleId, entitlementId, externalKey, ImmutableList.<SubscriptionReadEventJson>of(newEvent), null, null, auditLogs);
 
diff --git a/util/src/main/java/com/ning/billing/util/audit/api/DefaultAuditUserApi.java b/util/src/main/java/com/ning/billing/util/audit/api/DefaultAuditUserApi.java
index c60cc0f..6f629b8 100644
--- a/util/src/main/java/com/ning/billing/util/audit/api/DefaultAuditUserApi.java
+++ b/util/src/main/java/com/ning/billing/util/audit/api/DefaultAuditUserApi.java
@@ -27,12 +27,7 @@ import javax.inject.Inject;
 import com.ning.billing.ObjectType;
 import com.ning.billing.entitlement.api.Subscription;
 import com.ning.billing.entitlement.api.SubscriptionBundle;
-import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
-import com.ning.billing.subscription.api.timeline.BundleBaseTimeline;
-import com.ning.billing.subscription.api.timeline.SubscriptionBaseRepairException;
-import com.ning.billing.subscription.api.timeline.SubscriptionBaseTimeline;
-import com.ning.billing.subscription.api.timeline.SubscriptionBaseTimelineApi;
-import com.ning.billing.subscription.api.timeline.SubscriptionBaseTimeline.ExistingEvent;
+import com.ning.billing.entitlement.api.SubscriptionEvent;
 import com.ning.billing.invoice.api.Invoice;
 import com.ning.billing.invoice.api.InvoiceItem;
 import com.ning.billing.invoice.api.InvoicePayment;
@@ -73,7 +68,7 @@ public class DefaultAuditUserApi implements AuditUserApi {
     }
 
     @Override
-    public AuditLogsForAccount getAuditLogsForAccount(final UUID accountId, final AuditLevel auditLevel, final TenantContext context){
+    public AuditLogsForAccount getAuditLogsForAccount(final UUID accountId, final AuditLevel auditLevel, final TenantContext context) {
         return new DefaultAuditLogsForAccount(getAuditLogs(accountId, ObjectType.ACCOUNT, auditLevel, context));
     }
 
@@ -86,7 +81,7 @@ public class DefaultAuditUserApi implements AuditUserApi {
             bundlesAuditLogs.put(bundle.getId(), getAuditLogs(bundle.getId(), ObjectType.BUNDLE, auditLevel, context));
             for (final Subscription cur : bundle.getSubscriptions()) {
 
-                final ImmutableList<SubscriptionEvent> events =  ImmutableList.<SubscriptionEvent>copyOf(Collections2.filter(bundle.getTimeline().getSubscriptionEvents(), new Predicate<SubscriptionEvent>() {
+                final ImmutableList<SubscriptionEvent> events = ImmutableList.<SubscriptionEvent>copyOf(Collections2.filter(bundle.getTimeline().getSubscriptionEvents(), new Predicate<SubscriptionEvent>() {
                     @Override
                     public boolean apply(@Nullable final SubscriptionEvent input) {
                         return input.getEntitlementId().equals(cur.getId());