killbill-memoizeit

Fix unit tests and startup sequence

10/26/2012 2:18:04 AM

Changes

api/src/main/java/com/ning/billing/beatrix/bus/BusEvent.java 37(+0 -37)

api/src/main/java/com/ning/billing/beatrix/bus/ExtBusEventType.java 28(+0 -28)

api/src/main/java/com/ning/billing/beatrix/bus/ExternalBus.java 24(+0 -24)

beatrix/src/main/java/com/ning/billing/beatrix/BeatrixService.java 29(+0 -29)

Details

diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java b/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java
index c4f6f80..b993df0 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/DefaultBeatrixService.java
@@ -17,16 +17,16 @@ package com.ning.billing.beatrix;
 
 import javax.inject.Inject;
 
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.BeatrixService;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.extbus.BeatrixListener;
 import com.ning.billing.beatrix.extbus.PersistentExternalBus;
-import com.ning.billing.lifecycle.KillbillService;
 import com.ning.billing.lifecycle.LifecycleHandlerType;
 import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
 import com.ning.billing.util.svcsapi.bus.InternalBus;
 
 
-public class DefaultBeatrixService implements KillbillService {
+public class DefaultBeatrixService implements BeatrixService {
 
     public static final String BEATRIX_SERVICE_NAME = "beatrix-service";
 
@@ -34,7 +34,6 @@ public class DefaultBeatrixService implements KillbillService {
     private final InternalBus eventBus;
     private final ExternalBus externalBus;
 
-
     @Inject
     public DefaultBeatrixService(final InternalBus eventBus, final ExternalBus externalBus, final BeatrixListener beatrixListener) {
         this.eventBus = eventBus;
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
index 7f8e5ab..319f166 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
@@ -22,8 +22,8 @@ import javax.inject.Inject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.ning.billing.beatrix.bus.ExtBusEventType;
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.ExtBusEventType;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.extbus.dao.ExtBusEventEntry;
 import com.ning.billing.entitlement.api.SubscriptionTransitionType;
 import com.ning.billing.util.Hostname;
@@ -114,7 +114,8 @@ public class BeatrixListener {
             SubscriptionInternalEvent realEventST  = (SubscriptionInternalEvent) event;
             objectType = ObjectType.SUBSCRIPTION;
             objectId = realEventST.getSubscriptionId();
-            if (realEventST.getTransitionType() == SubscriptionTransitionType.CREATE) {
+            if (realEventST.getTransitionType() == SubscriptionTransitionType.CREATE ||
+                    realEventST.getTransitionType() == SubscriptionTransitionType.RE_CREATE) {
                 eventBusType = ExtBusEventType.SUBSCRIPTION_CREATION;
             } else if (realEventST.getTransitionType() == SubscriptionTransitionType.CANCEL) {
                 eventBusType = ExtBusEventType.SUBSCRIPTION_CANCEL;
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java
index 8ac4994..8d21129 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusEventEntry.java
@@ -20,7 +20,7 @@ import java.util.UUID;
 
 import org.joda.time.DateTime;
 
-import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.beatrix.bus.api.ExtBusEventType;
 import com.ning.billing.util.dao.ObjectType;
 import com.ning.billing.util.queue.PersistentQueueEntryLifecycle;
 
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java
index 5d4ada9..004ff07 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/dao/ExtBusSqlDao.java
@@ -33,7 +33,7 @@ import org.skife.jdbi.v2.sqlobject.mixins.Transactional;
 import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTemplate3;
 import org.skife.jdbi.v2.tweak.ResultSetMapper;
 
-import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.beatrix.bus.api.ExtBusEventType;
 import com.ning.billing.util.callcontext.InternalCallContext;
 import com.ning.billing.util.callcontext.InternalTenantContext;
 import com.ning.billing.util.callcontext.InternalTenantContextBinder;
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java
index 414549c..16cd94b 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/DefaultBusEvent.java
@@ -17,8 +17,8 @@ package com.ning.billing.beatrix.extbus;
 
 import java.util.UUID;
 
-import com.ning.billing.beatrix.bus.BusEvent;
-import com.ning.billing.beatrix.bus.ExtBusEventType;
+import com.ning.billing.beatrix.bus.api.BusEvent;
+import com.ning.billing.beatrix.bus.api.ExtBusEventType;
 import com.ning.billing.util.dao.ObjectType;
 
 public class DefaultBusEvent implements BusEvent {
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java
index 9cec260..6398289 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/PersistentExternalBus.java
@@ -27,8 +27,8 @@ import org.skife.jdbi.v2.IDBI;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.ning.billing.beatrix.bus.BusEvent;
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.BusEvent;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.extbus.dao.ExtBusEventEntry;
 import com.ning.billing.beatrix.extbus.dao.ExtBusSqlDao;
 import com.ning.billing.util.Hostname;
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java b/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
index 3d46bb0..2cacada 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/glue/BeatrixModule.java
@@ -17,7 +17,8 @@
 package com.ning.billing.beatrix.glue;
 
 import com.ning.billing.beatrix.DefaultBeatrixService;
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.BeatrixService;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.extbus.BeatrixListener;
 import com.ning.billing.beatrix.extbus.PersistentExternalBus;
 import com.ning.billing.beatrix.lifecycle.DefaultLifecycle;
@@ -30,9 +31,13 @@ public class BeatrixModule extends AbstractModule {
     @Override
     protected void configure() {
         bind(Lifecycle.class).to(DefaultLifecycle.class).asEagerSingleton();
+        installExternalBus();
+    }
+
+    protected void installExternalBus() {
+        bind(BeatrixService.class).to(DefaultBeatrixService.class);
         bind(DefaultBeatrixService.class).asEagerSingleton();
         bind(ExternalBus.class).to(PersistentExternalBus.class).asEagerSingleton();
         bind(BeatrixListener.class).asEagerSingleton();
     }
-
 }
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/DefaultLifecycle.java b/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/DefaultLifecycle.java
index c5cfd73..373fb8c 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/DefaultLifecycle.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/DefaultLifecycle.java
@@ -28,6 +28,11 @@ import java.util.concurrent.CopyOnWriteArraySet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.ning.billing.lifecycle.KillbillService;
+import com.ning.billing.lifecycle.LifecycleHandlerType;
+import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
+import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel.Sequence;
+
 import com.google.common.base.Supplier;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
@@ -35,10 +40,6 @@ import com.google.common.collect.Multimaps;
 import com.google.common.collect.SetMultimap;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
-import com.ning.billing.lifecycle.KillbillService;
-import com.ning.billing.lifecycle.LifecycleHandlerType;
-import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel;
-import com.ning.billing.lifecycle.LifecycleHandlerType.LifecycleLevel.Sequence;
 
 
 public class DefaultLifecycle implements Lifecycle {
@@ -93,10 +94,10 @@ public class DefaultLifecycle implements Lifecycle {
         final Set<KillbillService> result = new HashSet<KillbillService>();
         final Set<Class<? extends KillbillService>> services = serviceFinder.getServices();
         for (final Class<? extends KillbillService> cur : services) {
-            log.debug("Found service {}", cur.getName());
+            log.info("Found service {}", cur.getName());
             try {
                 final KillbillService instance = injector.getInstance(cur);
-                log.debug("got instance {}", instance.getName());
+                log.info("got instance {}", instance.getName());
                 result.add(instance);
             } catch (Exception e) {
                 logWarn("Failed to inject " + cur.getName(), e);
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/ServiceFinder.java b/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/ServiceFinder.java
index 52c7716..1ffffe4 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/ServiceFinder.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/lifecycle/ServiceFinder.java
@@ -147,7 +147,7 @@ public class ServiceFinder {
                     } catch (NoClassDefFoundError e) {
                         continue;
                     }
-                    if (theClass.isInterface()) {
+                    if (!theClass.isInterface()) {
                         continue;
                     }
                     final Class<?>[] classInterfaces = getAllInterfaces(theClass);
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
index 09c1f17..82428ea 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixModule.java
@@ -30,7 +30,7 @@ import com.ning.billing.account.api.AccountService;
 import com.ning.billing.account.glue.DefaultAccountModule;
 import com.ning.billing.analytics.setup.AnalyticsModule;
 import com.ning.billing.beatrix.DefaultBeatrixService;
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.extbus.BeatrixListener;
 import com.ning.billing.beatrix.extbus.PersistentExternalBus;
 import com.ning.billing.beatrix.integration.overdue.IntegrationTestOverdueModule;
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
index df37da6..3eaea42 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
@@ -47,7 +47,7 @@ import com.ning.billing.api.TestApiListener;
 import com.ning.billing.api.TestApiListener.NextEvent;
 import com.ning.billing.api.TestListenerStatus;
 import com.ning.billing.beatrix.BeatrixTestSuiteWithEmbeddedDB;
-import com.ning.billing.beatrix.bus.ExternalBus;
+import com.ning.billing.beatrix.bus.api.ExternalBus;
 import com.ning.billing.beatrix.lifecycle.Lifecycle;
 import com.ning.billing.beatrix.util.InvoiceChecker;
 import com.ning.billing.beatrix.util.PaymentChecker;
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
index 80ebcf5..9b8b5c5 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
@@ -27,7 +27,7 @@ import org.testng.annotations.Test;
 
 import com.ning.billing.account.api.Account;
 import com.ning.billing.api.TestApiListener.NextEvent;
-import com.ning.billing.beatrix.bus.BusEvent;
+import com.ning.billing.beatrix.bus.api.BusEvent;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.PlanPhaseSpecifier;
 import com.ning.billing.catalog.api.PriceListSet;
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscription.java b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscription.java
index c69fe3e..621ef74 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscription.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscription.java
@@ -217,7 +217,7 @@ public class BlockingSubscription implements Subscription {
 
     @Override
     public SubscriptionTransition getPreviousTransition() {
-        return subscription.getPendingTransition();
+        return subscription.getPreviousTransition();
     }
 
     public Subscription getDelegateSubscription() {
diff --git a/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java b/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
index b4bd66e..89967e0 100644
--- a/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
+++ b/util/src/test/java/com/ning/billing/mock/glue/MockJunctionModule.java
@@ -59,4 +59,5 @@ public class MockJunctionModule extends AbstractModule implements JunctionModule
     public void installEntitlementUserApi() {
         bind(EntitlementUserApi.class).toInstance(entUserApi);
     }
+
 }