killbill-aplcache

payment: remove legacy NoOpPaymentPluginApi Signed-off-by:

10/8/2015 3:10:23 PM

Changes

api/src/main/java/org/killbill/billing/payment/plugin/api/NoOpPaymentPluginApi.java 33(+0 -33)

payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java 289(+0 -289)

payment/src/main/java/org/killbill/billing/payment/provider/NoOpPaymentProviderPluginModule.java 42(+0 -42)

payment/src/main/java/org/killbill/billing/payment/provider/NoOpPaymentProviderPluginProvider.java 62(+0 -62)

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
index 788bb28..840defd 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
@@ -29,11 +29,11 @@ import org.killbill.billing.payment.api.PluginProperty;
 import org.killbill.billing.payment.api.TransactionType;
 import org.killbill.billing.payment.plugin.api.GatewayNotification;
 import org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor;
-import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
 import org.killbill.billing.payment.plugin.api.PaymentMethodInfoPlugin;
 import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentPluginApiException;
 import org.killbill.billing.payment.plugin.api.PaymentPluginStatus;
+import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
 import org.killbill.billing.util.callcontext.CallContext;
 import org.killbill.billing.util.callcontext.TenantContext;
 import org.killbill.billing.util.entity.DefaultPagination;
@@ -41,14 +41,11 @@ import org.killbill.billing.util.entity.Pagination;
 import org.killbill.clock.Clock;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterators;
+import com.google.common.collect.ImmutableSet;
 import com.google.inject.Inject;
 
 /**
  * Special plugin used to record external payments (i.e. payments not issued by Killbill), such as checks.
- * <p/>
- * The implementation is very similar to the no-op plugin, which it extends. This can potentially be an issue
- * if Killbill is processing a lot of external payments as they are all kept in memory.
  */
 public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
 
@@ -88,18 +85,17 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
 
     @Override
     public List<PaymentTransactionInfoPlugin> getPaymentInfo(final UUID kbAccountId, final UUID kbPaymentId, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentPluginApiException {
-        // TODO broken...
         return ImmutableList.of();
     }
 
     @Override
     public Pagination<PaymentTransactionInfoPlugin> searchPayments(final String searchKey, final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext tenantContext) throws PaymentPluginApiException {
-        return new DefaultPagination<PaymentTransactionInfoPlugin>(offset, limit, 0L, 0L, Iterators.<PaymentTransactionInfoPlugin>emptyIterator());
+        return new DefaultPagination<PaymentTransactionInfoPlugin>(offset, limit, 0L, 0L, ImmutableSet.<PaymentTransactionInfoPlugin>of().iterator());
     }
 
     @Override
     public PaymentTransactionInfoPlugin refundPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.REFUND, BigDecimal.ZERO, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.REFUND, refundAmount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
     }
 
     @Override
@@ -126,7 +122,7 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
 
     @Override
     public Pagination<PaymentMethodPlugin> searchPaymentMethods(final String searchKey, final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext tenantContext) throws PaymentPluginApiException {
-        return new DefaultPagination<PaymentMethodPlugin>(offset, limit, 0L, 0L, Iterators.<PaymentMethodPlugin>emptyIterator());
+        return new DefaultPagination<PaymentMethodPlugin>(offset, limit, 0L, 0L, ImmutableSet.<PaymentMethodPlugin>of().iterator());
     }
 
     @Override
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
index f3b7088..102097d 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
@@ -34,8 +34,8 @@ import org.killbill.billing.payment.api.TestPaymentMethodPlugin;
 import org.killbill.billing.payment.api.TransactionType;
 import org.killbill.billing.payment.plugin.api.GatewayNotification;
 import org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor;
-import org.killbill.billing.payment.plugin.api.NoOpPaymentPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentMethodInfoPlugin;
+import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentPluginApiException;
 import org.killbill.billing.payment.plugin.api.PaymentPluginStatus;
 import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
@@ -54,7 +54,7 @@ import com.google.inject.Inject;
  * This MockPaymentProviderPlugin only works for a single accounts as we don't specify the accountId
  * for operations such as addPaymentMethod.
  */
-public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
+public class MockPaymentProviderPlugin implements PaymentPluginApi {
 
     public static final String PLUGIN_PROPERTY_PAYMENT_PLUGIN_STATUS_OVERRIDE = "paymentPluginStatusOverride";
 
@@ -182,7 +182,6 @@ public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
         clear();
     }
 
-    @Override
     public void clear() {
         makeNextInvoiceFailWithException.set(false);
         makeAllInvoicesFailWithError.set(false);
@@ -193,22 +192,18 @@ public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
         paymentMethodsInfo.clear();
     }
 
-    @Override
     public void makeNextPaymentFailWithError() {
         makeNextInvoiceFailWithError.set(true);
     }
 
-    @Override
     public void makeNextPaymentFailWithException() {
         makeNextInvoiceFailWithException.set(true);
     }
 
-    @Override
     public void makeAllInvoicesFailWithError(final boolean failure) {
         makeAllInvoicesFailWithError.set(failure);
     }
 
-    @Override
     public void updatePaymentTransactions(final UUID paymentId, final List<PaymentTransactionInfoPlugin> newTransactions) {
         if (paymentTransactions.containsKey(paymentId.toString())) {
             paymentTransactions.put (paymentId.toString(), newTransactions);