killbill-memoizeit
Changes
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java 56(+27 -29)
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java 8(+4 -4)
entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultChargeThruApi.java 23(+10 -13)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java 20(+10 -10)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java 2(+1 -1)
jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/EntitlementBillingApiExceptionMapper.java 2(+1 -1)
junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingEntitlementUserApi.java 22(+11 -11)
junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscriptionBundle.java 12(+8 -4)
junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java 12(+6 -6)
junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingApi.java 61(+31 -30)
junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEventSet.java 4(+2 -2)
junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java 14(+7 -7)
junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java 26(+13 -13)
junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java 4(+2 -2)
overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculatorBundle.java 18(+9 -9)
overdue/src/test/java/com/ning/billing/overdue/applicator/ApplicatorMockJunctionModule.java 21(+11 -10)
overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculatorBundle.java 34(+17 -17)
Details
diff --git a/account/src/main/java/com/ning/billing/account/api/svcs/DefaultAccountInternalApi.java b/account/src/main/java/com/ning/billing/account/api/svcs/DefaultAccountInternalApi.java
new file mode 100644
index 0000000..9dd8adb
--- /dev/null
+++ b/account/src/main/java/com/ning/billing/account/api/svcs/DefaultAccountInternalApi.java
@@ -0,0 +1,57 @@
+/*
+ * 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.account.api.svcs;
+
+import java.util.UUID;
+
+import javax.inject.Inject;
+
+import com.ning.billing.ErrorCode;
+import com.ning.billing.account.api.Account;
+import com.ning.billing.account.api.AccountApiException;
+import com.ning.billing.account.api.AccountData;
+import com.ning.billing.account.dao.AccountDao;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.account.AccountInternalApi;
+
+public class DefaultAccountInternalApi implements AccountInternalApi {
+
+ private final AccountDao accountDao;
+
+ @Inject
+ public DefaultAccountInternalApi(final AccountDao accountDao) {
+ this.accountDao = accountDao;
+ }
+
+ @Override
+ public Account getAccountById(UUID accountId, InternalTenantContext context)
+ throws AccountApiException {
+ final Account account = accountDao.getById(accountId, context);
+ if (account == null) {
+ throw new AccountApiException(ErrorCode.ACCOUNT_DOES_NOT_EXIST_FOR_ID, accountId);
+ }
+ return account;
+ }
+
+ @Override
+ public void updateAccount(String key, AccountData accountData,
+ InternalCallContext context) throws AccountApiException {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/BusinessOverdueStatusRecorder.java b/analytics/src/main/java/com/ning/billing/analytics/BusinessOverdueStatusRecorder.java
index b670eab..c57fb4e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/BusinessOverdueStatusRecorder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/BusinessOverdueStatusRecorder.java
@@ -36,9 +36,9 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
@@ -94,8 +94,7 @@ public class BusinessOverdueStatusRecorder {
public Void inTransaction(final BusinessOverdueStatusSqlDao transactional, final TransactionStatus status) throws Exception {
log.info("Started rebuilding overdue statuses for bundle id {}", bundleId);
transactional.deleteOverdueStatusesForBundle(bundleId.toString(), context);
-
- final List<BlockingState> blockingHistory = blockingApi.getBlockingHistory(bundleId, context.toCallContext());
+ final List<BlockingState> blockingHistory = blockingApi.getBlockingHistory(bundleId, context);
if (blockingHistory != null && blockingHistory.size() > 0) {
final List<BlockingState> overdueStates = ImmutableList.<BlockingState>copyOf(blockingHistory);
final List<BlockingState> overdueStatesReversed = Lists.reverse(overdueStates);
diff --git a/api/src/main/java/com/ning/billing/account/api/Account.java b/api/src/main/java/com/ning/billing/account/api/Account.java
index dd6804a..86dc8f5 100644
--- a/api/src/main/java/com/ning/billing/account/api/Account.java
+++ b/api/src/main/java/com/ning/billing/account/api/Account.java
@@ -19,6 +19,7 @@ package com.ning.billing.account.api;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.util.entity.UpdatableEntity;
+
public interface Account extends AccountData, UpdatableEntity, Blockable {
public MutableAccountData toMutableAccountData();
diff --git a/api/src/main/java/com/ning/billing/junction/api/BlockingState.java b/api/src/main/java/com/ning/billing/junction/api/BlockingState.java
index 577ba15..81416c5 100644
--- a/api/src/main/java/com/ning/billing/junction/api/BlockingState.java
+++ b/api/src/main/java/com/ning/billing/junction/api/BlockingState.java
@@ -18,6 +18,7 @@ package com.ning.billing.junction.api;
import org.joda.time.DateTime;
+
public interface BlockingState extends Comparable<BlockingState> {
public abstract String getStateName();
diff --git a/api/src/main/java/com/ning/billing/overdue/Condition.java b/api/src/main/java/com/ning/billing/overdue/Condition.java
index 0a76429..c0b8846 100644
--- a/api/src/main/java/com/ning/billing/overdue/Condition.java
+++ b/api/src/main/java/com/ning/billing/overdue/Condition.java
@@ -21,6 +21,7 @@ import org.joda.time.LocalDate;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.overdue.config.api.BillingState;
+
public interface Condition<T extends Blockable> {
/**
diff --git a/api/src/main/java/com/ning/billing/overdue/OverdueChangeEvent.java b/api/src/main/java/com/ning/billing/overdue/OverdueChangeEvent.java
index daa731d..b32e621 100644
--- a/api/src/main/java/com/ning/billing/overdue/OverdueChangeEvent.java
+++ b/api/src/main/java/com/ning/billing/overdue/OverdueChangeEvent.java
@@ -21,6 +21,7 @@ import java.util.UUID;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.util.bus.BusEvent;
+
public interface OverdueChangeEvent extends BusEvent {
UUID getOverdueObjectId();
diff --git a/api/src/main/java/com/ning/billing/overdue/OverdueState.java b/api/src/main/java/com/ning/billing/overdue/OverdueState.java
index 897f6db..f202075 100644
--- a/api/src/main/java/com/ning/billing/overdue/OverdueState.java
+++ b/api/src/main/java/com/ning/billing/overdue/OverdueState.java
@@ -20,6 +20,7 @@ import org.joda.time.Period;
import com.ning.billing.junction.api.Blockable;
+
public interface OverdueState<T extends Blockable> {
public String getName();
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
index a0d3aed..0d2c574 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
@@ -15,6 +15,10 @@
*/
package com.ning.billing.beatrix.integration.overdue;
+import static com.jayway.awaitility.Awaitility.await;
+import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.testng.Assert.assertNotNull;
+
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.List;
@@ -30,7 +34,6 @@ import com.ning.billing.beatrix.integration.TestIntegrationBase;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.InvoiceUserApi;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueUserApi;
import com.ning.billing.overdue.config.OverdueConfig;
import com.ning.billing.overdue.wrapper.OverdueWrapperFactory;
@@ -39,14 +42,11 @@ import com.ning.billing.payment.api.PaymentMethodPlugin;
import com.ning.billing.payment.provider.MockPaymentProviderPlugin;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.config.XMLLoader;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
import com.google.inject.name.Named;
-import static com.jayway.awaitility.Awaitility.await;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.testng.Assert.assertNotNull;
-
public abstract class TestOverdueBase extends TestIntegrationBase {
@Inject
@@ -133,11 +133,11 @@ public abstract class TestOverdueBase extends TestIntegrationBase {
await().atMost(10, SECONDS).until(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
- return expected.equals(blockingApi.getBlockingStateFor(bundle, callContext).getStateName());
+ return expected.equals(blockingApi.getBlockingStateFor(bundle, internalCallContext).getStateName());
}
});
} catch (Exception e) {
- Assert.assertEquals(blockingApi.getBlockingStateFor(bundle, callContext).getStateName(), expected, "Got exception: " + e.toString());
+ Assert.assertEquals(blockingApi.getBlockingStateFor(bundle, internalCallContext).getStateName(), expected, "Got exception: " + e.toString());
}
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
index e243b56..a08877d 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
@@ -16,13 +16,14 @@
package com.ning.billing.beatrix.integration.overdue;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
import java.math.BigDecimal;
import java.util.Collection;
-
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
-
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
@@ -38,12 +39,9 @@ import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItemType;
import com.ning.billing.invoice.api.InvoicePayment;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingApiException;
import com.ning.billing.payment.api.Payment;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@Test(groups = "slow")
@Guice(modules = {BeatrixModule.class})
@@ -121,13 +119,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15, NextEvent.PAYMENT_ERROR);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// Note: we have two tracks of payment retries because of the invoice generated at the phase change
@@ -170,7 +168,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
}
}
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
checkChangePlanWithOverdueState(baseSubscription, false);
invoiceChecker.checkRepairedInvoice(account.getId(), 3,
@@ -215,13 +213,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 65 - 35 days after invoice
// Single PAYMENT_ERROR here here triggered by the invoice
@@ -266,7 +264,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
}
}
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
checkChangePlanWithOverdueState(baseSubscription, false);
invoiceChecker.checkRepairedInvoice(account.getId(), 3,
@@ -315,7 +313,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
// Should still be in clear state - the invoice for the bundle has been paid, but not the invoice with the external charge
// We refresh overdue just to be safe, see below
overdueApi.refreshOverdueStateFor(bundle, callContext);
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// Past 30 days since the external charge
addDaysAndCheckForCompletion(6);
@@ -330,7 +328,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
final Invoice externalChargeInvoice = invoiceApi.getUnpaidInvoicesByAccountId(account.getId(), clock.getUTCToday(), callContext).iterator().next();
createExternalPaymentAndCheckForCompletion(account, externalChargeInvoice, NextEvent.PAYMENT);
// We should be clear now
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
}
@Test(groups = "slow")
@@ -350,13 +348,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 65 - 35 days after invoice
addDaysAndCheckForCompletion(20, NextEvent.INVOICE, NextEvent.PAYMENT);
@@ -365,7 +363,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 7, 31), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// Now, refund the second (first non-zero dollar) invoice
final Payment payment = paymentApi.getPayment(invoiceApi.getInvoicesByAccount(account.getId(), callContext).get(1).getPayments().get(0).getPaymentId(), callContext);
@@ -392,13 +390,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 65 - 35 days after invoice
addDaysAndCheckForCompletion(20, NextEvent.INVOICE, NextEvent.PAYMENT);
@@ -407,7 +405,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 7, 31), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// Now, create a chargeback for the second (first non-zero dollar) invoice
final InvoicePayment payment = invoicePaymentApi.getInvoicePayments(invoiceApi.getInvoicesByAccount(account.getId(), callContext).get(1).getPayments().get(0).getPaymentId(), callContext).get(0);
@@ -435,13 +433,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15, NextEvent.PAYMENT_ERROR);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 65 - 35 days after invoice
addDaysAndCheckForCompletion(20, NextEvent.INVOICE, NextEvent.PAYMENT_ERROR, NextEvent.PAYMENT_ERROR);
@@ -459,7 +457,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
final Invoice firstNonZeroInvoice = invoiceApi.getUnpaidInvoicesByAccountId(account.getId(), clock.getUTCToday(), callContext).iterator().next();
createExternalPaymentAndCheckForCompletion(account, firstNonZeroInvoice, NextEvent.PAYMENT);
// We should be clear now
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
}
@Test(groups = "slow", enabled = false)
@@ -485,13 +483,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 45 - 15 days after invoice
addDaysAndCheckForCompletion(15, NextEvent.PAYMENT_ERROR);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 65 - 35 days after invoice
addDaysAndCheckForCompletion(20, NextEvent.INVOICE, NextEvent.PAYMENT_ERROR, NextEvent.PAYMENT_ERROR);
@@ -509,7 +507,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
final Invoice firstNonZeroInvoice = invoiceApi.getUnpaidInvoicesByAccountId(account.getId(), clock.getUTCToday(), callContext).iterator().next();
fullyAdjustInvoiceItemAndCheckForCompletion(account, firstNonZeroInvoice, 1, NextEvent.INVOICE_ADJUSTMENT);
// We should be clear now
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
invoiceChecker.checkRepairedInvoice(account.getId(), 2,
callContext, new ExpectedItemCheck(new LocalDate(2012, 5, 31), new LocalDate(2012, 6, 30), InvoiceItemType.RECURRING, new BigDecimal("249.95")),
@@ -520,13 +518,13 @@ public class TestOverdueIntegration extends TestOverdueBase {
addDaysAndCheckForCompletion(5);
// We should still be clear
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 80 - 20 days after second invoice
addDaysAndCheckForCompletion(10, NextEvent.PAYMENT_ERROR);
// We should still be clear
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 95 - 35 days after second invoice
addDaysAndCheckForCompletion(15, NextEvent.PAYMENT_ERROR, NextEvent.INVOICE, NextEvent.PAYMENT_ERROR);
@@ -546,7 +544,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
}
// We should be cleared again
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
}
private void checkChangePlanWithOverdueState(final Subscription subscription, final boolean shouldFail) {
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
index b9eeb2a..ab4c4e6 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
@@ -15,6 +15,8 @@
*/
package com.ning.billing.beatrix.integration.overdue;
+import static junit.framework.Assert.assertTrue;
+
import java.math.BigDecimal;
import org.joda.time.DateTime;
@@ -29,9 +31,7 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.Subscription.SubscriptionState;
import com.ning.billing.invoice.api.InvoiceItemType;
-import com.ning.billing.junction.api.BlockingApi;
-
-import static junit.framework.Assert.assertTrue;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@Test(groups = "slow")
@Guice(modules = {BeatrixModule.class})
@@ -79,7 +79,7 @@ public class TestOverdueWithSubscriptionCancellation extends TestOverdueBase {
invoiceChecker.checkChargedThroughDate(baseSubscription.getId(), new LocalDate(2012, 6, 30), callContext);
// Should still be in clear state
- checkODState(BlockingApi.CLEAR_STATE_NAME);
+ checkODState(DefaultBlockingState.CLEAR_STATE_NAME);
// DAY 36 -- RIGHT AFTER OD1
addDaysAndCheckForCompletion(6, NextEvent.CANCEL);
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultChargeThruApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultChargeThruApi.java
index 145a06e..d49455b 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultChargeThruApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultChargeThruApi.java
@@ -27,38 +27,35 @@ import com.ning.billing.entitlement.api.SubscriptionFactory;
import com.ning.billing.entitlement.api.user.DefaultSubscriptionFactory.SubscriptionBuilder;
import com.ning.billing.entitlement.api.user.SubscriptionData;
import com.ning.billing.entitlement.engine.dao.EntitlementDao;
-import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.InternalCallContextFactory;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
import com.google.inject.Inject;
-public class DefaultChargeThruApi implements ChargeThruApi {
+public class DefaultChargeThruApi implements ChargeThruInternalApi {
private final EntitlementDao entitlementDao;
private final SubscriptionFactory subscriptionFactory;
- private final InternalCallContextFactory internalCallContextFactory;
@Inject
- public DefaultChargeThruApi(final SubscriptionFactory subscriptionFactory, final EntitlementDao dao, final InternalCallContextFactory internalCallContextFactory) {
+ public DefaultChargeThruApi(final SubscriptionFactory subscriptionFactory, final EntitlementDao dao) {
this.subscriptionFactory = subscriptionFactory;
this.entitlementDao = dao;
- // TODO remove - internal API, should use InternalCallContext directly
- this.internalCallContextFactory = internalCallContextFactory;
}
@Override
- public UUID getAccountIdFromSubscriptionId(final UUID subscriptionId, final TenantContext context) {
- return entitlementDao.getAccountIdFromSubscriptionId(subscriptionId, internalCallContextFactory.createInternalTenantContext(context));
+ public UUID getAccountIdFromSubscriptionId(final UUID subscriptionId, final InternalTenantContext context) {
+ return entitlementDao.getAccountIdFromSubscriptionId(subscriptionId, context);
}
@Override
- public void setChargedThroughDate(final UUID subscriptionId, final LocalDate ctd, final CallContext context) {
- final SubscriptionData subscription = (SubscriptionData) entitlementDao.getSubscriptionFromId(subscriptionFactory, subscriptionId, internalCallContextFactory.createInternalCallContext(context));
+ public void setChargedThroughDate(final UUID subscriptionId, final LocalDate ctd, final InternalCallContext context) {
+ final SubscriptionData subscription = (SubscriptionData) entitlementDao.getSubscriptionFromId(subscriptionFactory, subscriptionId, context);
final DateTime chargedThroughDate = ctd.toDateTime(new LocalTime(subscription.getStartDate(), DateTimeZone.UTC), DateTimeZone.UTC);
final SubscriptionBuilder builder = new SubscriptionBuilder(subscription)
.setChargedThroughDate(chargedThroughDate)
.setPaidThroughDate(subscription.getPaidThroughDate());
- entitlementDao.updateChargedThroughDate(new SubscriptionData(builder), internalCallContextFactory.createInternalCallContext(context));
+ entitlementDao.updateChargedThroughDate(new SubscriptionData(builder), context);
}
}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/glue/DefaultEntitlementModule.java b/entitlement/src/main/java/com/ning/billing/entitlement/glue/DefaultEntitlementModule.java
index c5e035f..b5974b8 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/glue/DefaultEntitlementModule.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/glue/DefaultEntitlementModule.java
@@ -24,7 +24,6 @@ import com.ning.billing.entitlement.alignment.PlanAligner;
import com.ning.billing.entitlement.api.EntitlementService;
import com.ning.billing.entitlement.api.SubscriptionApiService;
import com.ning.billing.entitlement.api.SubscriptionFactory;
-import com.ning.billing.entitlement.api.billing.ChargeThruApi;
import com.ning.billing.entitlement.api.billing.DefaultChargeThruApi;
import com.ning.billing.entitlement.api.migration.DefaultEntitlementMigrationApi;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi;
@@ -46,6 +45,7 @@ import com.ning.billing.entitlement.engine.dao.EntitlementDao;
import com.ning.billing.entitlement.engine.dao.RepairEntitlementDao;
import com.ning.billing.glue.EntitlementModule;
import com.ning.billing.util.glue.RealImplementation;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
@@ -113,7 +113,7 @@ public class DefaultEntitlementModule extends AbstractModule implements Entitlem
@Override
public void installChargeThruApi() {
- bind(ChargeThruApi.class).to(DefaultChargeThruApi.class).asEagerSingleton();
+ bind(ChargeThruInternalApi.class).to(DefaultChargeThruApi.class).asEagerSingleton();
}
@Override
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index ffe6463..30e9e59 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -55,7 +55,6 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.catalog.api.TimeUnit;
import com.ning.billing.config.EntitlementConfig;
import com.ning.billing.entitlement.EntitlementTestSuiteWithEmbeddedDB;
-import com.ning.billing.entitlement.api.billing.ChargeThruApi;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi.EntitlementAccountMigration;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi.EntitlementBundleMigration;
@@ -81,6 +80,7 @@ import com.ning.billing.util.bus.DefaultBusService;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.glue.RealImplementation;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
import com.google.inject.Injector;
import com.google.inject.Key;
@@ -96,7 +96,7 @@ public abstract class TestApiBase extends EntitlementTestSuiteWithEmbeddedDB imp
protected EntitlementService entitlementService;
protected EntitlementUserApi entitlementApi;
- protected ChargeThruApi billingApi;
+ protected ChargeThruInternalApi billingApi;
protected EntitlementTransferApi transferApi;
protected EntitlementMigrationApi migrationApi;
@@ -163,7 +163,7 @@ public abstract class TestApiBase extends EntitlementTestSuiteWithEmbeddedDB imp
entitlementService = g.getInstance(EntitlementService.class);
entitlementApi = g.getInstance(Key.get(EntitlementUserApi.class, RealImplementation.class));
- billingApi = g.getInstance(ChargeThruApi.class);
+ billingApi = g.getInstance(ChargeThruInternalApi.class);
migrationApi = g.getInstance(EntitlementMigrationApi.class);
repairApi = g.getInstance(EntitlementTimelineApi.class);
transferApi = g.getInstance(EntitlementTransferApi.class);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
index d23ae9a..643ef43 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.timeline;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -49,11 +54,6 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
public class TestRepairBP extends TestApiBaseRepair {
@Override
@@ -585,7 +585,7 @@ public class TestRepairBP extends TestApiBaseRepair {
// SET CTD to BASE SUBSCRIPTION SP CANCEL OCCURS EOT
final DateTime newChargedThroughDate = baseSubscription.getStartDate().plusDays(30).plusMonths(1);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
baseSubscription = entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
final DateTime requestedChange = clock.getUTCNow();
@@ -698,7 +698,7 @@ public class TestRepairBP extends TestApiBaseRepair {
// Move clock at least a sec to make sure the last_sys_update from bundle is different-- and therefore generates a different viewId
clock.setDeltaFromReality(1000);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
repairApi.repairBundle(bRepair, true, callContext);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
index 7b92f4d..b3f1e96 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
@@ -16,6 +16,10 @@
package com.ning.billing.entitlement.api.timeline;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -45,10 +49,6 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
public class TestRepairWithAO extends TestApiBaseRepair {
@Override
@@ -349,7 +349,7 @@ public class TestRepairWithAO extends TestApiBaseRepair {
// SET CTD to BASE SUBSCRIPTION SP CANCEL OCCURS EOT
final DateTime newChargedThroughDate = baseSubscription.getStartDate().plusDays(30).plusMonths(1);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
baseSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
BundleTimeline bundleRepair = repairApi.getBundleTimeline(bundle.getId(), callContext);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestTransfer.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestTransfer.java
index fb65d93..9827448 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestTransfer.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestTransfer.java
@@ -15,6 +15,11 @@
*/
package com.ning.billing.entitlement.api.transfer;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
import java.util.UUID;
@@ -44,11 +49,6 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
public class TestTransfer extends TestApiBase {
protected static final Logger log = LoggerFactory.getLogger(TestTransfer.class);
@@ -184,7 +184,7 @@ public class TestTransfer extends TestApiBase {
final Subscription baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
final DateTime ctd = baseSubscription.getStartDate().plusDays(30);
- billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), internalCallContext);
final DateTime evergreenPhaseDate = baseSubscription.getPendingTransition().getEffectiveTransitionTime();
@@ -287,7 +287,7 @@ public class TestTransfer extends TestApiBase {
// SET CTD
final DateTime ctd = baseSubscription.getStartDate().plusDays(30).plusMonths(1);
- billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), internalCallContext);
final DateTime transferRequestedDate = clock.getUTCNow();
@@ -332,7 +332,7 @@ public class TestTransfer extends TestApiBase {
clock.addDays(2);
final DateTime newCtd = newBaseSubscription.getStartDate().plusYears(1);
- billingApi.setChargedThroughDate(newBaseSubscription.getId(), newCtd.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(newBaseSubscription.getId(), newCtd.toLocalDate(), internalCallContext);
final Subscription newBaseSubscriptionWithCtd = entitlementApi.getSubscriptionFromId(newBaseSubscription.getId(), callContext);
final String newBaseProduct2 = "Pistol";
@@ -383,7 +383,7 @@ public class TestTransfer extends TestApiBase {
// SET CTD TO TRIGGER CANCELLATION EOT
final DateTime ctd = baseSubscription.getStartDate().plusDays(30).plusMonths(1);
- billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), ctd.toLocalDate(), internalCallContext);
final DateTime transferRequestedDate = clock.getUTCNow();
testListener.pushExpectedEvent(NextEvent.TRANSFER);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
index 64ca089..22c1442 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
import org.joda.time.DateTime;
@@ -44,11 +49,6 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
public class TestUserApiAddOn extends TestApiBase {
@Override
public Injector getInjector() {
@@ -116,7 +116,7 @@ public class TestUserApiAddOn extends TestApiBase {
final Duration ctd = getDurationMonth(1);
// Why not just use clock.getUTCNow().plusMonths(1) ?
final DateTime newChargedThroughDate = DefaultClock.addDuration(now, ctd);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
baseSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
// FUTURE CANCELLATION
@@ -176,7 +176,7 @@ public class TestUserApiAddOn extends TestApiBase {
final DateTime now = clock.getUTCNow();
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(now, ctd);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
baseSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
// CHANGE IMMEDIATELY WITH TO BP WITH NON INCLUDED ADDON
@@ -239,7 +239,7 @@ public class TestUserApiAddOn extends TestApiBase {
final DateTime now = clock.getUTCNow();
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(now, ctd);
- billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(baseSubscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
baseSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(baseSubscription.getId(), callContext);
// CHANGE IMMEDIATELY WITH TO BP WITH NON AVAILABLE ADDON
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
index 0ac6e09..47db7b8 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import org.joda.time.DateTime;
import org.joda.time.Interval;
import org.testng.Assert;
@@ -28,13 +33,8 @@ import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.catalog.api.PriceListSet;
import com.ning.billing.entitlement.api.TestApiBase;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.util.clock.DefaultClock;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
public abstract class TestUserApiCancel extends TestApiBase {
protected void testCancelSubscriptionIMM() {
@@ -110,7 +110,7 @@ public abstract class TestUserApiCancel extends TestApiBase {
// SET CTD + RE READ SUBSCRIPTION + CHANGE PLAN
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
assertEquals(subscription.getLastActiveProductName(), prod);
@@ -228,7 +228,7 @@ public abstract class TestUserApiCancel extends TestApiBase {
// SET CTD + RE READ SUBSCRIPTION + CHANGE PLAN
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
// CANCEL EOT
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
index 1494e35..53c596e 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
@@ -18,8 +18,8 @@ package com.ning.billing.entitlement.api.user;
import org.testng.annotations.Test;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleMemory;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
index 83d71b3..53c72b4 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelSql.java
@@ -18,8 +18,8 @@ package com.ning.billing.entitlement.api.user;
import org.testng.annotations.Test;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleSql;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
index 58d6268..e2d68de 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.ArrayList;
import java.util.List;
@@ -32,15 +37,10 @@ import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.catalog.api.PriceListSet;
import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.TestApiBase;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.events.EntitlementEvent;
import com.ning.billing.entitlement.events.user.ApiEvent;
import com.ning.billing.util.clock.DefaultClock;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
public abstract class TestUserApiChangePlan extends TestApiBase {
private void checkChangePlan(final SubscriptionData subscription, final String expProduct, final ProductCategory expCategory,
@@ -118,7 +118,7 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// SET CTD
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
// RE READ SUBSCRIPTION + CHANGE PLAN
testListener.setNonExpectedMode();
@@ -221,7 +221,7 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// SET CTD
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
// RE READ SUBSCRIPTION + CHECK CURRENT PHASE
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
@@ -302,7 +302,7 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
final DateTime startDiscountPhase = DefaultClock.addDuration(subscription.getStartDate(), durationList);
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(startDiscountPhase, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
// CHANGE EOT
@@ -350,7 +350,7 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
final DateTime startDiscountPhase = DefaultClock.addDuration(subscription.getStartDate(), durationList);
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(startDiscountPhase, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
// CHANGE EOT
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
index 8e3a263..a50719d 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
@@ -18,8 +18,8 @@ package com.ning.billing.entitlement.api.user;
import org.testng.annotations.Test;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleMemory;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
index ed4ad46..4c41a73 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanSql.java
@@ -18,8 +18,8 @@ package com.ning.billing.entitlement.api.user;
import org.testng.annotations.Test;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleSql;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
index 746f524..30138d4 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@@ -33,19 +38,14 @@ import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.TestApiBase;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleSql;
import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
public class TestUserApiDemos extends TestApiBase {
@Override
protected Injector getInjector() {
@@ -101,7 +101,7 @@ public class TestUserApiDemos extends TestApiBase {
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(startDiscountPhase, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
testListener.setNonExpectedMode();
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
index 21bc3d1..cf14f79 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
@@ -16,6 +16,10 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
import java.util.UUID;
import javax.annotation.Nullable;
@@ -43,10 +47,6 @@ import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
public class TestUserApiError extends TestApiBase {
private final TenantContext tenantContext = Mockito.mock(TenantContext.class);
@@ -202,7 +202,7 @@ public class TestUserApiError extends TestApiBase {
final DateTime expectedPhaseTrialChange = DefaultClock.addDuration(subscription.getStartDate(), trialPhase.getDuration());
final Duration ctd = getDurationMonth(1);
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = entitlementApi.getSubscriptionFromId(subscription.getId(), tenantContext);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
index 326aade..0306326 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
@@ -16,6 +16,10 @@
package com.ning.billing.entitlement.api.user;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
import org.joda.time.DateTime;
import org.joda.time.Interval;
import org.testng.Assert;
@@ -27,18 +31,14 @@ import com.ning.billing.catalog.api.Duration;
import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.TestApiBase;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.glue.MockEngineModuleSql;
import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
public class TestUserApiScenarios extends TestApiBase {
@Override
protected Injector getInjector() {
@@ -66,7 +66,7 @@ public class TestUserApiScenarios extends TestApiBase {
final Duration ctd = getDurationMonth(1);
final DateTime expectedPhaseTrialChange = DefaultClock.addDuration(subscription.getStartDate(), trialPhase.getDuration());
final DateTime newChargedThroughDate = DefaultClock.addDuration(expectedPhaseTrialChange, ctd);
- billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), callContext);
+ billingApi.setChargedThroughDate(subscription.getId(), newChargedThroughDate.toLocalDate(), internalCallContext);
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId(), callContext);
// CANCEL EOT
diff --git a/invoice/src/main/java/com/ning/billing/invoice/generator/DefaultInvoiceGenerator.java b/invoice/src/main/java/com/ning/billing/invoice/generator/DefaultInvoiceGenerator.java
index c07f13b..5d72e6e 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/generator/DefaultInvoiceGenerator.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/generator/DefaultInvoiceGenerator.java
@@ -38,8 +38,6 @@ import com.ning.billing.ErrorCode;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.config.InvoiceConfig;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceItem;
@@ -54,8 +52,10 @@ import com.ning.billing.invoice.model.InvoicingConfiguration;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItemData;
import com.ning.billing.invoice.model.RepairAdjInvoiceItem;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/generator/InvoiceGenerator.java b/invoice/src/main/java/com/ning/billing/invoice/generator/InvoiceGenerator.java
index 474a132..3520532 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/generator/InvoiceGenerator.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/generator/InvoiceGenerator.java
@@ -27,7 +27,7 @@ import org.joda.time.LocalDate;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
-import com.ning.billing.junction.api.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
public interface InvoiceGenerator {
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 59b0553..3262098 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
@@ -35,7 +35,6 @@ import com.ning.billing.account.api.AccountApiException;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.BillCycleDay;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
@@ -49,8 +48,6 @@ import com.ning.billing.invoice.generator.InvoiceDateUtils;
import com.ning.billing.invoice.generator.InvoiceGenerator;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.bus.Bus.EventBusException;
import com.ning.billing.util.bus.BusEvent;
@@ -62,6 +59,9 @@ import com.ning.billing.util.globallocker.GlobalLock;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.globallocker.GlobalLocker.LockerType;
import com.ning.billing.util.globallocker.LockFailedException;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -73,7 +73,7 @@ public class InvoiceDispatcher {
private static final int NB_LOCK_TRY = 5;
private final InvoiceGenerator generator;
- private final BillingApi billingApi;
+ private final BillingInternalApi billingApi;
private final AccountUserApi accountUserApi;
private final InvoiceDao invoiceDao;
private final InvoiceNotifier invoiceNotifier;
@@ -84,7 +84,7 @@ public class InvoiceDispatcher {
@Inject
public InvoiceDispatcher(final InvoiceGenerator generator, final AccountUserApi accountUserApi,
- final BillingApi billingApi,
+ final BillingInternalApi billingApi,
final InvoiceDao invoiceDao,
final InvoiceNotifier invoiceNotifier,
final GlobalLocker locker,
@@ -116,7 +116,7 @@ public class InvoiceDispatcher {
log.error("Failed handling entitlement change.", new InvoiceApiException(ErrorCode.INVOICE_INVALID_TRANSITION));
return;
}
- final UUID accountId = billingApi.getAccountIdFromSubscriptionId(subscriptionId, context);
+ final UUID accountId = billingApi.getAccountIdFromSubscriptionId(subscriptionId, internalCallContextFactory.createInternalTenantContext(context));
processAccount(accountId, targetDate, false, context);
} catch (EntitlementBillingApiException e) {
log.error("Failed handling entitlement change.",
@@ -147,9 +147,12 @@ public class InvoiceDispatcher {
final boolean dryRun, final CallContext context) throws InvoiceApiException {
try {
// Make sure to first set the BCD if needed then get the account object (to have the BCD set)
- final BillingEventSet billingEvents = billingApi.getBillingEventsForAccountAndUpdateAccountBCD(accountId, context);
+ final BillingEventSet billingEvents = billingApi.getBillingEventsForAccountAndUpdateAccountBCD(accountId, internalCallContextFactory.createInternalCallContext(context));
+
final Account account = accountUserApi.getAccountById(accountId, context);
+ final InternalCallContext internalCallContext = internalCallContextFactory.createInternalCallContext(account.getId(), context);
+
List<Invoice> invoices = new ArrayList<Invoice>();
if (!billingEvents.isAccountAutoInvoiceOff()) {
invoices = invoiceDao.getInvoicesByAccount(accountId, internalCallContextFactory.createInternalTenantContext(account.getId(), context)); //no need to fetch, invoicing is off on this account
@@ -161,8 +164,6 @@ public class InvoiceDispatcher {
final LocalDate targetDate = new LocalDate(targetDateTime, account.getTimeZone());
final Invoice invoice = generator.generateInvoice(accountId, billingEvents, invoices, targetDate, account.getTimeZone(), targetCurrency);
- final InternalCallContext internalCallContext = internalCallContextFactory.createInternalCallContext(account.getId(), context);
-
if (invoice == null) {
log.info("Generated null invoice.");
if (!dryRun) {
@@ -221,7 +222,7 @@ public class InvoiceDispatcher {
if (subscriptionId != null) {
final LocalDate chargeThroughDate = chargeThroughDates.get(subscriptionId);
log.info("Setting CTD for subscription {} to {}", subscriptionId.toString(), chargeThroughDate.toString());
- billingApi.setChargedThroughDate(subscriptionId, chargeThroughDate, context);
+ billingApi.setChargedThroughDate(subscriptionId, chargeThroughDate, internalCallContextFactory.createInternalCallContext(context));
}
}
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/migration/InvoiceApiTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/api/migration/InvoiceApiTestBase.java
index e2c7fe4..5f9958b 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/migration/InvoiceApiTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/migration/InvoiceApiTestBase.java
@@ -37,7 +37,6 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.InvoiceDispatcher;
import com.ning.billing.invoice.MockBillingEventSet;
@@ -50,14 +49,15 @@ import com.ning.billing.invoice.dao.InvoiceDao;
import com.ning.billing.invoice.generator.InvoiceGenerator;
import com.ning.billing.invoice.notification.NullInvoiceNotifier;
import com.ning.billing.invoice.tests.InvoicingTestBase;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.mock.api.MockBillCycleDay;
import com.ning.billing.util.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.globallocker.GlobalLocker;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
import com.google.inject.Inject;
@@ -79,7 +79,7 @@ public abstract class InvoiceApiTestBase extends InvoicingTestBase {
protected InvoiceGenerator generator;
@Inject
- protected BillingApi billingApi;
+ protected BillingInternalApi billingApi;
@Inject
protected AccountUserApi accountUserApi;
@@ -127,7 +127,7 @@ public abstract class InvoiceApiTestBase extends InvoicingTestBase {
fixedPrice, BigDecimal.ONE, currency, BillingPeriod.MONTHLY, 1,
BillingModeType.IN_ADVANCE, "", 1L, SubscriptionTransitionType.CREATE));
- Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext)).thenReturn(events);
+ Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext)).thenReturn(events);
final InvoiceNotifier invoiceNotifier = new NullInvoiceNotifier();
final InvoiceDispatcher dispatcher = new InvoiceDispatcher(generator, accountUserApi, billingApi,
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceDao.java b/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceDao.java
index 552c8dc..ddfb9e0 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceDao.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceDao.java
@@ -44,8 +44,6 @@ import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.MockBillingEventSet;
import com.ning.billing.invoice.api.Invoice;
@@ -61,11 +59,13 @@ import com.ning.billing.invoice.model.DefaultInvoicePayment;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
import com.ning.billing.invoice.model.RepairAdjInvoiceItem;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.util.api.TagApiException;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.dao.ObjectType;
import com.ning.billing.util.entity.EntityPersistenceException;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
import com.ning.billing.util.tag.dao.AuditedTagDao;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/generator/TestDefaultInvoiceGenerator.java b/invoice/src/test/java/com/ning/billing/invoice/generator/TestDefaultInvoiceGenerator.java
index 8d36804..9dd602c 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/generator/TestDefaultInvoiceGenerator.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/generator/TestDefaultInvoiceGenerator.java
@@ -46,8 +46,6 @@ import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.config.InvoiceConfig;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.MockBillingEventSet;
import com.ning.billing.invoice.api.Invoice;
@@ -60,10 +58,12 @@ import com.ning.billing.invoice.model.DefaultInvoicePayment;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
import com.ning.billing.invoice.tests.InvoicingTestBase;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
index 34b74d5..8fee0ec 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
@@ -32,7 +32,6 @@ import com.ning.billing.invoice.notification.MockNextBillingDatePoster;
import com.ning.billing.invoice.notification.NextBillingDateNotifier;
import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.invoice.notification.NullInvoiceNotifier;
-import com.ning.billing.junction.api.BillingApi;
import com.ning.billing.mock.glue.MockEntitlementModule;
import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.callcontext.DefaultCallContextFactory;
@@ -45,6 +44,7 @@ import com.ning.billing.util.glue.GlobalLockerModule;
import com.ning.billing.util.glue.TagStoreModule;
import com.ning.billing.util.notificationq.MockNotificationQueueService;
import com.ning.billing.util.notificationq.NotificationQueueService;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
import static org.testng.Assert.assertNotNull;
@@ -77,8 +77,8 @@ public class InvoiceModuleWithEmbeddedDb extends DefaultInvoiceModule {
installNotificationQueue();
bind(AccountUserApi.class).toInstance(Mockito.mock(AccountUserApi.class));
- final BillingApi billingApi = Mockito.mock(BillingApi.class);
- bind(BillingApi.class).toInstance(billingApi);
+ final BillingInternalApi billingApi = Mockito.mock(BillingInternalApi.class);
+ bind(BillingInternalApi.class).toInstance(billingApi);
install(new CatalogModule());
install(new MockEntitlementModule());
diff --git a/invoice/src/test/java/com/ning/billing/invoice/MockBillingEventSet.java b/invoice/src/test/java/com/ning/billing/invoice/MockBillingEventSet.java
index c8ecf34..6498dcb 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/MockBillingEventSet.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/MockBillingEventSet.java
@@ -21,8 +21,8 @@ import java.util.List;
import java.util.TreeSet;
import java.util.UUID;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.junction.api.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
public class MockBillingEventSet extends TreeSet<BillingEvent> implements BillingEventSet {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
index 0b8b6e5..b3b8bb1 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
@@ -43,7 +43,6 @@ import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
@@ -55,8 +54,6 @@ import com.ning.billing.invoice.generator.InvoiceGenerator;
import com.ning.billing.invoice.notification.NextBillingDateNotifier;
import com.ning.billing.invoice.notification.NullInvoiceNotifier;
import com.ning.billing.invoice.tests.InvoicingTestBase;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.mock.api.MockBillCycleDay;
import com.ning.billing.util.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
@@ -64,6 +61,9 @@ import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.globallocker.GlobalLocker;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
import com.google.inject.Inject;
@@ -91,7 +91,7 @@ public class TestInvoiceDispatcher extends InvoicingTestBase {
private BusService busService;
@Inject
- private BillingApi billingApi;
+ private BillingInternalApi billingApi;
@Inject
private Clock clock;
@@ -149,7 +149,7 @@ public class TestInvoiceDispatcher extends InvoicingTestBase {
fixedPrice, BigDecimal.ONE, currency, BillingPeriod.MONTHLY, 1,
BillingModeType.IN_ADVANCE, "", 1L, SubscriptionTransitionType.CREATE));
- Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(accountId, callContext)).thenReturn(events);
+ Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(accountId, internalCallContext)).thenReturn(events);
final DateTime target = new DateTime();
@@ -206,7 +206,7 @@ public class TestInvoiceDispatcher extends InvoicingTestBase {
new MockPlanPhase(jetTrialEvergreen1000USD, PhaseType.EVERGREEN), null, new BigDecimal("1000"), account.getCurrency(), BillingPeriod.MONTHLY,
31, 31, BillingModeType.IN_ADVANCE, "CHANGE", 3L, SubscriptionTransitionType.CHANGE));
- Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext)).thenReturn(events);
+ Mockito.when(billingApi.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext)).thenReturn(events);
final InvoiceNotifier invoiceNotifier = new NullInvoiceNotifier();
final InvoiceDispatcher dispatcher = new InvoiceDispatcher(generator, accountUserApi, billingApi, invoiceDao,
invoiceNotifier, locker, busService.getBus(),
diff --git a/invoice/src/test/java/com/ning/billing/invoice/tests/InvoicingTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/tests/InvoicingTestBase.java
index 69286f9..5562605 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/tests/InvoicingTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/tests/InvoicingTestBase.java
@@ -30,12 +30,12 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.invoice.InvoiceTestSuiteWithEmbeddedDB;
import com.ning.billing.invoice.model.InvoicingConfiguration;
import com.ning.billing.mock.api.MockBillCycleDay;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
public abstract class InvoicingTestBase extends InvoiceTestSuiteWithEmbeddedDB {
protected static final int NUMBER_OF_DECIMALS = InvoicingConfiguration.getNumberOfDecimals();
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/EntitlementBillingApiExceptionMapper.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/EntitlementBillingApiExceptionMapper.java
index 9ca7de6..fa1f669 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/EntitlementBillingApiExceptionMapper.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/EntitlementBillingApiExceptionMapper.java
@@ -23,7 +23,7 @@ import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
@Singleton
@Provider
diff --git a/junction/src/main/java/com/ning/billing/junction/api/blocking/DefaultBlockingApi.java b/junction/src/main/java/com/ning/billing/junction/api/blocking/DefaultBlockingApi.java
index 2e8af01..1c7a571 100644
--- a/junction/src/main/java/com/ning/billing/junction/api/blocking/DefaultBlockingApi.java
+++ b/junction/src/main/java/com/ning/billing/junction/api/blocking/DefaultBlockingApi.java
@@ -20,14 +20,13 @@ import java.util.List;
import java.util.UUID;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
import com.ning.billing.junction.dao.BlockingStateDao;
-import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.InternalCallContextFactory;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.Inject;
@@ -35,18 +34,16 @@ public class DefaultBlockingApi implements BlockingApi {
private final BlockingStateDao dao;
private final Clock clock;
- private final InternalCallContextFactory internalCallContextFactory;
@Inject
- public DefaultBlockingApi(final BlockingStateDao dao, final Clock clock, final InternalCallContextFactory internalCallContextFactory) {
+ public DefaultBlockingApi(final BlockingStateDao dao, final Clock clock) {
this.dao = dao;
this.clock = clock;
- this.internalCallContextFactory = internalCallContextFactory;
}
@Override
- public BlockingState getBlockingStateFor(final Blockable overdueable, final TenantContext context) {
- BlockingState state = dao.getBlockingStateFor(overdueable, internalCallContextFactory.createInternalTenantContext(context));
+ public BlockingState getBlockingStateFor(final Blockable overdueable, final InternalTenantContext context) {
+ BlockingState state = dao.getBlockingStateFor(overdueable, context);
if (state == null) {
state = DefaultBlockingState.getClearState();
}
@@ -54,23 +51,22 @@ public class DefaultBlockingApi implements BlockingApi {
}
@Override
- public BlockingState getBlockingStateFor(final UUID overdueableId, final TenantContext context) {
- return dao.getBlockingStateFor(overdueableId, internalCallContextFactory.createInternalTenantContext(context));
+ public BlockingState getBlockingStateFor(final UUID overdueableId, final InternalTenantContext context) {
+ return dao.getBlockingStateFor(overdueableId, context);
}
@Override
- public List<BlockingState> getBlockingHistory(final Blockable overdueable, final TenantContext context) {
- return dao.getBlockingHistoryFor(overdueable, internalCallContextFactory.createInternalTenantContext(context));
+ public List<BlockingState> getBlockingHistory(final Blockable overdueable, final InternalTenantContext context) {
+ return dao.getBlockingHistoryFor(overdueable, context);
}
@Override
- public List<BlockingState> getBlockingHistory(final UUID overdueableId, final TenantContext context) {
- return dao.getBlockingHistoryFor(overdueableId, internalCallContextFactory.createInternalTenantContext(context));
+ public List<BlockingState> getBlockingHistory(final UUID overdueableId, final InternalTenantContext context) {
+ return dao.getBlockingHistoryFor(overdueableId, context);
}
@Override
- public <T extends Blockable> void setBlockingState(final BlockingState state, final CallContext context) {
- // TODO accountId?
- dao.setBlockingState(state, clock, internalCallContextFactory.createInternalCallContext(context));
+ public <T extends Blockable> void setBlockingState(final BlockingState state, final InternalCallContext context) {
+ dao.setBlockingState(state, clock, context);
}
}
diff --git a/junction/src/main/java/com/ning/billing/junction/dao/BlockingStateSqlDao.java b/junction/src/main/java/com/ning/billing/junction/dao/BlockingStateSqlDao.java
index 45bae02..c84933c 100644
--- a/junction/src/main/java/com/ning/billing/junction/dao/BlockingStateSqlDao.java
+++ b/junction/src/main/java/com/ning/billing/junction/dao/BlockingStateSqlDao.java
@@ -35,11 +35,9 @@ import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTempla
import org.skife.jdbi.v2.tweak.ResultSetMapper;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.Blockable.Type;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingApiException;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
+import com.ning.billing.junction.api.Blockable.Type;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
@@ -47,6 +45,7 @@ import com.ning.billing.util.callcontext.InternalTenantContextBinder;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.dao.BinderBase;
import com.ning.billing.util.dao.MapperBase;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@ExternalizedSqlViaStringTemplate3()
public interface BlockingStateSqlDao extends BlockingStateDao, CloseMe, Transmogrifier {
@@ -98,7 +97,7 @@ public interface BlockingStateSqlDao extends BlockingStateDao, CloseMe, Transmog
try {
timestamp = new DateTime(r.getDate("created_date"));
blockableId = UUID.fromString(r.getString("id"));
- stateName = r.getString("state") == null ? BlockingApi.CLEAR_STATE_NAME : r.getString("state");
+ stateName = r.getString("state") == null ? DefaultBlockingState.CLEAR_STATE_NAME : r.getString("state");
type = Type.get(r.getString("type"));
service = r.getString("service");
blockChange = r.getBoolean("block_change");
@@ -116,7 +115,7 @@ public interface BlockingStateSqlDao extends BlockingStateDao, CloseMe, Transmog
@Override
public String map(final int index, final ResultSet r, final StatementContext ctx)
throws SQLException {
- return r.getString("state") == null ? BlockingApi.CLEAR_STATE_NAME : r.getString("state");
+ return r.getString("state") == null ? DefaultBlockingState.CLEAR_STATE_NAME : r.getString("state");
}
}
diff --git a/junction/src/main/java/com/ning/billing/junction/glue/DefaultJunctionModule.java b/junction/src/main/java/com/ning/billing/junction/glue/DefaultJunctionModule.java
index ff01d9e..37cfb7a 100644
--- a/junction/src/main/java/com/ning/billing/junction/glue/DefaultJunctionModule.java
+++ b/junction/src/main/java/com/ning/billing/junction/glue/DefaultJunctionModule.java
@@ -21,8 +21,6 @@ import org.skife.jdbi.v2.IDBI;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.glue.JunctionModule;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.blocking.DefaultBlockingApi;
import com.ning.billing.junction.block.BlockingChecker;
import com.ning.billing.junction.block.DefaultBlockingChecker;
@@ -32,6 +30,8 @@ import com.ning.billing.junction.plumbing.api.BlockingAccountUserApi;
import com.ning.billing.junction.plumbing.api.BlockingEntitlementUserApi;
import com.ning.billing.junction.plumbing.billing.BlockingCalculator;
import com.ning.billing.junction.plumbing.billing.DefaultBillingApi;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
@@ -59,7 +59,7 @@ public class DefaultJunctionModule extends AbstractModule implements JunctionMod
}
public void installBillingApi() {
- bind(BillingApi.class).to(DefaultBillingApi.class).asEagerSingleton();
+ bind(BillingInternalApi.class).to(DefaultBillingApi.class).asEagerSingleton();
}
public void installBlockingStateDao() {
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccount.java b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccount.java
index b2dfe54..dcd1ddb 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccount.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccount.java
@@ -24,17 +24,17 @@ import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.BillCycleDay;
import com.ning.billing.account.api.MutableAccountData;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
public class BlockingAccount implements Account {
private final Account account;
- private final TenantContext context;
+ private final InternalTenantContext context;
private BlockingState blockingState = null;
private final BlockingApi blockingApi;
- public BlockingAccount(final Account account, final BlockingApi blockingApi, final TenantContext context) {
+ public BlockingAccount(final Account account, final BlockingApi blockingApi, final InternalTenantContext context) {
this.account = account;
this.blockingApi = blockingApi;
this.context = context;
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccountUserApi.java b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccountUserApi.java
index 4115ad5..13cab3a 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccountUserApi.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingAccountUserApi.java
@@ -25,10 +25,12 @@ import com.ning.billing.account.api.AccountData;
import com.ning.billing.account.api.AccountEmail;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.MigrationAccountData;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.InternalCallContextFactory;
+import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.glue.RealImplementation;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
@@ -37,10 +39,13 @@ public class BlockingAccountUserApi implements AccountUserApi {
private final AccountUserApi userApi;
private final BlockingApi blockingApi;
+ private final InternalCallContextFactory factory;
+
@Inject
- public BlockingAccountUserApi(@RealImplementation final AccountUserApi userApi, final BlockingApi blockingApi) {
+ public BlockingAccountUserApi(@RealImplementation final AccountUserApi userApi, final BlockingApi blockingApi, final InternalCallContextFactory factory) {
this.userApi = userApi;
this.blockingApi = blockingApi;
+ this.factory = factory;
}
@Override
@@ -71,7 +76,8 @@ public class BlockingAccountUserApi implements AccountUserApi {
@Override
public Account getAccountByKey(final String key, final TenantContext context) throws AccountApiException {
- return new BlockingAccount(userApi.getAccountByKey(key, context), blockingApi, context);
+ final InternalTenantContext internalContext = factory.createInternalTenantContext(context);
+ return new BlockingAccount(userApi.getAccountByKey(key, context), blockingApi, internalContext);
}
@Override
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingEntitlementUserApi.java b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingEntitlementUserApi.java
index 1e6aa02..f6694bd 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingEntitlementUserApi.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingEntitlementUserApi.java
@@ -31,13 +31,13 @@ import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.entitlement.api.user.SubscriptionStatusDryRun;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingApiException;
import com.ning.billing.junction.block.BlockingChecker;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.glue.RealImplementation;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
@@ -60,19 +60,19 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
@Override
public SubscriptionBundle getBundleFromId(final UUID id, final TenantContext context) throws EntitlementUserApiException {
final SubscriptionBundle bundle = entitlementUserApi.getBundleFromId(id, context);
- return new BlockingSubscriptionBundle(bundle, blockingApi, context);
+ return new BlockingSubscriptionBundle(bundle, blockingApi, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
public Subscription getSubscriptionFromId(final UUID id, final TenantContext context) throws EntitlementUserApiException {
final Subscription subscription = entitlementUserApi.getSubscriptionFromId(id, context);
- return new BlockingSubscription(subscription, blockingApi, checker, context, internalCallContextFactory);
+ return new BlockingSubscription(subscription, blockingApi, checker, internalCallContextFactory.createInternalTenantContext(context), internalCallContextFactory);
}
@Override
public SubscriptionBundle getBundleForAccountAndKey(final UUID accountId, final String bundleKey, final TenantContext context) throws EntitlementUserApiException {
final SubscriptionBundle bundle = entitlementUserApi.getBundleForAccountAndKey(accountId, bundleKey, context);
- return new BlockingSubscriptionBundle(bundle, blockingApi, context);
+ return new BlockingSubscriptionBundle(bundle, blockingApi, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
@@ -80,7 +80,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
final List<SubscriptionBundle> result = new ArrayList<SubscriptionBundle>();
final List<SubscriptionBundle> bundles = entitlementUserApi.getBundlesForAccount(accountId, context);
for (final SubscriptionBundle bundle : bundles) {
- result.add(new BlockingSubscriptionBundle(bundle, blockingApi, context));
+ result.add(new BlockingSubscriptionBundle(bundle, blockingApi, internalCallContextFactory.createInternalTenantContext(context)));
}
return result;
}
@@ -91,7 +91,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
final List<SubscriptionBundle> result = new ArrayList<SubscriptionBundle>();
final List<SubscriptionBundle> bundles = entitlementUserApi.getBundlesForKey(bundleKey, context);
for (final SubscriptionBundle bundle : bundles) {
- result.add(new BlockingSubscriptionBundle(bundle, blockingApi, context));
+ result.add(new BlockingSubscriptionBundle(bundle, blockingApi, internalCallContextFactory.createInternalTenantContext(context)));
}
return result;
}
@@ -101,7 +101,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
final List<Subscription> result = new ArrayList<Subscription>();
final List<Subscription> subscriptions = entitlementUserApi.getSubscriptionsForBundle(bundleId, context);
for (final Subscription subscription : subscriptions) {
- result.add(new BlockingSubscription(subscription, blockingApi, checker, context, internalCallContextFactory));
+ result.add(new BlockingSubscription(subscription, blockingApi, checker, internalCallContextFactory.createInternalTenantContext(context), internalCallContextFactory));
}
return result;
}
@@ -111,7 +111,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
final List<Subscription> result = new ArrayList<Subscription>();
final List<Subscription> subscriptions = entitlementUserApi.getSubscriptionsForAccountAndKey(accountId, bundleKey, context);
for (final Subscription subscription : subscriptions) {
- result.add(new BlockingSubscription(subscription, blockingApi, checker, context, internalCallContextFactory));
+ result.add(new BlockingSubscription(subscription, blockingApi, checker, internalCallContextFactory.createInternalTenantContext(context), internalCallContextFactory));
}
return result;
}
@@ -124,7 +124,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
@Override
public Subscription getBaseSubscription(final UUID bundleId, final TenantContext context) throws EntitlementUserApiException {
- return new BlockingSubscription(entitlementUserApi.getBaseSubscription(bundleId, context), blockingApi, checker, context, internalCallContextFactory);
+ return new BlockingSubscription(entitlementUserApi.getBaseSubscription(bundleId, context), blockingApi, checker, internalCallContextFactory.createInternalTenantContext(context), internalCallContextFactory);
}
@Override
@@ -132,7 +132,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
throws EntitlementUserApiException {
try {
checker.checkBlockedChange(accountId, Blockable.Type.ACCOUNT, internalCallContextFactory.createInternalTenantContext(accountId, context));
- return new BlockingSubscriptionBundle(entitlementUserApi.createBundleForAccount(accountId, bundleKey, context), blockingApi, context);
+ return new BlockingSubscriptionBundle(entitlementUserApi.createBundleForAccount(accountId, bundleKey, context), blockingApi, internalCallContextFactory.createInternalTenantContext(context));
} catch (BlockingApiException e) {
throw new EntitlementUserApiException(e, e.getCode(), e.getMessage());
}
@@ -145,7 +145,7 @@ public class BlockingEntitlementUserApi implements EntitlementUserApi {
// Retrieve the bundle to get the account id for the internal call context
final SubscriptionBundle bundle = entitlementUserApi.getBundleFromId(bundleId, context);
checker.checkBlockedChange(bundleId, Blockable.Type.SUBSCRIPTION_BUNDLE, internalCallContextFactory.createInternalTenantContext(bundle.getAccountId(), context));
- return new BlockingSubscription(entitlementUserApi.createSubscription(bundleId, spec, requestedDate, context), blockingApi, checker, context, internalCallContextFactory);
+ return new BlockingSubscription(entitlementUserApi.createSubscription(bundleId, spec, requestedDate, context), blockingApi, checker, internalCallContextFactory.createInternalTenantContext(context), internalCallContextFactory);
} catch (BlockingApiException e) {
throw new EntitlementUserApiException(e, e.getCode(), e.getMessage());
}
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 a2c1358..635bea0 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
@@ -31,25 +31,25 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingApiException;
import com.ning.billing.junction.api.BlockingState;
import com.ning.billing.junction.block.BlockingChecker;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
public class BlockingSubscription implements Subscription {
private final Subscription subscription;
private final BlockingApi blockingApi;
private final BlockingChecker checker;
- private final TenantContext context;
+ private final InternalTenantContext context;
private final InternalCallContextFactory internalCallContextFactory;
private BlockingState blockingState = null;
public BlockingSubscription(final Subscription subscription, final BlockingApi blockingApi, final BlockingChecker checker,
- final TenantContext context, final InternalCallContextFactory internalCallContextFactory) {
+ final InternalTenantContext context, final InternalCallContextFactory internalCallContextFactory) {
this.subscription = subscription;
this.blockingApi = blockingApi;
this.checker = checker;
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscriptionBundle.java b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscriptionBundle.java
index f5063e3..8ba6acd 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscriptionBundle.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/api/BlockingSubscriptionBundle.java
@@ -19,36 +19,40 @@ package com.ning.billing.junction.plumbing.api;
import java.util.UUID;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
import com.ning.billing.overdue.OverdueState;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
public class BlockingSubscriptionBundle implements SubscriptionBundle {
private final SubscriptionBundle subscriptionBundle;
private final BlockingApi blockingApi;
- private final TenantContext context;
+ private final InternalTenantContext context;
private BlockingState blockingState = null;
- public BlockingSubscriptionBundle(final SubscriptionBundle subscriptionBundle, final BlockingApi blockingApi, final TenantContext context) {
+ public BlockingSubscriptionBundle(final SubscriptionBundle subscriptionBundle, final BlockingApi blockingApi, final InternalTenantContext context) {
this.subscriptionBundle = subscriptionBundle;
this.blockingApi = blockingApi;
this.context = context;
}
+ @Override
public UUID getAccountId() {
return subscriptionBundle.getAccountId();
}
+ @Override
public UUID getId() {
return subscriptionBundle.getId();
}
+ @Override
public String getKey() {
return subscriptionBundle.getKey();
}
+ @Override
public OverdueState<SubscriptionBundle> getOverdueState() {
return subscriptionBundle.getOverdueState();
}
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
index 2500c09..6e6af69 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
@@ -38,11 +38,11 @@ import com.ning.billing.catalog.api.PlanPhaseSpecifier;
import com.ning.billing.catalog.api.Product;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
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.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
import com.google.common.annotations.VisibleForTesting;
import com.google.inject.Inject;
@@ -52,15 +52,15 @@ public class BillCycleDayCalculator {
private static final Logger log = LoggerFactory.getLogger(BillCycleDayCalculator.class);
private final CatalogService catalogService;
- private final EntitlementUserApi entitlementApi;
+ private final EntitlementInternalApi entitlementApi;
@Inject
- public BillCycleDayCalculator(final CatalogService catalogService, final EntitlementUserApi entitlementApi) {
+ public BillCycleDayCalculator(final CatalogService catalogService, final EntitlementInternalApi entitlementApi) {
this.catalogService = catalogService;
this.entitlementApi = entitlementApi;
}
- protected BillCycleDay calculateBcd(final SubscriptionBundle bundle, final Subscription subscription, final EffectiveSubscriptionEvent transition, final Account account, final TenantContext context)
+ protected BillCycleDay calculateBcd(final SubscriptionBundle bundle, final Subscription subscription, final EffectiveSubscriptionEvent transition, final Account account, final InternalCallContext context)
throws CatalogApiException, AccountApiException, EntitlementUserApiException {
final Catalog catalog = catalogService.getFullCatalog();
@@ -89,7 +89,7 @@ public class BillCycleDayCalculator {
@VisibleForTesting
BillCycleDay calculateBcdForAlignment(final BillingAlignment alignment, final SubscriptionBundle bundle, final Subscription subscription,
- final Account account, final Catalog catalog, final Plan plan, final TenantContext context) throws AccountApiException, EntitlementUserApiException, CatalogApiException {
+ final Account account, final Catalog catalog, final Plan plan, final InternalCallContext context) throws AccountApiException, EntitlementUserApiException, CatalogApiException {
BillCycleDay result = null;
switch (alignment) {
case ACCOUNT:
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BlockingCalculator.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BlockingCalculator.java
index 658bed4..51e9316 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BlockingCalculator.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BlockingCalculator.java
@@ -35,12 +35,12 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.common.annotations.VisibleForTesting;
import com.google.inject.Inject;
@@ -80,7 +80,7 @@ public class BlockingCalculator {
*
* @param billingEvents the original list of billing events to update (without overdue events)
*/
- public void insertBlockingEvents(final SortedSet<BillingEvent> billingEvents, final CallContext context) {
+ public void insertBlockingEvents(final SortedSet<BillingEvent> billingEvents, final InternalTenantContext context) {
if (billingEvents.size() <= 0) {
return;
}
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 c0fbc3f..4684f03 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
@@ -28,63 +28,64 @@ import org.slf4j.LoggerFactory;
import com.ning.billing.ErrorCode;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.BillCycleDay;
import com.ning.billing.account.api.MutableAccountData;
import com.ning.billing.catalog.api.CatalogApiException;
import com.ning.billing.catalog.api.CatalogService;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.ChargeThruApi;
-import com.ning.billing.entitlement.api.billing.EntitlementBillingApiException;
import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
-import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BillingEventSet;
-import com.ning.billing.util.api.TagUserApi;
-import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.CallContextFactory;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalCallContextFactory;
+import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.svcapi.account.AccountInternalApi;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
+import com.ning.billing.util.svcapi.entitlement.EntitlementBillingApiException;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.tag.TagInternalApi;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
import com.google.inject.Inject;
-public class DefaultBillingApi implements BillingApi {
+public class DefaultBillingApi implements BillingInternalApi {
+
private static final String API_USER_NAME = "Billing Api";
private static final Logger log = LoggerFactory.getLogger(DefaultBillingApi.class);
- private final ChargeThruApi chargeThruApi;
- private final CallContextFactory factory;
- private final AccountUserApi accountApi;
+ private final ChargeThruInternalApi chargeThruApi;
+ private final InternalCallContextFactory factory;
+ private final AccountInternalApi accountApi;
private final BillCycleDayCalculator bcdCalculator;
- private final EntitlementUserApi entitlementUserApi;
+ private final EntitlementInternalApi entitlementApi;
private final CatalogService catalogService;
private final BlockingCalculator blockCalculator;
- private final TagUserApi tagApi;
+ private final TagInternalApi tagApi;
@Inject
- public DefaultBillingApi(final ChargeThruApi chargeThruApi, final CallContextFactory factory, final AccountUserApi accountApi,
- final BillCycleDayCalculator bcdCalculator, final EntitlementUserApi entitlementUserApi, final BlockingCalculator blockCalculator,
- final CatalogService catalogService, final TagUserApi tagApi) {
+ public DefaultBillingApi(final ChargeThruInternalApi chargeThruApi, final InternalCallContextFactory factory, final AccountInternalApi accountApi,
+ final BillCycleDayCalculator bcdCalculator, final EntitlementInternalApi entitlementApi, final BlockingCalculator blockCalculator,
+ final CatalogService catalogService, final TagInternalApi tagApi) {
this.chargeThruApi = chargeThruApi;
this.accountApi = accountApi;
this.bcdCalculator = bcdCalculator;
this.factory = factory;
- this.entitlementUserApi = entitlementUserApi;
+ this.entitlementApi = entitlementApi;
this.catalogService = catalogService;
this.blockCalculator = blockCalculator;
this.tagApi = tagApi;
}
@Override
- public BillingEventSet getBillingEventsForAccountAndUpdateAccountBCD(final UUID accountId, final CallContext context) {
- // TODO
- //final CallContext context = factory.createCallContext(API_USER_NAME, CallOrigin.INTERNAL, UserType.SYSTEM);
+ public BillingEventSet getBillingEventsForAccountAndUpdateAccountBCD(final UUID accountId, final InternalCallContext context) {
+
+ //final TenantContext context = factory.createTenantContext(API_USER_NAME, CallOrigin.INTERNAL, UserType.SYSTEM);
- final List<SubscriptionBundle> bundles = entitlementUserApi.getBundlesForAccount(accountId, context);
+ final List<SubscriptionBundle> bundles = entitlementApi.getBundlesForAccount(accountId, context);
final DefaultBillingEventSet result = new DefaultBillingEventSet();
try {
@@ -119,10 +120,10 @@ public class DefaultBillingApi implements BillingApi {
}
}
- private void addBillingEventsForBundles(final List<SubscriptionBundle> bundles, final Account account, final CallContext context,
+ private void addBillingEventsForBundles(final List<SubscriptionBundle> bundles, final Account account, final InternalCallContext context,
final DefaultBillingEventSet result) {
for (final SubscriptionBundle bundle : bundles) {
- final List<Subscription> subscriptions = entitlementUserApi.getSubscriptionsForBundle(bundle.getId(), context);
+ final List<Subscription> subscriptions = entitlementApi.getSubscriptionsForBundle(bundle.getId(), context);
//Check if billing is off for the bundle
final Map<String, Tag> bundleTags = tagApi.getTags(bundle.getId(), ObjectType.BUNDLE, context);
@@ -144,7 +145,7 @@ public class DefaultBillingApi implements BillingApi {
}
}
- private void addBillingEventsForSubscription(final List<Subscription> subscriptions, final SubscriptionBundle bundle, final Account account, final CallContext context, final DefaultBillingEventSet result) {
+ private void addBillingEventsForSubscription(final List<Subscription> subscriptions, final SubscriptionBundle bundle, final Account account, final InternalCallContext context, final DefaultBillingEventSet result) {
for (final Subscription subscription : subscriptions) {
for (final EffectiveSubscriptionEvent transition : subscription.getBillingTransitions()) {
try {
@@ -169,7 +170,7 @@ public class DefaultBillingApi implements BillingApi {
}
@Override
- public UUID getAccountIdFromSubscriptionId(final UUID subscriptionId, final TenantContext context) throws EntitlementBillingApiException {
+ public UUID getAccountIdFromSubscriptionId(final UUID subscriptionId, final InternalTenantContext context) throws EntitlementBillingApiException {
final UUID result = chargeThruApi.getAccountIdFromSubscriptionId(subscriptionId, context);
if (result == null) {
throw new EntitlementBillingApiException(ErrorCode.ENT_INVALID_SUBSCRIPTION_ID, subscriptionId.toString());
@@ -178,7 +179,7 @@ public class DefaultBillingApi implements BillingApi {
}
@Override
- public void setChargedThroughDate(final UUID subscriptionId, final LocalDate ctd, final CallContext context) {
+ public void setChargedThroughDate(final UUID subscriptionId, final LocalDate ctd, final InternalCallContext context) {
chargeThruApi.setChargedThroughDate(subscriptionId, ctd, context);
}
}
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEvent.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEvent.java
index 41eff04..bf104e9 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEvent.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEvent.java
@@ -30,10 +30,10 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
import com.ning.billing.entitlement.api.user.Subscription;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
public class DefaultBillingEvent implements BillingEvent {
private final Account account;
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEventSet.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEventSet.java
index 33b84e5..7f76678 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEventSet.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/DefaultBillingEventSet.java
@@ -22,8 +22,8 @@ import java.util.SortedSet;
import java.util.TreeSet;
import java.util.UUID;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.junction.api.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
public class DefaultBillingEventSet extends TreeSet<BillingEvent> implements SortedSet<BillingEvent>, BillingEventSet {
private static final long serialVersionUID = 1L;
diff --git a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
index d0306b3..31bd676 100644
--- a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
@@ -29,11 +29,11 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.JunctionTestSuiteWithEmbeddedDB;
import com.ning.billing.junction.MockModule;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
import com.ning.billing.mock.glue.MockEntitlementModule;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.Inject;
@@ -61,18 +61,18 @@ public class TestBlockingApi extends JunctionTestSuiteWithEmbeddedDB {
final boolean blockBilling = false;
final BlockingState state1 = new DefaultBlockingState(uuid, overdueStateName, Blockable.Type.SUBSCRIPTION_BUNDLE, service, blockChange, blockEntitlement, blockBilling);
- api.setBlockingState(state1, callContext);
+ api.setBlockingState(state1, internalCallContext);
clock.setDeltaFromReality(1000 * 3600 * 24);
final String overdueStateName2 = "NoReallyThisCantGoOn";
final BlockingState state2 = new DefaultBlockingState(uuid, overdueStateName2, Blockable.Type.SUBSCRIPTION_BUNDLE, service, blockChange, blockEntitlement, blockBilling);
- api.setBlockingState(state2, callContext);
+ api.setBlockingState(state2, internalCallContext);
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
Mockito.when(bundle.getId()).thenReturn(uuid);
- Assert.assertEquals(api.getBlockingStateFor(bundle, callContext).getStateName(), overdueStateName2);
- Assert.assertEquals(api.getBlockingStateFor(bundle.getId(), callContext).getStateName(), overdueStateName2);
+ Assert.assertEquals(api.getBlockingStateFor(bundle, internalCallContext).getStateName(), overdueStateName2);
+ Assert.assertEquals(api.getBlockingStateFor(bundle.getId(), internalCallContext).getStateName(), overdueStateName2);
}
@Test(groups = "slow")
@@ -86,19 +86,19 @@ public class TestBlockingApi extends JunctionTestSuiteWithEmbeddedDB {
final boolean blockBilling = false;
final BlockingState state1 = new DefaultBlockingState(uuid, overdueStateName, Blockable.Type.SUBSCRIPTION_BUNDLE, service, blockChange, blockEntitlement, blockBilling);
- api.setBlockingState(state1, callContext);
+ api.setBlockingState(state1, internalCallContext);
clock.setDeltaFromReality(1000 * 3600 * 24);
final String overdueStateName2 = "NoReallyThisCantGoOn";
final BlockingState state2 = new DefaultBlockingState(uuid, overdueStateName2, Blockable.Type.SUBSCRIPTION_BUNDLE, service, blockChange, blockEntitlement, blockBilling);
- api.setBlockingState(state2, callContext);
+ api.setBlockingState(state2, internalCallContext);
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
Mockito.when(bundle.getId()).thenReturn(uuid);
- final List<BlockingState> history1 = api.getBlockingHistory(bundle, callContext);
- final List<BlockingState> history2 = api.getBlockingHistory(bundle.getId(), callContext);
+ final List<BlockingState> history1 = api.getBlockingHistory(bundle, internalCallContext);
+ final List<BlockingState> history2 = api.getBlockingHistory(bundle.getId(), internalCallContext);
Assert.assertEquals(history1.size(), 2);
Assert.assertEquals(history1.get(0).getStateName(), overdueStateName);
diff --git a/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java b/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
index 8b343ae..044ff9a 100644
--- a/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
+++ b/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
@@ -33,7 +33,6 @@ import com.ning.billing.junction.JunctionTestSuite;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.junction.api.BlockingApiException;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
import com.ning.billing.junction.block.BlockingChecker;
import com.ning.billing.junction.block.DefaultBlockingChecker;
import com.ning.billing.junction.dao.BlockingStateDao;
@@ -41,6 +40,7 @@ import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
diff --git a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
index da53d11..2c1c4a2 100644
--- a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
+++ b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
@@ -29,11 +29,11 @@ import com.ning.billing.junction.JunctionTestSuiteWithEmbeddedDB;
import com.ning.billing.junction.MockModule;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
import com.ning.billing.mock.glue.MockEntitlementModule;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.Inject;
diff --git a/junction/src/test/java/com/ning/billing/junction/MockBlockingModule.java b/junction/src/test/java/com/ning/billing/junction/MockBlockingModule.java
index c20ef92..52a8212 100644
--- a/junction/src/test/java/com/ning/billing/junction/MockBlockingModule.java
+++ b/junction/src/test/java/com/ning/billing/junction/MockBlockingModule.java
@@ -18,8 +18,8 @@ package com.ning.billing.junction;
import org.mockito.Mockito;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.dao.BlockingStateDao;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.AbstractModule;
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
index 0a8786c..6619f09 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
@@ -33,11 +33,11 @@ import com.ning.billing.catalog.api.CatalogApiException;
import com.ning.billing.catalog.api.CatalogService;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
-import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.JunctionTestSuite;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
public class TestBillCycleDayCalculator extends JunctionTestSuite {
@@ -49,8 +49,8 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
// Create the calculator
final CatalogService catalogService = Mockito.mock(CatalogService.class);
- final EntitlementUserApi entitlementUserApi = Mockito.mock(EntitlementUserApi.class);
- final BillCycleDayCalculator billCycleDayCalculator = new BillCycleDayCalculator(catalogService, entitlementUserApi);
+ final EntitlementInternalApi entitlementApi = Mockito.mock(EntitlementInternalApi.class);
+ final BillCycleDayCalculator billCycleDayCalculator = new BillCycleDayCalculator(catalogService, entitlementApi);
// Create a Bundle associated with a subscription
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
@@ -59,7 +59,7 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
Mockito.when(subscription.getStartDate()).thenReturn(bpStartDateUTC);
Mockito.when(subscription.getPreviousTransition()).thenReturn(previousTransition);
// subscription.getCurrentPlan() will return null as expected (cancelled BP)
- Mockito.when(entitlementUserApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscription);
+ Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
// Create a the base plan associated with that subscription
final Plan plan = Mockito.mock(Plan.class);
@@ -70,7 +70,7 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
final Account account = Mockito.mock(Account.class);
Mockito.when(account.getTimeZone()).thenReturn(accountTimeZone);
final BillCycleDay billCycleDay = billCycleDayCalculator.calculateBcdForAlignment(BillingAlignment.BUNDLE, bundle, subscription,
- account, catalog, null, callContext);
+ account, catalog, null, internalCallContext);
Assert.assertEquals(billCycleDay.getDayOfMonthUTC(), expectedBCDUTC);
}
@@ -137,7 +137,7 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
}
private void verifyBCDCalculation(final DateTimeZone accountTimeZone, final DateTime startDateUTC, final int bcdUTC, final int bcdLocal) throws AccountApiException, CatalogApiException {
- final BillCycleDayCalculator billCycleDayCalculator = new BillCycleDayCalculator(Mockito.mock(CatalogService.class), Mockito.mock(EntitlementUserApi.class));
+ final BillCycleDayCalculator billCycleDayCalculator = new BillCycleDayCalculator(Mockito.mock(CatalogService.class), Mockito.mock(EntitlementInternalApi.class));
final Subscription subscription = Mockito.mock(Subscription.class);
Mockito.when(subscription.getStartDate()).thenReturn(startDateUTC);
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
index 04ecf73..dbcdb33 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
@@ -16,6 +16,11 @@
package com.ning.billing.junction.plumbing.billing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -35,7 +40,6 @@ import org.testng.annotations.Test;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.catalog.MockCatalog;
import com.ning.billing.catalog.MockCatalogService;
import com.ning.billing.catalog.api.BillingAlignment;
@@ -48,41 +52,36 @@ 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.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
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.entitlement.api.user.Subscription.SubscriptionState;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.JunctionTestSuite;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BillingEventSet;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
import com.ning.billing.lifecycle.KillbillService.ServiceException;
import com.ning.billing.mock.MockEffectiveSubscriptionEvent;
import com.ning.billing.mock.MockSubscription;
import com.ning.billing.mock.api.MockBillCycleDay;
-import com.ning.billing.util.api.TagUserApi;
-import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.CallContextFactory;
-import com.ning.billing.util.callcontext.DefaultCallContextFactory;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalCallContextFactory;
+import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.svcapi.account.AccountInternalApi;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingEventSet;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
+import com.ning.billing.util.svcapi.tag.TagInternalApi;
import com.ning.billing.util.tag.ControlTagType;
import com.ning.billing.util.tag.Tag;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-
public class TestBillingApi extends JunctionTestSuite {
private static final String DISABLED_BUNDLE = "disabled-bundle";
@@ -95,22 +94,22 @@ public class TestBillingApi extends JunctionTestSuite {
private CatalogService catalogService;
private List<EffectiveSubscriptionEvent> effectiveSubscriptionTransitions;
- private EntitlementUserApi entitlementApi;
+ private EntitlementInternalApi entitlementApi;
private final BlockingCalculator blockCalculator = new BlockingCalculator(null) {
@Override
- public void insertBlockingEvents(final SortedSet<BillingEvent> billingEvents, final CallContext context) {
+ public void insertBlockingEvents(final SortedSet<BillingEvent> billingEvents, final InternalTenantContext context) {
}
};
private Clock clock;
- private AccountUserApi accountApi;
+ private AccountInternalApi accountApi;
private BillCycleDayCalculator bcdCalculator;
- private CallContextFactory factory;
- private BillingApi api;
+ private InternalCallContextFactory factory;
+ private BillingInternalApi api;
private Subscription subscription;
- private TagUserApi tagApi;
+ private TagInternalApi tagApi;
@BeforeSuite(groups = "fast")
public void setup() throws ServiceException {
@@ -120,7 +119,7 @@ public class TestBillingApi extends JunctionTestSuite {
@BeforeMethod(groups = "fast")
public void setupEveryTime() throws EntitlementUserApiException {
- accountApi = Mockito.mock(AccountUserApi.class);
+ accountApi = Mockito.mock(AccountInternalApi.class);
final List<SubscriptionBundle> bundles = new ArrayList<SubscriptionBundle>();
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
@@ -136,17 +135,19 @@ public class TestBillingApi extends JunctionTestSuite {
subscriptions.add(subscription);
- entitlementApi = Mockito.mock(EntitlementUserApi.class);
- Mockito.when(entitlementApi.getBundlesForAccount(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(bundles);
- Mockito.when(entitlementApi.getSubscriptionsForBundle(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscriptions);
- Mockito.when(entitlementApi.getSubscriptionFromId(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscription);
- Mockito.when(entitlementApi.getBundleFromId(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(bundle);
- Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscription);
+ entitlementApi = Mockito.mock(EntitlementInternalApi.class);
+ Mockito.when(entitlementApi.getBundlesForAccount(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(bundles);
+ Mockito.when(entitlementApi.getSubscriptionsForBundle(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscriptions);
+ Mockito.when(entitlementApi.getSubscriptionFromId(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
+ Mockito.when(entitlementApi.getBundleFromId(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(bundle);
+ Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
- tagApi = mock(TagUserApi.class);
+ tagApi = mock(TagInternalApi.class);
bcdCalculator = new BillCycleDayCalculator(catalogService, entitlementApi);
- factory = new DefaultCallContextFactory(clock);
+
+ // API_FIX null
+ factory = new InternalCallContextFactory(null, clock);
api = new DefaultBillingApi(null, factory, accountApi, bcdCalculator, entitlementApi, blockCalculator, catalogService, tagApi);
// Set a default alignment
@@ -155,7 +156,7 @@ public class TestBillingApi extends JunctionTestSuite {
@Test(groups = "fast")
public void testBillingEventsEmpty() throws AccountApiException {
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(new UUID(0L, 0L), callContext);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(new UUID(0L, 0L), internalCallContext);
Assert.assertEquals(events.size(), 0);
}
@@ -168,7 +169,7 @@ public class TestBillingApi extends JunctionTestSuite {
final Account account = createAccount(10);
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
checkFirstEvent(events, nextPlan, account.getBillCycleDay().getDayOfMonthUTC(), subId, now, nextPhase, SubscriptionTransitionType.CREATE.toString());
}
@@ -182,7 +183,7 @@ public class TestBillingApi extends JunctionTestSuite {
((MockCatalog) catalogService.getFullCatalog()).setBillingAlignment(BillingAlignment.SUBSCRIPTION);
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
// The expected BCD is when the subscription started since we skip the trial phase
checkFirstEvent(events, nextPlan, subscription.getStartDate().getDayOfMonth(), subId, now, nextPhase, SubscriptionTransitionType.CREATE.toString());
}
@@ -195,7 +196,7 @@ public class TestBillingApi extends JunctionTestSuite {
final Account account = createAccount(32);
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
// The expected BCD is the account BCD (account aligned by default)
checkFirstEvent(events, nextPlan, 32, subId, now, nextPhase, SubscriptionTransitionType.CREATE.toString());
}
@@ -211,7 +212,7 @@ public class TestBillingApi extends JunctionTestSuite {
((MockCatalog) catalogService.getFullCatalog()).setBillingAlignment(BillingAlignment.BUNDLE);
((MockSubscription) subscription).setPlan(catalogService.getFullCatalog().findPlan("PickupTrialEvergreen10USD", now));
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
// The expected BCD is when the subscription started
checkFirstEvent(events, nextPlan, subscription.getStartDate().getDayOfMonth(), subId, now, nextPhase, SubscriptionTransitionType.CREATE.toString());
}
@@ -230,21 +231,21 @@ public class TestBillingApi extends JunctionTestSuite {
final BlockingCalculator blockingCal = new BlockingCalculator(new BlockingApi() {
@Override
- public <T extends Blockable> void setBlockingState(final BlockingState state, final CallContext context) {
+ public <T extends Blockable> void setBlockingState(final BlockingState state, final InternalCallContext context) {
}
@Override
- public BlockingState getBlockingStateFor(final UUID overdueableId, final TenantContext context) {
+ public BlockingState getBlockingStateFor(final UUID overdueableId, final InternalTenantContext context) {
return null;
}
@Override
- public BlockingState getBlockingStateFor(final Blockable overdueable, final TenantContext context) {
+ public BlockingState getBlockingStateFor(final Blockable overdueable, final InternalTenantContext context) {
return null;
}
@Override
- public List<BlockingState> getBlockingHistory(final UUID overdueableId, final TenantContext context) {
+ public List<BlockingState> getBlockingHistory(final UUID overdueableId, final InternalTenantContext context) {
if (overdueableId == bunId) {
return blockingStates;
}
@@ -252,13 +253,13 @@ public class TestBillingApi extends JunctionTestSuite {
}
@Override
- public List<BlockingState> getBlockingHistory(final Blockable overdueable, final TenantContext context) {
+ public List<BlockingState> getBlockingHistory(final Blockable overdueable, final InternalTenantContext context) {
return new ArrayList<BlockingState>();
}
});
- final BillingApi api = new DefaultBillingApi(null, factory, accountApi, bcdCalculator, entitlementApi, blockingCal, catalogService, tagApi);
- final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final BillingInternalApi api = new DefaultBillingApi(null, factory, accountApi, bcdCalculator, entitlementApi, blockingCal, catalogService, tagApi);
+ final SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
Assert.assertEquals(events.size(), 3);
final Iterator<BillingEvent> it = events.iterator();
@@ -280,10 +281,10 @@ public class TestBillingApi extends JunctionTestSuite {
final Tag aioTag = mock(Tag.class);
when(aioTag.getTagDefinitionId()).thenReturn(ControlTagType.AUTO_INVOICING_OFF.getId());
tags.put(ControlTagType.AUTO_INVOICING_OFF.name(), aioTag);
- when(tagApi.getTags(account.getId(), ObjectType.ACCOUNT, callContext)).thenReturn(tags);
- assertEquals(tagApi.getTags(account.getId(), ObjectType.ACCOUNT, callContext), tags);
+ when(tagApi.getTags(account.getId(), ObjectType.ACCOUNT, internalCallContext)).thenReturn(tags);
+ assertEquals(tagApi.getTags(account.getId(), ObjectType.ACCOUNT, internalCallContext), tags);
- final BillingEventSet events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final BillingEventSet events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
assertEquals(events.isAccountAutoInvoiceOff(), true);
assertEquals(events.size(), 0);
@@ -301,9 +302,9 @@ public class TestBillingApi extends JunctionTestSuite {
final Tag aioTag = mock(Tag.class);
when(aioTag.getTagDefinitionId()).thenReturn(ControlTagType.AUTO_INVOICING_OFF.getId());
tags.put(ControlTagType.AUTO_INVOICING_OFF.name(), aioTag);
- when(tagApi.getTags(bunId, ObjectType.BUNDLE, callContext)).thenReturn(tags);
+ when(tagApi.getTags(bunId, ObjectType.BUNDLE, internalCallContext)).thenReturn(tags);
- final BillingEventSet events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), callContext);
+ final BillingEventSet events = api.getBillingEventsForAccountAndUpdateAccountBCD(account.getId(), internalCallContext);
assertEquals(events.getSubscriptionIdsWithAutoInvoiceOff().size(), 1);
assertEquals(events.getSubscriptionIdsWithAutoInvoiceOff().get(0), subId);
@@ -348,7 +349,7 @@ public class TestBillingApi extends JunctionTestSuite {
Mockito.when(account.getCurrency()).thenReturn(Currency.USD);
Mockito.when(account.getId()).thenReturn(UUID.randomUUID());
Mockito.when(account.getTimeZone()).thenReturn(DateTimeZone.UTC);
- Mockito.when(accountApi.getAccountById(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(account);
+ Mockito.when(accountApi.getAccountById(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(account);
return account;
}
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
index c2df046..7769c49 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
@@ -16,6 +16,10 @@
package com.ning.billing.junction.plumbing.billing;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Hashtable;
@@ -41,28 +45,24 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.junction.JunctionTestSuite;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.Blockable.Type;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.junction.api.DefaultBlockingState;
+import com.ning.billing.junction.api.Blockable.Type;
import com.ning.billing.junction.dao.BlockingStateDao;
import com.ning.billing.junction.plumbing.billing.BlockingCalculator.DisabledDuration;
import com.ning.billing.mock.api.MockBillCycleDay;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-
public class TestBlockingCalculator extends JunctionTestSuite {
private static final String DISABLED_BUNDLE = "disabled-bundle";
@@ -139,9 +139,9 @@ public class TestBlockingCalculator extends JunctionTestSuite {
blockingStates.add(new DefaultBlockingState(bundleId1, DISABLED_BUNDLE, Blockable.Type.SUBSCRIPTION_BUNDLE, "test", true, true, true, now));
blockingStates.add(new DefaultBlockingState(bundleId1, CLEAR_BUNDLE, Blockable.Type.SUBSCRIPTION_BUNDLE, "test", false, false, false, now.plusDays(2)));
- Mockito.when(blockingApi.getBlockingHistory(bundleId1, callContext)).thenReturn(blockingStates);
+ Mockito.when(blockingApi.getBlockingHistory(bundleId1, internalCallContext)).thenReturn(blockingStates);
- odc.insertBlockingEvents(billingEvents, callContext);
+ odc.insertBlockingEvents(billingEvents, internalCallContext);
assertEquals(billingEvents.size(), 7);
@@ -751,9 +751,9 @@ public class TestBlockingCalculator extends JunctionTestSuite {
blockingEvents.add(new DefaultBlockingState(ovdId, DISABLED_BUNDLE, Type.SUBSCRIPTION_BUNDLE, "test", true, true, true, new LocalDate(2012, 7, 25).toDateTimeAtStartOfDay(DateTimeZone.UTC)));
blockingEvents.add(new DefaultBlockingState(ovdId, CLEAR_BUNDLE, Type.SUBSCRIPTION_BUNDLE, "test", false, false, false, new LocalDate(2012, 7, 25).toDateTimeAtStartOfDay(DateTimeZone.UTC)));
- Mockito.when(blockingApi.getBlockingHistory(bundleId1, callContext)).thenReturn(blockingEvents);
+ Mockito.when(blockingApi.getBlockingHistory(bundleId1, internalCallContext)).thenReturn(blockingEvents);
- odc.insertBlockingEvents(billingEvents, callContext);
+ odc.insertBlockingEvents(billingEvents, internalCallContext);
assertEquals(billingEvents.size(), 5);
final List<BillingEvent> events = new ArrayList<BillingEvent>(billingEvents);
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
index 8d93050..4a4c1cc 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
@@ -40,11 +40,11 @@ import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.SubscriptionTransitionType;
-import com.ning.billing.entitlement.api.billing.BillingEvent;
-import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.junction.JunctionTestSuite;
import com.ning.billing.mock.api.MockBillCycleDay;
+import com.ning.billing.util.svcapi.junction.BillingEvent;
+import com.ning.billing.util.svcapi.junction.BillingModeType;
public class TestDefaultBillingEvent extends JunctionTestSuite {
diff --git a/overdue/src/main/java/com/ning/billing/overdue/api/DefaultOverdueUserApi.java b/overdue/src/main/java/com/ning/billing/overdue/api/DefaultOverdueUserApi.java
index 1ba62b3..997ecb4 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/api/DefaultOverdueUserApi.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/api/DefaultOverdueUserApi.java
@@ -22,7 +22,6 @@ import org.slf4j.LoggerFactory;
import com.ning.billing.ErrorCode;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueApiException;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueUserApi;
@@ -35,6 +34,7 @@ import com.ning.billing.overdue.wrapper.OverdueWrapperFactory;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.callcontext.InternalCallContextFactory;
import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
@@ -59,7 +59,7 @@ public class DefaultOverdueUserApi implements OverdueUserApi {
@Override
public <T extends Blockable> OverdueState<T> getOverdueStateFor(final T overdueable, final TenantContext context) throws OverdueException {
try {
- final String stateName = accessApi.getBlockingStateFor(overdueable, context).getStateName();
+ final String stateName = accessApi.getBlockingStateFor(overdueable, internalCallContextFactory.createInternalTenantContext(context)).getStateName();
final OverdueStateSet<SubscriptionBundle> states = overdueConfig.getBundleStateSet();
return (OverdueState<T>) states.findState(stateName);
} catch (OverdueApiException e) {
diff --git a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
index 982f18a..fb1988a 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/applicator/DefaultOverdueChangeEvent.java
@@ -21,6 +21,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.junction.api.Blockable.Type;
import com.ning.billing.overdue.OverdueChangeEvent;
diff --git a/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java b/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
index 9fd004f..8c9133b 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/applicator/OverdueStateApplicator.java
@@ -37,10 +37,8 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.Blockable.Type;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingApiException;
-import com.ning.billing.junction.api.DefaultBlockingState;
+import com.ning.billing.junction.api.Blockable.Type;
import com.ning.billing.ovedue.notification.OverdueCheckPoster;
import com.ning.billing.overdue.OverdueApiException;
import com.ning.billing.overdue.OverdueCancellationPolicicy;
@@ -50,7 +48,6 @@ import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.config.api.BillingState;
import com.ning.billing.overdue.config.api.OverdueException;
import com.ning.billing.util.bus.Bus;
-import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
@@ -58,6 +55,8 @@ import com.ning.billing.util.email.DefaultEmailSender;
import com.ning.billing.util.email.EmailApiException;
import com.ning.billing.util.email.EmailConfig;
import com.ning.billing.util.email.EmailSender;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.common.collect.ImmutableList;
import com.google.inject.Inject;
@@ -65,8 +64,6 @@ import com.samskivert.mustache.MustacheException;
public class OverdueStateApplicator<T extends Blockable> {
- private static final String API_USER_NAME = "OverdueStateApplicator";
-
private static final Logger log = LoggerFactory.getLogger(OverdueStateApplicator.class);
private final BlockingApi blockingApi;
@@ -75,14 +72,13 @@ public class OverdueStateApplicator<T extends Blockable> {
private final Bus bus;
private final AccountUserApi accountUserApi;
private final EntitlementUserApi entitlementUserApi;
- private final CallContextFactory factory;
private final OverdueEmailGenerator overdueEmailGenerator;
private final EmailSender emailSender;
@Inject
public OverdueStateApplicator(final BlockingApi accessApi, final AccountUserApi accountUserApi, final EntitlementUserApi entitlementUserApi,
final Clock clock, final OverdueCheckPoster poster, final OverdueEmailGenerator overdueEmailGenerator,
- final EmailConfig config, final Bus bus, final CallContextFactory factory) {
+ final EmailConfig config, final Bus bus) {
this.blockingApi = accessApi;
this.accountUserApi = accountUserApi;
this.entitlementUserApi = entitlementUserApi;
@@ -91,7 +87,6 @@ public class OverdueStateApplicator<T extends Blockable> {
this.overdueEmailGenerator = overdueEmailGenerator;
this.emailSender = new DefaultEmailSender(config);
this.bus = bus;
- this.factory = factory;
}
public void apply(final OverdueState<T> firstOverdueState, final BillingState<T> billingState,
@@ -153,7 +148,7 @@ public class OverdueStateApplicator<T extends Blockable> {
blockChanges(nextOverdueState),
blockEntitlement(nextOverdueState),
blockBilling(nextOverdueState)),
- context.toCallContext());
+ context);
} catch (Exception e) {
throw new OverdueException(e, ErrorCode.OVERDUE_CAT_ERROR_ENCOUNTERED, blockable.getId(), blockable.getClass().getName());
}
diff --git a/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculator.java b/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculator.java
index 8cbf13b..a231453 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculator.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculator.java
@@ -28,18 +28,18 @@ import org.joda.time.DateTimeZone;
import org.joda.time.LocalDate;
import com.ning.billing.invoice.api.Invoice;
-import com.ning.billing.invoice.api.InvoiceUserApi;
import com.ning.billing.junction.api.Blockable;
import com.ning.billing.overdue.config.api.BillingState;
import com.ning.billing.overdue.config.api.OverdueException;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.invoice.InvoiceInternalApi;
import com.google.inject.Inject;
public abstract class BillingStateCalculator<T extends Blockable> {
- private final InvoiceUserApi invoiceApi;
+ private final InvoiceInternalApi invoiceApi;
private final Clock clock;
protected class InvoiceDateComparator implements Comparator<Invoice> {
@@ -56,7 +56,7 @@ public abstract class BillingStateCalculator<T extends Blockable> {
}
@Inject
- public BillingStateCalculator(final InvoiceUserApi invoiceApi, final Clock clock) {
+ public BillingStateCalculator(final InvoiceInternalApi invoiceApi, final Clock clock) {
this.invoiceApi = invoiceApi;
this.clock = clock;
}
@@ -80,7 +80,7 @@ public abstract class BillingStateCalculator<T extends Blockable> {
}
protected SortedSet<Invoice> unpaidInvoicesForAccount(final UUID accountId, final DateTimeZone accountTimeZone, final InternalTenantContext context) {
- final Collection<Invoice> invoices = invoiceApi.getUnpaidInvoicesByAccountId(accountId, clock.getToday(accountTimeZone), context.toTenantContext());
+ final Collection<Invoice> invoices = invoiceApi.getUnpaidInvoicesByAccountId(accountId, clock.getToday(accountTimeZone), context);
final SortedSet<Invoice> sortedInvoices = new TreeSet<Invoice>(new InvoiceDateComparator());
sortedInvoices.addAll(invoices);
return sortedInvoices;
diff --git a/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculatorBundle.java b/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculatorBundle.java
index 1322bf1..d76cf78 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculatorBundle.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/calculator/BillingStateCalculatorBundle.java
@@ -26,35 +26,35 @@ import org.joda.time.LocalDate;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.PriceList;
import com.ning.billing.catalog.api.Product;
-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.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.api.InvoiceUserApi;
import com.ning.billing.overdue.config.api.BillingStateBundle;
import com.ning.billing.overdue.config.api.OverdueException;
import com.ning.billing.overdue.config.api.PaymentResponse;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.account.AccountInternalApi;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
+import com.ning.billing.util.svcapi.invoice.InvoiceInternalApi;
import com.ning.billing.util.tag.Tag;
import com.google.inject.Inject;
public class BillingStateCalculatorBundle extends BillingStateCalculator<SubscriptionBundle> {
- private final EntitlementUserApi entitlementApi;
- private final AccountUserApi accountApi;
+ private final EntitlementInternalApi entitlementApi;
+ private final AccountInternalApi accountApi;
@Inject
- public BillingStateCalculatorBundle(final EntitlementUserApi entitlementApi, final InvoiceUserApi invoiceApi,
- final AccountUserApi accountApi, final Clock clock) {
+ public BillingStateCalculatorBundle(final EntitlementInternalApi entitlementApi, final InvoiceInternalApi invoiceApi,
+ final AccountInternalApi accountApi, final Clock clock) {
super(invoiceApi, clock);
this.entitlementApi = entitlementApi;
this.accountApi = accountApi;
@@ -63,10 +63,10 @@ public class BillingStateCalculatorBundle extends BillingStateCalculator<Subscri
@Override
public BillingStateBundle calculateBillingState(final SubscriptionBundle bundle, final InternalTenantContext context) throws OverdueException {
try {
- final Account account = accountApi.getAccountById(bundle.getAccountId(), context.toTenantContext());
+ final Account account = accountApi.getAccountById(bundle.getAccountId(), context);
final SortedSet<Invoice> unpaidInvoices = unpaidInvoicesForBundle(bundle.getId(), bundle.getAccountId(), account.getTimeZone(), context);
- final Subscription basePlan = entitlementApi.getBaseSubscription(bundle.getId(), context.toTenantContext());
+ final Subscription basePlan = entitlementApi.getBaseSubscription(bundle.getId(), context);
final UUID id = bundle.getId();
final int numberOfUnpaidInvoices = unpaidInvoices.size();
diff --git a/overdue/src/main/java/com/ning/billing/overdue/config/DefaultOverdueStateSet.java b/overdue/src/main/java/com/ning/billing/overdue/config/DefaultOverdueStateSet.java
index 263a8e1..507ec08 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/config/DefaultOverdueStateSet.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/config/DefaultOverdueStateSet.java
@@ -24,24 +24,24 @@ import org.joda.time.Period;
import com.ning.billing.ErrorCode;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueApiException;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.config.api.BillingState;
import com.ning.billing.overdue.config.api.OverdueStateSet;
import com.ning.billing.util.config.ValidatingConfig;
import com.ning.billing.util.config.ValidationErrors;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@XmlAccessorType(XmlAccessType.NONE)
public abstract class DefaultOverdueStateSet<T extends Blockable> extends ValidatingConfig<OverdueConfig> implements OverdueStateSet<T> {
private static final Period ZERO_PERIOD = new Period();
- private final DefaultOverdueState<T> clearState = new DefaultOverdueState<T>().setName(BlockingApi.CLEAR_STATE_NAME).setClearState(true);
+ private final DefaultOverdueState<T> clearState = new DefaultOverdueState<T>().setName(DefaultBlockingState.CLEAR_STATE_NAME).setClearState(true);
protected abstract DefaultOverdueState<T>[] getStates();
@Override
public OverdueState<T> findState(final String stateName) throws OverdueApiException {
- if (stateName.equals(BlockingApi.CLEAR_STATE_NAME)) {
+ if (stateName.equals(DefaultBlockingState.CLEAR_STATE_NAME)) {
return clearState;
}
for (final DefaultOverdueState<T> state : getStates()) {
diff --git a/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapper.java b/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapper.java
index be9569f..cae6987 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapper.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapper.java
@@ -17,7 +17,6 @@
package com.ning.billing.overdue.wrapper;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueApiException;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.applicator.OverdueStateApplicator;
@@ -28,6 +27,7 @@ import com.ning.billing.overdue.config.api.OverdueStateSet;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
public class OverdueWrapper<T extends Blockable> {
private final T overdueable;
@@ -56,7 +56,7 @@ public class OverdueWrapper<T extends Blockable> {
}
final BillingState<T> billingState = billingState(context);
- final String previousOverdueStateName = api.getBlockingStateFor(overdueable, context.toCallContext()).getStateName();
+ final String previousOverdueStateName = api.getBlockingStateFor(overdueable, context).getStateName();
final OverdueState<T> nextOverdueState = overdueStateSet.calculateOverdueState(billingState, clock.getToday(billingState.getAccountTimeZone()));
overdueStateApplicator.apply(overdueStateSet.getFirstState(), billingState, overdueable, previousOverdueStateName, nextOverdueState, context);
diff --git a/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapperFactory.java b/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapperFactory.java
index 07bce1a..0ea6f75 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapperFactory.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/wrapper/OverdueWrapperFactory.java
@@ -26,7 +26,6 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.applicator.OverdueStateApplicator;
import com.ning.billing.overdue.calculator.BillingStateCalculatorBundle;
import com.ning.billing.overdue.config.DefaultOverdueState;
@@ -36,6 +35,7 @@ import com.ning.billing.overdue.config.api.OverdueException;
import com.ning.billing.overdue.config.api.OverdueStateSet;
import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
diff --git a/overdue/src/test/java/com/ning/billing/overdue/applicator/ApplicatorMockJunctionModule.java b/overdue/src/test/java/com/ning/billing/overdue/applicator/ApplicatorMockJunctionModule.java
index f336844..0b5702a 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/applicator/ApplicatorMockJunctionModule.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/applicator/ApplicatorMockJunctionModule.java
@@ -22,12 +22,13 @@ import java.util.UUID;
import org.joda.time.DateTime;
import com.ning.billing.junction.api.Blockable;
-import com.ning.billing.junction.api.Blockable.Type;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
+import com.ning.billing.junction.api.Blockable.Type;
import com.ning.billing.mock.glue.MockJunctionModule;
-import com.ning.billing.util.callcontext.CallContext;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
public class ApplicatorMockJunctionModule extends MockJunctionModule {
@@ -40,12 +41,12 @@ public class ApplicatorMockJunctionModule extends MockJunctionModule {
}
@Override
- public BlockingState getBlockingStateFor(final Blockable overdueable, TenantContext context) {
+ public BlockingState getBlockingStateFor(final Blockable overdueable, InternalTenantContext context) {
return new BlockingState() {
@Override
public String getStateName() {
- return BlockingApi.CLEAR_STATE_NAME;
+ return DefaultBlockingState.CLEAR_STATE_NAME;
}
@Override
@@ -88,22 +89,22 @@ public class ApplicatorMockJunctionModule extends MockJunctionModule {
}
@Override
- public BlockingState getBlockingStateFor(final UUID overdueableId, final TenantContext context) {
+ public BlockingState getBlockingStateFor(final UUID overdueableId, final InternalTenantContext context) {
throw new UnsupportedOperationException();
}
@Override
- public List<BlockingState> getBlockingHistory(final Blockable overdueable, final TenantContext context) {
+ public List<BlockingState> getBlockingHistory(final Blockable overdueable, final InternalTenantContext context) {
throw new UnsupportedOperationException();
}
@Override
- public List<BlockingState> getBlockingHistory(final UUID overdueableId, final TenantContext context) {
+ public List<BlockingState> getBlockingHistory(final UUID overdueableId, final InternalTenantContext context) {
throw new UnsupportedOperationException();
}
@Override
- public <T extends Blockable> void setBlockingState(final BlockingState state, final CallContext context) {
+ public <T extends Blockable> void setBlockingState(final BlockingState state, final InternalCallContext context) {
blockingState = state;
}
diff --git a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
index 432e491..8152a14 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/applicator/TestOverdueStateApplicator.java
@@ -16,6 +16,9 @@
package com.ning.billing.overdue.applicator;
+import static com.jayway.awaitility.Awaitility.await;
+import static java.util.concurrent.TimeUnit.SECONDS;
+
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.List;
@@ -27,19 +30,16 @@ import org.testng.Assert;
import org.testng.annotations.Test;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueChangeEvent;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueTestBase;
import com.ning.billing.overdue.config.OverdueConfig;
import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.config.XMLLoader;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
import com.google.inject.Inject;
-import static com.jayway.awaitility.Awaitility.await;
-import static java.util.concurrent.TimeUnit.SECONDS;
-
public class TestOverdueStateApplicator extends OverdueTestBase {
@Inject
OverdueStateApplicator<SubscriptionBundle> applicator;
@@ -64,17 +64,17 @@ public class TestOverdueStateApplicator extends OverdueTestBase {
OverdueState<SubscriptionBundle> state;
state = config.getBundleStateSet().findState("OD1");
- applicator.apply(null, null, bundle, BlockingApi.CLEAR_STATE_NAME, state, internalCallContext);
+ applicator.apply(null, null, bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext);
checkStateApplied(state);
checkBussEvent("OD1");
state = config.getBundleStateSet().findState("OD2");
- applicator.apply(null, null,bundle, BlockingApi.CLEAR_STATE_NAME, state, internalCallContext);
+ applicator.apply(null, null,bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext);
checkStateApplied(state);
checkBussEvent("OD2");
state = config.getBundleStateSet().findState("OD3");
- applicator.apply(null, null, bundle, BlockingApi.CLEAR_STATE_NAME, state, internalCallContext);
+ applicator.apply(null, null, bundle, DefaultBlockingState.CLEAR_STATE_NAME, state, internalCallContext);
checkStateApplied(state);
checkBussEvent("OD3");
bus.stop();
diff --git a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
index c741047..57b83b4 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
@@ -31,30 +31,29 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.api.InvoiceUserApi;
import com.ning.billing.overdue.OverdueTestSuite;
import com.ning.billing.overdue.config.api.BillingState;
import com.ning.billing.util.callcontext.InternalTenantContext;
-import com.ning.billing.util.callcontext.TenantContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcapi.account.AccountInternalApi;
+import com.ning.billing.util.svcapi.invoice.InvoiceInternalApi;
public class TestBillingStateCalculator extends OverdueTestSuite {
Clock clock = new ClockMock();
- InvoiceUserApi invoiceApi = Mockito.mock(InvoiceUserApi.class);
- AccountUserApi accountApi = Mockito.mock(AccountUserApi.class);
+ InvoiceInternalApi invoiceApi = Mockito.mock(InvoiceInternalApi.class);
+ AccountInternalApi accountApi = Mockito.mock(AccountInternalApi.class);
LocalDate now;
@BeforeMethod(groups = "fast")
public void setUp() throws Exception {
final Account account = Mockito.mock(Account.class);
Mockito.when(account.getTimeZone()).thenReturn(DateTimeZone.UTC);
- Mockito.when(accountApi.getAccountById(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(account);
+ Mockito.when(accountApi.getAccountById(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(account);
}
public BillingStateCalculator<SubscriptionBundle> createBSCalc() {
@@ -64,7 +63,7 @@ public class TestBillingStateCalculator extends OverdueTestSuite {
invoices.add(createInvoice(now.plusDays(1), BigDecimal.TEN, null));
invoices.add(createInvoice(now.plusDays(2), new BigDecimal("100.0"), null));
- Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<TenantContext>any())).thenReturn(invoices);
+ Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<InternalTenantContext>any())).thenReturn(invoices);
return new BillingStateCalculator<SubscriptionBundle>(invoiceApi, clock) {
@Override
diff --git a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculatorBundle.java b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculatorBundle.java
index a6b147d..029aba2 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculatorBundle.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculatorBundle.java
@@ -34,17 +34,17 @@ import com.ning.billing.catalog.MockPlan;
import com.ning.billing.catalog.MockPriceList;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PriceList;
-import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.invoice.api.InvoiceUserApi;
import com.ning.billing.overdue.config.api.BillingStateBundle;
import com.ning.billing.overdue.config.api.PaymentResponse;
-import com.ning.billing.util.callcontext.TenantContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
+import com.ning.billing.util.svcapi.entitlement.EntitlementInternalApi;
+import com.ning.billing.util.svcapi.invoice.InvoiceInternalApi;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
@@ -63,15 +63,15 @@ public class TestBillingStateCalculatorBundle extends TestBillingStateCalculator
@Test(groups = "fast")
public void testBillingStateAfterCancellation() throws Exception {
- Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<TenantContext>any())).thenReturn(ImmutableList.<Invoice>of());
+ Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<InternalTenantContext>any())).thenReturn(ImmutableList.<Invoice>of());
final UUID bundleId = UUID.randomUUID();
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
Mockito.when(bundle.getId()).thenReturn(bundleId);
- final EntitlementUserApi entitlementApi = Mockito.mock(EntitlementUserApi.class);
+ final EntitlementInternalApi entitlementApi = Mockito.mock(EntitlementInternalApi.class);
final Subscription subscription = Mockito.mock(Subscription.class);
- Mockito.when(entitlementApi.getBaseSubscription(Mockito.eq(bundleId), Mockito.<TenantContext>any())).thenReturn(subscription);
+ Mockito.when(entitlementApi.getBaseSubscription(Mockito.eq(bundleId), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
final BillingStateCalculatorBundle calc = new BillingStateCalculatorBundle(entitlementApi, invoiceApi, accountApi, clock);
final BillingStateBundle billingStateBundle = calc.calculateBillingState(bundle, internalCallContext);
@@ -96,9 +96,9 @@ public class TestBillingStateCalculatorBundle extends TestBillingStateCalculator
invoices.add(createInvoice(now.plusDays(4), new BigDecimal("10000.00"), createInvoiceItems(new UUID[]{thatBundleId, thisBundleId})));
final Clock clock = new ClockMock();
- final InvoiceUserApi invoiceApi = Mockito.mock(InvoiceUserApi.class);
- final EntitlementUserApi entitlementApi = Mockito.mock(EntitlementUserApi.class);
- Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<TenantContext>any())).thenReturn(Collections2.filter(invoices, new Predicate<Invoice>() {
+ final InvoiceInternalApi invoiceApi = Mockito.mock(InvoiceInternalApi.class);
+ final EntitlementInternalApi entitlementApi = Mockito.mock(EntitlementInternalApi.class);
+ Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<InternalTenantContext>any())).thenReturn(Collections2.filter(invoices, new Predicate<Invoice>() {
@Override
public boolean apply(@Nullable final Invoice invoice) {
return invoice != null && BigDecimal.ZERO.compareTo(invoice.getBalance()) < 0;
@@ -127,16 +127,16 @@ public class TestBillingStateCalculatorBundle extends TestBillingStateCalculator
invoices.add(createInvoice(now.minusDays(1), new BigDecimal("10000.00"), createInvoiceItems(new UUID[]{thatBundleId, thisBundleId})));
final Clock clock = new ClockMock();
- final InvoiceUserApi invoiceApi = Mockito.mock(InvoiceUserApi.class);
- Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<TenantContext>any())).thenReturn(invoices);
+ final InvoiceInternalApi invoiceApi = Mockito.mock(InvoiceInternalApi.class);
+ Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<InternalTenantContext>any())).thenReturn(invoices);
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
Mockito.when(bundle.getId()).thenReturn(thisBundleId);
Mockito.when(bundle.getAccountId()).thenReturn(UUID.randomUUID());
- final EntitlementUserApi entitlementApi = Mockito.mock(EntitlementUserApi.class);
+ final EntitlementInternalApi entitlementApi = Mockito.mock(EntitlementInternalApi.class);
final Subscription subscription = Mockito.mock(Subscription.class);
- Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscription);
+ Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
final Plan plan = MockPlan.createBicycleNoTrialEvergreen1USD();
final PriceList pricelist = new MockPriceList();
@@ -168,16 +168,16 @@ public class TestBillingStateCalculatorBundle extends TestBillingStateCalculator
final List<Invoice> invoices = new ArrayList<Invoice>(5);
final Clock clock = new ClockMock();
- final InvoiceUserApi invoiceApi = Mockito.mock(InvoiceUserApi.class);
- Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<TenantContext>any())).thenReturn(invoices);
+ final InvoiceInternalApi invoiceApi = Mockito.mock(InvoiceInternalApi.class);
+ Mockito.when(invoiceApi.getUnpaidInvoicesByAccountId(Mockito.<UUID>any(), Mockito.<LocalDate>any(), Mockito.<InternalTenantContext>any())).thenReturn(invoices);
final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
Mockito.when(bundle.getId()).thenReturn(thisBundleId);
Mockito.when(bundle.getAccountId()).thenReturn(UUID.randomUUID());
- final EntitlementUserApi entitlementApi = Mockito.mock(EntitlementUserApi.class);
+ final EntitlementInternalApi entitlementApi = Mockito.mock(EntitlementInternalApi.class);
final Subscription subscription = Mockito.mock(Subscription.class);
- Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<TenantContext>any())).thenReturn(subscription);
+ Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
final Plan plan = MockPlan.createBicycleNoTrialEvergreen1USD();
final PriceList pricelist = new MockPriceList();
diff --git a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
index c3349b8..0570024 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
@@ -36,7 +36,6 @@ import com.ning.billing.catalog.api.CatalogService;
import com.ning.billing.config.CatalogConfig;
import com.ning.billing.config.InvoiceConfig;
import com.ning.billing.dbi.MysqlTestingHelper;
-import com.ning.billing.entitlement.api.billing.ChargeThruApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
@@ -69,6 +68,7 @@ import com.ning.billing.util.globallocker.MySqlGlobalLocker;
import com.ning.billing.util.glue.BusModule;
import com.ning.billing.util.notificationq.DefaultNotificationQueueService;
import com.ning.billing.util.notificationq.NotificationQueueService;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
import com.ning.billing.util.tag.dao.AuditedTagDao;
import com.ning.billing.util.tag.dao.TagDao;
@@ -131,7 +131,7 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
bind(TagDao.class).to(AuditedTagDao.class).asEagerSingleton();
bind(CustomFieldDao.class).to(AuditedCustomFieldDao.class).asEagerSingleton();
bind(GlobalLocker.class).to(MySqlGlobalLocker.class).asEagerSingleton();
- bind(ChargeThruApi.class).toInstance(Mockito.mock(ChargeThruApi.class));
+ bind(ChargeThruInternalApi.class).toInstance(Mockito.mock(ChargeThruInternalApi.class));
install(new MockJunctionModule());
install(new EmailModule());
install(new TemplateModule());
diff --git a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestBase.java b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestBase.java
index 854a89c..64d8524 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestBase.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestBase.java
@@ -43,7 +43,6 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.api.InvoiceUserApi;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.junction.api.BlockingState;
import com.ning.billing.mock.glue.MockClockModule;
import com.ning.billing.mock.glue.MockInvoiceModule;
@@ -64,6 +63,7 @@ import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.CallContextModule;
import com.ning.billing.util.glue.NotificationQueueModule;
import com.ning.billing.util.notificationq.NotificationQueueService.NotificationQueueAlreadyExists;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.Inject;
diff --git a/overdue/src/test/java/com/ning/billing/overdue/wrapper/TestOverdueWrapper.java b/overdue/src/test/java/com/ning/billing/overdue/wrapper/TestOverdueWrapper.java
index 7eec80d..be25940 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/wrapper/TestOverdueWrapper.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/wrapper/TestOverdueWrapper.java
@@ -23,11 +23,11 @@ import org.testng.Assert;
import org.testng.annotations.Test;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.junction.api.BlockingApi;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueTestBase;
import com.ning.billing.overdue.config.OverdueConfig;
import com.ning.billing.util.config.XMLLoader;
+import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
public class TestOverdueWrapper extends OverdueTestBase {
@Test(groups = "slow")
@@ -69,7 +69,7 @@ public class TestOverdueWrapper extends OverdueTestBase {
final InputStream is = new ByteArrayInputStream(configXml.getBytes());
config = XMLLoader.getObjectFromStreamNoValidation(is, OverdueConfig.class);
- state = config.getBundleStateSet().findState(BlockingApi.CLEAR_STATE_NAME);
+ state = config.getBundleStateSet().findState(DefaultBlockingState.CLEAR_STATE_NAME);
bundle = createBundle(clock.getUTCToday().minusDays(31));
wrapper = overdueWrapperFactory.createOverdueWrapperFor(bundle);
final OverdueState<SubscriptionBundle> result = wrapper.refresh(internalCallContext);
diff --git a/util/src/main/java/com/ning/billing/util/svcapi/account/AccountInternalApi.java b/util/src/main/java/com/ning/billing/util/svcapi/account/AccountInternalApi.java
new file mode 100644
index 0000000..775956c
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/svcapi/account/AccountInternalApi.java
@@ -0,0 +1,31 @@
+/*
+ * 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.util.svcapi.account;
+
+import java.util.UUID;
+
+import com.ning.billing.account.api.Account;
+import com.ning.billing.account.api.AccountApiException;
+import com.ning.billing.account.api.AccountData;
+import com.ning.billing.util.callcontext.InternalCallContext;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+
+public interface AccountInternalApi {
+
+ public Account getAccountById(UUID accountId, InternalTenantContext context) throws AccountApiException;
+
+ public void updateAccount(String key, AccountData accountData, InternalCallContext context) throws AccountApiException;
+}
diff --git a/util/src/main/java/com/ning/billing/util/svcapi/entitlement/EntitlementInternalApi.java b/util/src/main/java/com/ning/billing/util/svcapi/entitlement/EntitlementInternalApi.java
new file mode 100644
index 0000000..9675002
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/svcapi/entitlement/EntitlementInternalApi.java
@@ -0,0 +1,39 @@
+/*
+ * 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.util.svcapi.entitlement;
+
+import java.util.List;
+import java.util.UUID;
+
+import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
+import com.ning.billing.entitlement.api.user.Subscription;
+import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+
+
+public interface EntitlementInternalApi {
+
+ public List<SubscriptionBundle> getBundlesForAccount(UUID accountId, InternalTenantContext context);
+
+ public List<Subscription> getSubscriptionsForBundle(UUID bundleId, InternalTenantContext context);
+
+ public Subscription getBaseSubscription(UUID bundleId, InternalTenantContext context) throws EntitlementUserApiException;
+
+ public Subscription getSubscriptionFromId(UUID id, InternalTenantContext context) throws EntitlementUserApiException;
+
+ public SubscriptionBundle getBundleFromId(UUID id, InternalTenantContext context) throws EntitlementUserApiException;
+
+}
diff --git a/util/src/main/java/com/ning/billing/util/svcapi/invoice/InvoiceInternalApi.java b/util/src/main/java/com/ning/billing/util/svcapi/invoice/InvoiceInternalApi.java
new file mode 100644
index 0000000..92242f6
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/svcapi/invoice/InvoiceInternalApi.java
@@ -0,0 +1,30 @@
+/*
+ * 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.util.svcapi.invoice;
+
+import java.util.Collection;
+import java.util.UUID;
+
+import org.joda.time.LocalDate;
+
+import com.ning.billing.invoice.api.Invoice;
+import com.ning.billing.util.callcontext.InternalTenantContext;
+
+public interface InvoiceInternalApi {
+
+ public Collection<Invoice> getUnpaidInvoicesByAccountId(UUID accountId, LocalDate upToDate, InternalTenantContext context);
+
+}
diff --git a/util/src/main/java/com/ning/billing/util/svcapi/tag/TagInternalApi.java b/util/src/main/java/com/ning/billing/util/svcapi/tag/TagInternalApi.java
new file mode 100644
index 0000000..c5b9dbe
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/svcapi/tag/TagInternalApi.java
@@ -0,0 +1,28 @@
+/*
+ * 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.util.svcapi.tag;
+
+import java.util.Map;
+import java.util.UUID;
+
+import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.dao.ObjectType;
+import com.ning.billing.util.tag.Tag;
+
+public interface TagInternalApi {
+
+ public Map<String, Tag> getTags(UUID objectId, ObjectType objectType, InternalTenantContext context);
+}
diff --git a/util/src/test/java/com/ning/billing/mock/glue/MockEntitlementModule.java b/util/src/test/java/com/ning/billing/mock/glue/MockEntitlementModule.java
index c7b2ac3..18d2be2 100644
--- a/util/src/test/java/com/ning/billing/mock/glue/MockEntitlementModule.java
+++ b/util/src/test/java/com/ning/billing/mock/glue/MockEntitlementModule.java
@@ -19,13 +19,13 @@ package com.ning.billing.mock.glue;
import org.mockito.Mockito;
import com.ning.billing.entitlement.api.EntitlementService;
-import com.ning.billing.entitlement.api.billing.ChargeThruApi;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi;
import com.ning.billing.entitlement.api.timeline.EntitlementTimelineApi;
import com.ning.billing.entitlement.api.transfer.EntitlementTransferApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.glue.EntitlementModule;
import com.ning.billing.util.glue.RealImplementation;
+import com.ning.billing.util.svcapi.entitlement.ChargeThruInternalApi;
import com.google.inject.AbstractModule;
@@ -47,7 +47,7 @@ public class MockEntitlementModule extends AbstractModule implements Entitlement
@Override
public void installChargeThruApi() {
- bind(ChargeThruApi.class).toInstance(Mockito.mock(ChargeThruApi.class));
+ bind(ChargeThruInternalApi.class).toInstance(Mockito.mock(ChargeThruInternalApi.class));
}
@Override
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 d74f00a..86f8af4 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
@@ -21,13 +21,13 @@ import org.mockito.Mockito;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.glue.JunctionModule;
-import com.ning.billing.junction.api.BillingApi;
-import com.ning.billing.junction.api.BlockingApi;
+import com.ning.billing.util.svcapi.junction.BillingInternalApi;
+import com.ning.billing.util.svcapi.junction.BlockingApi;
import com.google.inject.AbstractModule;
public class MockJunctionModule extends AbstractModule implements JunctionModule {
- private final BillingApi billingApi = Mockito.mock(BillingApi.class);
+ private final BillingInternalApi billingApi = Mockito.mock(BillingInternalApi.class);
private final BlockingApi blockingApi = Mockito.mock(BlockingApi.class);
private final AccountUserApi userApi = Mockito.mock(AccountUserApi.class);
private final EntitlementUserApi entUserApi = Mockito.mock(EntitlementUserApi.class);
@@ -42,7 +42,7 @@ public class MockJunctionModule extends AbstractModule implements JunctionModule
@Override
public void installBillingApi() {
- bind(BillingApi.class).toInstance(billingApi);
+ bind(BillingInternalApi.class).toInstance(billingApi);
}
@Override