killbill-memoizeit

Details

diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoicePaymentApi.java b/api/src/main/java/com/ning/billing/invoice/api/InvoicePaymentApi.java
index 89313bc..641afa6 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/InvoicePaymentApi.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoicePaymentApi.java
@@ -40,6 +40,4 @@ public interface InvoicePaymentApi {
 
     public void notifyOfPaymentAttempt(UUID invoiceId, UUID paymentAttemptId, DateTime paymentAttemptDate);
 
-	void triggerInvoiceGeneration(UUID accountId, DateTime targetDate) throws InvoiceApiException;
-
 }
diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
index 363e483..079a7d0 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
@@ -39,4 +39,7 @@ public interface InvoiceUserApi {
     public void notifyOfPaymentAttempt(InvoicePayment invoicePayment);
 
     public Collection<Invoice> getUnpaidInvoicesByAccountId(UUID accountId, DateTime upToDate);
+
+	public void triggerInvoiceGeneration(UUID accountId, DateTime targetDate) throws InvoiceApiException;
+
 }
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/invoice/DefaultInvoicePaymentApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/invoice/DefaultInvoicePaymentApi.java
index 537201e..4d99525 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/invoice/DefaultInvoicePaymentApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/invoice/DefaultInvoicePaymentApi.java
@@ -25,9 +25,7 @@ import org.joda.time.DateTime;
 
 import com.google.inject.Inject;
 import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.invoice.InvoiceListener;
 import com.ning.billing.invoice.api.Invoice;
-import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.invoice.api.InvoicePayment;
 import com.ning.billing.invoice.api.InvoicePaymentApi;
 import com.ning.billing.invoice.dao.InvoiceDao;
@@ -35,13 +33,11 @@ import com.ning.billing.invoice.model.DefaultInvoicePayment;
 
 public class DefaultInvoicePaymentApi implements InvoicePaymentApi {
     private final InvoiceDao dao;
-	private final InvoiceListener listener;
 
     @Inject
-    public DefaultInvoicePaymentApi(final InvoiceDao dao, final InvoiceListener listener) {
+    public DefaultInvoicePaymentApi(final InvoiceDao dao) {
         this.dao = dao;
-        this.listener = listener;
-    }
+     }
 
     @Override
     public void notifyOfPaymentAttempt(InvoicePayment invoicePayment) {
@@ -86,8 +82,4 @@ public class DefaultInvoicePaymentApi implements InvoicePaymentApi {
         dao.notifyOfPaymentAttempt(invoicePayment);
     }
     
-    @Override 
-    public void triggerInvoiceGeneration(UUID accountId, DateTime targetDate) throws InvoiceApiException {
-    	listener.processAccount(accountId, targetDate);
-    }
 }
\ No newline at end of file
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
index 629f939..91908fb 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
@@ -20,20 +20,24 @@ import java.math.BigDecimal;
 import java.util.List;
 import java.util.UUID;
 
+import com.ning.billing.invoice.InvoiceListener;
 import com.ning.billing.invoice.api.InvoicePayment;
 import org.joda.time.DateTime;
 import com.google.inject.Inject;
 import com.ning.billing.invoice.api.Invoice;
+import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.invoice.api.InvoiceItem;
 import com.ning.billing.invoice.api.InvoiceUserApi;
 import com.ning.billing.invoice.dao.InvoiceDao;
 
 public class DefaultInvoiceUserApi implements InvoiceUserApi {
     private final InvoiceDao dao;
+	private final InvoiceListener listener;
 
     @Inject
-    public DefaultInvoiceUserApi(final InvoiceDao dao) {
+    public DefaultInvoiceUserApi(final InvoiceDao dao, final InvoiceListener listener) {
         this.dao = dao;
+        this.listener = listener;
     }
 
     @Override
@@ -76,4 +80,10 @@ public class DefaultInvoiceUserApi implements InvoiceUserApi {
     public List<Invoice> getUnpaidInvoicesByAccountId(final UUID accountId, final DateTime upToDate) {
         return dao.getUnpaidInvoicesByAccountId(accountId, upToDate);
     }
+    
+
+    @Override 
+    public void triggerInvoiceGeneration(UUID accountId, DateTime targetDate) throws InvoiceApiException {
+    	listener.processAccount(accountId, targetDate);
+    }
 }
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
index 6806d69..038d674 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
@@ -86,7 +86,6 @@ public class InvoiceListener {
         }
     }
 
-    @Subscribe
     public void handleNextBillingDateEvent(final NextBillingDateEvent event) {
         // STEPH should we use the date of the event instead?
         try {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/MockInvoicePaymentApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/MockInvoicePaymentApi.java
index 3a40785..11e6ead 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/MockInvoicePaymentApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/MockInvoicePaymentApi.java
@@ -22,12 +22,10 @@ import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import javax.naming.OperationNotSupportedException;
-
-import com.ning.billing.invoice.model.DefaultInvoicePayment;
 import org.joda.time.DateTime;
 
 import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.invoice.model.DefaultInvoicePayment;
 
 public class MockInvoicePaymentApi implements InvoicePaymentApi
 {
@@ -102,10 +100,4 @@ public class MockInvoicePaymentApi implements InvoicePaymentApi
         notifyOfPaymentAttempt(invoicePayment);
     }
 
-	@Override
-	public void triggerInvoiceGeneration(UUID accountId, DateTime targetDate)
-			throws InvoiceApiException {
-		throw new UnsupportedOperationException();	
-		
-	}
 }