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 079a7d0..363e483 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,7 +39,4 @@ 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/user/DefaultInvoiceUserApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
index 91908fb..da7f565 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
@@ -32,12 +32,10 @@ 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, final InvoiceListener listener) {
+ public DefaultInvoiceUserApi(final InvoiceDao dao) {
this.dao = dao;
- this.listener = listener;
}
@Override
@@ -59,7 +57,7 @@ public class DefaultInvoiceUserApi implements InvoiceUserApi {
public void notifyOfPaymentAttempt(InvoicePayment invoicePayment) {
dao.notifyOfPaymentAttempt(invoicePayment);
}
-
+
@Override
public BigDecimal getAccountBalance(UUID accountId) {
BigDecimal result = dao.getAccountBalance(accountId);
@@ -80,10 +78,4 @@ 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 c348f83..d31e98b 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
@@ -29,7 +29,7 @@ import com.ning.billing.invoice.api.InvoiceApiException;
public class InvoiceListener {
private final static Logger log = LoggerFactory.getLogger(InvoiceListener.class);
- private InvoiceDispatcher dispatcher;
+ private final InvoiceDispatcher dispatcher;
@Inject
public InvoiceListener(InvoiceDispatcher dispatcher) {
@@ -52,73 +52,4 @@ public class InvoiceListener {
log.error(e.getMessage());
}
}
-
- private void processSubscription(final SubscriptionTransition transition) throws InvoiceApiException {
- UUID subscriptionId = transition.getSubscriptionId();
- DateTime targetDate = transition.getEffectiveTransitionTime();
- log.info("Got subscription transition from InvoiceListener. id: " + subscriptionId.toString() + "; targetDate: " + targetDate.toString());
- log.info("Transition type: " + transition.getTransitionType().toString());
- processSubscription(subscriptionId, targetDate);
- }
-
- private void processSubscription(final UUID subscriptionId, final DateTime targetDate) throws InvoiceApiException {
- if (subscriptionId == null) {
- log.error("Failed handling entitlement change.", new InvoiceApiException(ErrorCode.INVOICE_INVALID_TRANSITION));
- return;
- }
-
- UUID accountId = entitlementBillingApi.getAccountIdFromSubscriptionId(subscriptionId);
- if (accountId == null) {
- log.error("Failed handling entitlement change.",
- new InvoiceApiException(ErrorCode.INVOICE_NO_ACCOUNT_ID_FOR_SUBSCRIPTION_ID, subscriptionId.toString()));
- return;
- }
-
- processAccount(accountId, targetDate);
- }
-
- public void processAccount(final UUID accountId, final DateTime targetDate) throws InvoiceApiException {
- GlobalLock lock = null;
- try {
- lock = locker.lockWithNumberOfTries(LockerService.INVOICE, accountId.toString(), NB_LOCK_TRY);
-
- processAccountWithLock(accountId, targetDate);
-
- } catch (LockFailedException e) {
- // Not good!
- log.error(String.format("Failed to process invoice for account %s, targetDate %s",
- accountId.toString(), targetDate), e);
- } finally {
- if (lock != null) {
- lock.release();
- }
- }
- }
-
- private void processAccountWithLock(final UUID accountId, final DateTime targetDate) throws InvoiceApiException {
-
- Account account = accountUserApi.getAccountById(accountId);
- if (account == null) {
- log.error("Failed handling entitlement change.",
- new InvoiceApiException(ErrorCode.INVOICE_ACCOUNT_ID_INVALID, accountId.toString()));
- return;
- }
-
- SortedSet<BillingEvent> events = entitlementBillingApi.getBillingEventsForAccount(accountId);
- BillingEventSet billingEvents = new BillingEventSet(events);
-
- Currency targetCurrency = account.getCurrency();
-
- List<InvoiceItem> items = invoiceDao.getInvoiceItemsByAccount(accountId);
- InvoiceItemList invoiceItemList = new InvoiceItemList(items);
- Invoice invoice = generator.generateInvoice(accountId, billingEvents, invoiceItemList, targetDate, targetCurrency);
-
- if (invoice == null) {
- log.info("Generated null invoice.");
- outputDebugData(events, invoiceItemList);
- } else {
- log.info("Generated invoice {} with {} items.", invoice.getId().toString(), invoice.getNumberOfItems());
-=======
->>>>>>> master
-
}