killbill-aplcache

Details

diff --git a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
index 6337422..a5ad78f 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
@@ -25,7 +25,7 @@ import com.ning.billing.entitlement.api.timeline.RepairEntitlementEvent;
 import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.RequestedSubscriptionEvent;
-import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.overdue.OverdueChangeEvent;
 import com.ning.billing.payment.api.PaymentErrorEvent;
@@ -101,7 +101,7 @@ public class AnalyticsListener {
     }
 
     @Subscribe
-    public void handleNullInvoice(final EmptyInvoiceEvent event) {
+    public void handleNullInvoice(final NullInvoiceEvent event) {
         // Ignored for now
     }
 
diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoiceCreationEvent.java b/api/src/main/java/com/ning/billing/invoice/api/InvoiceCreationEvent.java
index 0385827..5fb8964 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/InvoiceCreationEvent.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoiceCreationEvent.java
@@ -22,12 +22,10 @@ import java.util.UUID;
 import org.joda.time.DateTime;
 
 import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.bus.BusEvent;
 
-public interface InvoiceCreationEvent extends BusEvent {
-    public UUID getInvoiceId();
+public interface InvoiceCreationEvent extends InvoiceEvent {
 
-    public UUID getAccountId();
+    public UUID getInvoiceId();
 
     public BigDecimal getAmountOwed();
 
diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoiceEvent.java b/api/src/main/java/com/ning/billing/invoice/api/InvoiceEvent.java
new file mode 100644
index 0000000..429e69c
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoiceEvent.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package com.ning.billing.invoice.api;
+
+import java.util.UUID;
+
+import com.ning.billing.util.bus.BusEvent;
+
+public interface InvoiceEvent extends BusEvent {
+    public UUID getAccountId();
+}
diff --git a/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java b/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
index 19f1b65..b7c308d 100644
--- a/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
+++ b/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeoutException;
 import com.ning.billing.account.api.AccountChangeEvent;
 import com.ning.billing.account.api.AccountCreationEvent;
 import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
-import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.payment.api.PaymentErrorEvent;
 import com.ning.billing.payment.api.PaymentInfoEvent;
@@ -39,7 +39,7 @@ public interface CompletionUserRequestWaiter {
 
     public void onInvoiceCreation(final InvoiceCreationEvent curEvent);
 
-    public void onEmptyInvoice(final EmptyInvoiceEvent curEvent);
+    public void onEmptyInvoice(final NullInvoiceEvent curEvent);
 
     public void onPaymentInfo(final PaymentInfoEvent curEvent);
 
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
index 832a419..ce54f8c 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
@@ -93,6 +93,18 @@ public class TestIntegration extends TestIntegrationBase {
     }
 
 
+    @Test(groups = {"slow", "stress"}, enabled = true)
+    public void stressTestDebug() throws Exception {
+        final int maxIterations = 5;
+        for (int curIteration = 0; curIteration < maxIterations; curIteration++) {
+            log.info("################################  ITERATION " + curIteration + "  #########################");
+            Thread.sleep(1000);
+            testRepairChangeBPWithAddonIncluded();
+            setupTest();
+        }
+    }
+
+
     @Test(groups = "slow", enabled = true)
     public void testRepairChangeBPWithAddonIncluded() throws Exception {
 
@@ -146,9 +158,13 @@ public class TestIntegration extends TestIntegrationBase {
         busHandler.pushExpectedEvent(NextEvent.INVOICE);
         busHandler.pushExpectedEvent(NextEvent.PAYMENT);
         busHandler.pushExpectedEvent(NextEvent.INVOICE);
-        busHandler.pushExpectedEvent(NextEvent.PAYMENT);
+        busHandler.pushExpectedEvent(NextEvent.INVOICE);
         log.info("Moving clock from" + clock.getUTCNow() + " to " + clock.getUTCNow().plusDays(28));
         clock.addDays(28);// 26 / 5
+
+
+        Thread.sleep(1000000);
+
         assertTrue(busHandler.isCompleted(DELAY));
         assertListenerStatus();
 
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
index 1f747e5..01948ba 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
@@ -41,7 +41,7 @@ import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.invoice.api.InvoiceItem;
 import com.ning.billing.invoice.api.InvoiceNotifier;
-import com.ning.billing.invoice.api.user.DefaultEmptyInvoiceEvent;
+import com.ning.billing.invoice.api.user.DefaultNullInvoiceEvent;
 import com.ning.billing.invoice.api.user.DefaultInvoiceCreationEvent;
 import com.ning.billing.invoice.dao.InvoiceDao;
 import com.ning.billing.invoice.generator.InvoiceGenerator;
@@ -159,7 +159,7 @@ public class InvoiceDispatcher {
                 log.info("Generated null invoice.");
                 outputDebugData(billingEvents, invoices);
                 if (!dryRun) {
-                    final BusEvent event = new DefaultEmptyInvoiceEvent(accountId, clock.getUTCNow(), context.getUserToken());
+                    final BusEvent event = new DefaultNullInvoiceEvent(accountId, clock.getUTCNow(), context.getUserToken());
                     postEvent(event, accountId);
                 }
             } else {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestEventJson.java b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestEventJson.java
index 404255b..1dff8cb 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestEventJson.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestEventJson.java
@@ -23,7 +23,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.util.jackson.ObjectMapper;
 
@@ -45,11 +45,11 @@ public class TestEventJson {
     @Test(groups = {"fast"})
     public void testEmptyInvoiceEvent() throws Exception {
 
-        final EmptyInvoiceEvent e = new DefaultEmptyInvoiceEvent(UUID.randomUUID(), new DateTime(), UUID.randomUUID());
+        final NullInvoiceEvent e = new DefaultNullInvoiceEvent(UUID.randomUUID(), new DateTime(), UUID.randomUUID());
 
         final String json = mapper.writeValueAsString(e);
 
-        final Class<?> claz = Class.forName(DefaultEmptyInvoiceEvent.class.getName());
+        final Class<?> claz = Class.forName(DefaultNullInvoiceEvent.class.getName());
         final Object obj = mapper.readValue(json, claz);
         Assert.assertTrue(obj.equals(e));
     }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
index 969830c..6cb4de1 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
@@ -49,7 +49,7 @@ import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
 import com.ning.billing.entitlement.api.user.EntitlementUserApi;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.jaxrs.json.CustomFieldJson;
 import com.ning.billing.jaxrs.json.SubscriptionJsonNoEvents;
@@ -295,7 +295,7 @@ public class SubscriptionResource extends JaxRsResourceBase {
         }
 
         @Override
-        public void onEmptyInvoice(final EmptyInvoiceEvent curEvent) {
+        public void onEmptyInvoice(final NullInvoiceEvent curEvent) {
             log.info(String.format("Got event EmptyInvoiceNotification token = %s ", curEvent.getUserToken())); 
             notifyForCompletion();
         }
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingApi.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingApi.java
index 7aa55ff..3bc8f28 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingApi.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingApi.java
@@ -111,10 +111,10 @@ public class DefaultBillingApi implements BillingApi {
 
 
     private void debugLog(final SortedSet<BillingEvent> result, final String title) {
-        log.debug(title);
+        log.info(title);
         final Iterator<BillingEvent> i = result.iterator();
         while (i.hasNext()) {
-            log.debug(i.next().toString());
+            log.info(i.next().toString());
         }
 
     }
diff --git a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
index 7468c27..20ecbc4 100644
--- a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
+++ b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
@@ -23,7 +23,7 @@ import java.util.concurrent.TimeoutException;
 import com.ning.billing.account.api.AccountChangeEvent;
 import com.ning.billing.account.api.AccountCreationEvent;
 import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
-import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.NullInvoiceEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
 import com.ning.billing.payment.api.PaymentErrorEvent;
 import com.ning.billing.payment.api.PaymentInfoEvent;
@@ -106,7 +106,7 @@ public abstract class CompletionUserRequestBase implements CompletionUserRequest
                 onSubscriptionTransition((EffectiveSubscriptionEvent) curEvent);
                 break;
             case INVOICE_EMPTY:
-                onEmptyInvoice((EmptyInvoiceEvent) curEvent);
+                onEmptyInvoice((NullInvoiceEvent) curEvent);
                 break;
             case INVOICE_CREATION:
                 onInvoiceCreation((InvoiceCreationEvent) curEvent);
@@ -139,7 +139,7 @@ public abstract class CompletionUserRequestBase implements CompletionUserRequest
     }
 
     @Override
-    public void onEmptyInvoice(final EmptyInvoiceEvent curEvent) {
+    public void onEmptyInvoice(final NullInvoiceEvent curEvent) {
     }
 
     @Override
diff --git a/util/src/test/java/com/ning/billing/api/TestApiListener.java b/util/src/test/java/com/ning/billing/api/TestApiListener.java
index 45543f3..8d6bedf 100644
--- a/util/src/test/java/com/ning/billing/api/TestApiListener.java
+++ b/util/src/test/java/com/ning/billing/api/TestApiListener.java
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright 2010-2011 Ning, Inc.
  *
  * Ning licenses this file to you under the Apache License, version 2.0
@@ -28,6 +28,7 @@ import com.google.common.eventbus.Subscribe;
 import com.ning.billing.entitlement.api.timeline.RepairEntitlementEvent;
 import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
 import com.ning.billing.invoice.api.InvoiceCreationEvent;
+import com.ning.billing.invoice.api.InvoiceEvent;
 import com.ning.billing.payment.api.PaymentErrorEvent;
 import com.ning.billing.payment.api.PaymentInfoEvent;
 
@@ -122,11 +123,10 @@ public class TestApiListener {
     }
 
     @Subscribe
-    public void handleInvoiceEvents(final InvoiceCreationEvent event) {
+    public void handleInvoiceEvents(final InvoiceEvent event) {
         log.info(String.format("TestApiListener Got Invoice event %s", event.toString()));
         assertEqualsNicely(NextEvent.INVOICE);
         notifyIfStackEmpty();
-
     }
 
     @Subscribe