killbill-memoizeit
Changes
payment/src/main/java/org/killbill/billing/payment/api/svcs/DefaultInvoicePaymentInternalApi.java 6(+3 -3)
Details
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/api/svcs/DefaultInvoiceInternalApi.java b/invoice/src/main/java/org/killbill/billing/invoice/api/svcs/DefaultInvoiceInternalApi.java
index 1460429..0f2cba2 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/api/svcs/DefaultInvoiceInternalApi.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/api/svcs/DefaultInvoiceInternalApi.java
@@ -220,6 +220,6 @@ public class DefaultInvoiceInternalApi implements InvoiceInternalApi {
@Override
public InvoicePayment getInvoicePaymentByCookieId(final String cookieId, final TenantContext context) {
final InvoicePaymentModelDao invoicePaymentModelDao = dao.getInvoicePaymentByCookieId(cookieId, internalCallContextFactory.createInternalTenantContext(context.getAccountId(), ObjectType.ACCOUNT, context));
- return new DefaultInvoicePayment(invoicePaymentModelDao);
+ return invoicePaymentModelDao == null ? null : new DefaultInvoicePayment(invoicePaymentModelDao);
}
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/api/svcs/DefaultInvoicePaymentInternalApi.java b/payment/src/main/java/org/killbill/billing/payment/api/svcs/DefaultInvoicePaymentInternalApi.java
index 9f99f7b..bf91b44 100644
--- a/payment/src/main/java/org/killbill/billing/payment/api/svcs/DefaultInvoicePaymentInternalApi.java
+++ b/payment/src/main/java/org/killbill/billing/payment/api/svcs/DefaultInvoicePaymentInternalApi.java
@@ -95,11 +95,11 @@ public class DefaultInvoicePaymentInternalApi extends DefaultApiBase implements
}
pluginProperties.add(new PluginProperty("IPCD_INVOICE_ID", invoiceId.toString(), false));
- // TODO should we add paymentConfig.getPaymentControlPluginNames(internalTenantContext)?
- final List<String> paymentControlPluginNames = InvoicePaymentPaymentOptions.create(paymentOptions).getPaymentControlPluginNames();
-
final CallContext callContext = internalCallContextFactory.createCallContext(internalCallContext);
+ final List<String> defaultOrUserSpecifiedPaymentControlPluginNames = toPaymentControlPluginNames(paymentOptions, callContext);
+ final List<String> paymentControlPluginNames = InvoicePaymentPaymentOptions.addInvoicePaymentControlPlugin(defaultOrUserSpecifiedPaymentControlPluginNames);
+
final UUID resolvedPaymentMethodId = (paymentMethodId == null && paymentOptions.isExternalPayment()) ?
paymentMethodProcessor.createOrGetExternalPaymentMethod(UUIDs.randomUUID().toString(), account, pluginProperties, callContext, internalCallContext) :
paymentMethodId;
diff --git a/payment/src/main/java/org/killbill/billing/payment/api/svcs/InvoicePaymentPaymentOptions.java b/payment/src/main/java/org/killbill/billing/payment/api/svcs/InvoicePaymentPaymentOptions.java
index f6e81c8..ad2c6d3 100644
--- a/payment/src/main/java/org/killbill/billing/payment/api/svcs/InvoicePaymentPaymentOptions.java
+++ b/payment/src/main/java/org/killbill/billing/payment/api/svcs/InvoicePaymentPaymentOptions.java
@@ -17,6 +17,7 @@
package org.killbill.billing.payment.api.svcs;
+import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
@@ -34,13 +35,18 @@ public class InvoicePaymentPaymentOptions implements PaymentOptions {
}
public static InvoicePaymentPaymentOptions create(final PaymentOptions paymentOptions) {
+ final List<String> controlPluginNamesFromUser = paymentOptions.getPaymentControlPluginNames();
+ final List<String> paymentControlPluginNames = addInvoicePaymentControlPlugin(controlPluginNamesFromUser);
+ return new InvoicePaymentPaymentOptions(paymentOptions.isExternalPayment(), paymentControlPluginNames);
+ }
+
+ public static List<String> addInvoicePaymentControlPlugin(final Collection<String> controlPluginNamesFromUser) {
final List<String> paymentControlPluginNames = new LinkedList<String>();
- paymentControlPluginNames.addAll(paymentOptions.getPaymentControlPluginNames());
+ paymentControlPluginNames.addAll(controlPluginNamesFromUser);
if (!paymentControlPluginNames.contains(InvoicePaymentControlPluginApi.PLUGIN_NAME)) {
paymentControlPluginNames.add(InvoicePaymentControlPluginApi.PLUGIN_NAME);
}
-
- return new InvoicePaymentPaymentOptions(paymentOptions.isExternalPayment(), paymentControlPluginNames);
+ return paymentControlPluginNames;
}
@Override
diff --git a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
index c4ca078..530530f 100644
--- a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
+++ b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
@@ -66,6 +66,7 @@ public class GuicyKillbillTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite
}
cleanupAllTables();
+ callContext.setDelegate(null, internalCallContext);
controlCacheDispatcher.clearAll();
}