killbill-memoizeit

Changes in PaymentControlPluginApi Fix missing dependency

10/17/2014 1:42:54 PM

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java b/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
index 897f23c..68483dd 100644
--- a/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
+++ b/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
@@ -110,7 +110,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
     }
 
     @Override
-    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
 
         final TransactionType transactionType = paymentControlContext.getTransactionType();
         Preconditions.checkArgument(transactionType == TransactionType.PURCHASE ||
@@ -131,7 +131,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
     }
 
     @Override
-    public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public void onSuccessCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
 
         final TransactionType transactionType = paymentControlContext.getTransactionType();
         Preconditions.checkArgument(transactionType == TransactionType.PURCHASE ||
@@ -188,7 +188,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
     }
 
     @Override
-    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext) throws
+    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws
                                                                                               PaymentControlApiException {
 
         final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccountId(), paymentControlContext);
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
index 7d9acdf..64cf0ba 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
@@ -180,7 +180,7 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
             final PaymentControlPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
             if (plugin != null) {
                 try {
-                    plugin.onSuccessCall(paymentControlContext);
+                    plugin.onSuccessCall(paymentControlContext, paymentStateContext.getProperties());
                 } catch (final PaymentControlApiException e) {
                     logger.warn("Plugin " + pluginName + " failed to complete onCompletion call for " + paymentControlContext.getPaymentExternalKey(), e);
                 }
@@ -222,7 +222,7 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
                 logger.warn("Skipping payment plugin control {} when fetching results", pluginName);
                 continue;
             }
-            prevResult = plugin.priorCall(inputPaymentControlContext);
+            prevResult = plugin.priorCall(inputPaymentControlContext, paymentStateContext.getProperties());
             if (prevResult.isAborted()) {
                 break;
             }
@@ -259,7 +259,7 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
             final PaymentControlPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
             if (plugin != null) {
                 try {
-                    final FailureCallResult result = plugin.onFailureCall(paymentControlContext);
+                    final FailureCallResult result = plugin.onFailureCall(paymentControlContext, paymentStateContext.getProperties());
                     if (candidate == null) {
                         candidate = result.getNextRetryDate();
                     } else if (result.getNextRetryDate() != null) {
@@ -383,5 +383,25 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
         public Iterable<PluginProperty> getPluginProperties() {
             return properties;
         }
+
+        @Override
+        public String toString() {
+            return "DefaultPaymentControlContext{" +
+                   "account=" + account +
+                   ", paymentMethodId=" + paymentMethodId +
+                   ", attemptId=" + attemptId +
+                   ", paymentId=" + paymentId +
+                   ", paymentExternalKey='" + paymentExternalKey + '\'' +
+                   ", transactionId=" + transactionId +
+                   ", transactionExternalKey='" + transactionExternalKey + '\'' +
+                   ", transactionType=" + transactionType +
+                   ", amount=" + amount +
+                   ", currency=" + currency +
+                   ", processedAmount=" + processedAmount +
+                   ", processedCurrency=" + processedCurrency +
+                   ", isApiPayment=" + isApiPayment +
+                   ", properties=" + properties +
+                   '}';
+        }
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
index e6a2fc4..6a398d6 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
@@ -17,6 +17,7 @@
 package org.killbill.billing.payment.provider;
 
 import org.joda.time.DateTime;
+import org.killbill.billing.payment.api.PluginProperty;
 import org.killbill.billing.payment.retry.DefaultFailureCallResult;
 import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
 import org.killbill.billing.retry.plugin.api.FailureCallResult;
@@ -32,16 +33,16 @@ public class DefaultNoOpPaymentControlProviderPlugin implements PaymentControlPl
     private DateTime nextRetryDate;
 
     @Override
-    public PriorPaymentControlResult priorCall(final PaymentControlContext retryPluginContext) throws PaymentControlApiException {
+    public PriorPaymentControlResult priorCall(final PaymentControlContext retryPluginContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
         return new DefaultPriorPaymentControlResult(isRetryAborted, null, null, null);
     }
 
     @Override
-    public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public void onSuccessCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
     }
 
     @Override
-    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
         return new DefaultFailureCallResult(nextRetryDate);
     }
 
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
index 2d82d9f..7a49679 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
@@ -16,6 +16,7 @@
 
 package org.killbill.billing.payment.provider;
 
+import org.killbill.billing.payment.api.PluginProperty;
 import org.killbill.billing.payment.retry.DefaultFailureCallResult;
 import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
 import org.killbill.billing.retry.plugin.api.FailureCallResult;
@@ -29,17 +30,17 @@ public class DefaultPaymentControlProviderPlugin implements PaymentControlPlugin
     public static final String PLUGIN_NAME = "__DEFAULT_PAYMENT_CONTROL__";
 
     @Override
-    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
         return new DefaultPriorPaymentControlResult(false, null, null, null);
     }
 
     @Override
-    public void onSuccessCall(final PaymentControlContext paymentControlContext) {
+    public void onSuccessCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) {
 
     }
 
     @Override
-    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext) {
+    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) {
         return new DefaultFailureCallResult(null);
     }
 }
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
index 6a6e347..f3dd18f 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
@@ -17,6 +17,7 @@
 package org.killbill.billing.payment.provider;
 
 import org.joda.time.DateTime;
+import org.killbill.billing.payment.api.PluginProperty;
 import org.killbill.billing.payment.retry.DefaultFailureCallResult;
 import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
 import org.killbill.billing.retry.plugin.api.FailureCallResult;
@@ -43,17 +44,17 @@ public class MockPaymentControlProviderPlugin implements PaymentControlPluginApi
     }
 
     @Override
-    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException{
+    public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException{
         return new DefaultPriorPaymentControlResult(isAborted, null, null, null);
     }
 
     @Override
-    public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public void onSuccessCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
 
     }
 
     @Override
-    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+    public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext, Iterable<PluginProperty> properties) throws PaymentControlApiException {
         return new DefaultFailureCallResult(nextRetryDate);
     }
 }

pom.xml 2(+1 -1)

diff --git a/pom.xml b/pom.xml
index 77ae8ff..a9b376f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>killbill-oss-parent</artifactId>
         <groupId>org.kill-bill.billing</groupId>
-        <version>0.7.31-SNAPSHOT</version>
+        <version>0.8.2</version>
     </parent>
     <artifactId>killbill</artifactId>
     <version>0.11.13-SNAPSHOT</version>
diff --git a/profiles/killbill/pom.xml b/profiles/killbill/pom.xml
index f8b53a0..467bc59 100644
--- a/profiles/killbill/pom.xml
+++ b/profiles/killbill/pom.xml
@@ -211,6 +211,10 @@
         </dependency>
         <dependency>
             <groupId>org.kill-bill.billing</groupId>
+            <artifactId>killbill-platform-osgi-bundles-lib-killbill</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.kill-bill.billing</groupId>
             <artifactId>killbill-platform-server</artifactId>
             <classifier>classes</classifier>
         </dependency>