killbill-memoizeit

payment: trivial cleanups Signed-off-by: Pierre-Alexandre

12/15/2014 7:59:08 PM

Changes

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/core/PluginRoutingPaymentProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/PluginRoutingPaymentProcessor.java
index a1c4e75..79be2f0 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/PluginRoutingPaymentProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/PluginRoutingPaymentProcessor.java
@@ -17,6 +17,7 @@
 package org.killbill.billing.payment.core;
 
 import java.math.BigDecimal;
+import java.util.Collection;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.ExecutorService;
@@ -88,124 +89,123 @@ public class PluginRoutingPaymentProcessor extends ProcessorBase {
     }
 
     public Payment createAuthorization(final boolean isApiPayment, final Account account, final UUID paymentMethodId, @Nullable final UUID paymentId, final BigDecimal amount, final Currency currency, final String paymentExternalKey, final String transactionExternalKey,
-                                             final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                       final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.AUTHORIZE,
-                                                                account,
-                                                                paymentMethodId,
-                                                                paymentId,
-                                                                paymentExternalKey,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                properties,
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.AUTHORIZE,
+                                                          account,
+                                                          paymentMethodId,
+                                                          paymentId,
+                                                          paymentExternalKey,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          properties,
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createCapture(final boolean isApiPayment, final Account account, final UUID paymentId, final BigDecimal amount, final Currency currency,
-                                       final String transactionExternalKey,
-                                       final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames,
-                                       final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                 final String transactionExternalKey,
+                                 final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames,
+                                 final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.CAPTURE,
-                                                                account,
-                                                                null,
-                                                                paymentId,
-                                                                null,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                properties,
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.CAPTURE,
+                                                          account,
+                                                          null,
+                                                          paymentId,
+                                                          null,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          properties,
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createPurchase(final boolean isApiPayment, final Account account, final UUID paymentMethodId, final UUID paymentId, final BigDecimal amount, final Currency currency,
-                                        final String paymentExternalKey, final String transactionExternalKey, final Iterable<PluginProperty> properties,
-                                        final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                  final String paymentExternalKey, final String transactionExternalKey, final Iterable<PluginProperty> properties,
+                                  final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.PURCHASE,
-                                                                account,
-                                                                paymentMethodId,
-                                                                paymentId,
-                                                                paymentExternalKey,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                properties,
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.PURCHASE,
+                                                          account,
+                                                          paymentMethodId,
+                                                          paymentId,
+                                                          paymentExternalKey,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          properties,
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createVoid(final boolean isApiPayment, final Account account, final UUID paymentId, final String transactionExternalKey,
-                                    final Iterable<PluginProperty> properties, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                              final Iterable<PluginProperty> properties, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.VOID,
-                                                                account,
-                                                                null,
-                                                                paymentId,
-                                                                null,
-                                                                transactionExternalKey,
-                                                                null,
-                                                                null,
-                                                                properties,
-                                                                null,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.VOID,
+                                                          account,
+                                                          null,
+                                                          paymentId,
+                                                          null,
+                                                          transactionExternalKey,
+                                                          null,
+                                                          null,
+                                                          properties,
+                                                          null,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createRefund(final boolean isApiPayment, final Account account, final UUID paymentId, final BigDecimal amount, final Currency currency, final String transactionExternalKey,
-                                      final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.REFUND,
-                                                                account,
-                                                                null,
-                                                                paymentId,
-                                                                null,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                properties,
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.REFUND,
+                                                          account,
+                                                          null,
+                                                          paymentId,
+                                                          null,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          properties,
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createCredit(final boolean isApiPayment, final Account account, final UUID paymentMethodId, final UUID paymentId, final BigDecimal amount, final Currency currency, final String paymentExternalKey,
-                                      final String transactionExternalKey, final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                final String transactionExternalKey, final Iterable<PluginProperty> properties, final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
 
         return pluginControlledPaymentAutomatonRunner.run(isApiPayment,
-                                                                TransactionType.CREDIT,
-                                                                account,
-                                                                paymentMethodId,
-                                                                paymentId,
-                                                                paymentExternalKey,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                properties,
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.CREDIT,
+                                                          account,
+                                                          paymentMethodId,
+                                                          paymentId,
+                                                          paymentExternalKey,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          properties,
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public Payment createChargeback(final Account account, final UUID paymentId, final String transactionExternalKey, final BigDecimal amount, final Currency currency,
-                                          final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+                                    final List<String> paymentControlPluginNames, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
         return pluginControlledPaymentAutomatonRunner.run(true,
-                                                                TransactionType.CHARGEBACK,
-                                                                account,
-                                                                null,
-                                                                paymentId,
-                                                                null,
-                                                                transactionExternalKey,
-                                                                amount,
-                                                                currency,
-                                                                ImmutableList.<PluginProperty>of(),
-                                                                paymentControlPluginNames,
-                                                                callContext, internalCallContext);
+                                                          TransactionType.CHARGEBACK,
+                                                          account,
+                                                          null,
+                                                          paymentId,
+                                                          null,
+                                                          transactionExternalKey,
+                                                          amount,
+                                                          currency,
+                                                          ImmutableList.<PluginProperty>of(),
+                                                          paymentControlPluginNames,
+                                                          callContext, internalCallContext);
     }
 
     public void retryPaymentTransaction(final UUID attemptId, final List<String> paymentControlPluginNames, final InternalCallContext internalCallContext) {
         try {
-
             final PaymentAttemptModelDao attempt = paymentDao.getPaymentAttempt(attemptId, internalCallContext);
             final PaymentModelDao payment = paymentDao.getPaymentByExternalKey(attempt.getPaymentExternalKey(), internalCallContext);
             final UUID paymentId = payment != null ? payment.getId() : null;
@@ -217,39 +217,35 @@ public class PluginRoutingPaymentProcessor extends ProcessorBase {
 
             final State state = retrySMHelper.getState(attempt.getStateName());
             pluginControlledPaymentAutomatonRunner.run(state,
-                                                             false,
-                                                             attempt.getTransactionType(),
-                                                             account,
-                                                             attempt.getPaymentMethodId(),
-                                                             paymentId,
-                                                             attempt.getPaymentExternalKey(),
-                                                             attempt.getTransactionExternalKey(),
-                                                             attempt.getAmount(),
-                                                             attempt.getCurrency(),
-                                                             pluginProperties,
-                                                             paymentControlPluginNames,
-                                                             callContext,
-                                                             internalCallContext);
-
-        } catch (AccountApiException e) {
+                                                       false,
+                                                       attempt.getTransactionType(),
+                                                       account,
+                                                       attempt.getPaymentMethodId(),
+                                                       paymentId,
+                                                       attempt.getPaymentExternalKey(),
+                                                       attempt.getTransactionExternalKey(),
+                                                       attempt.getAmount(),
+                                                       attempt.getCurrency(),
+                                                       pluginProperties,
+                                                       paymentControlPluginNames,
+                                                       callContext,
+                                                       internalCallContext);
+
+        } catch (final AccountApiException e) {
             log.warn("Failed to retry attempt " + attemptId + toPluginNamesOnError(" for plugins ", paymentControlPluginNames), e);
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             log.warn("Failed to retry attempt " + attemptId + toPluginNamesOnError(" for plugins ", paymentControlPluginNames), e);
-        } catch (PluginPropertySerializerException e) {
+        } catch (final PluginPropertySerializerException e) {
             log.warn("Failed to retry attempt " + attemptId + toPluginNamesOnError(" for plugins ", paymentControlPluginNames), e);
-        } catch (MissingEntryException e) {
+        } catch (final MissingEntryException e) {
             log.warn("Failed to retry attempt " + attemptId + toPluginNamesOnError(" for plugins ", paymentControlPluginNames), e);
         }
     }
 
-    private String toPluginNamesOnError(final String prefixMessage, final List<String> paymentControlPluginNames) {
-        if (paymentControlPluginNames == null || paymentControlPluginNames.size() == 0) {
+    private String toPluginNamesOnError(final String prefixMessage, final Collection<String> paymentControlPluginNames) {
+        if (paymentControlPluginNames == null || paymentControlPluginNames.isEmpty()) {
             return "";
         }
-        final StringBuilder tmp = new StringBuilder(prefixMessage)
-                .append("(")
-                .append(JOINER.join(paymentControlPluginNames))
-                .append(")");
-        return tmp.toString();
+        return prefixMessage + "(" + JOINER.join(paymentControlPluginNames) + ")";
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/ChargebackOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/ChargebackOperation.java
index 04afc77..d328dd3 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/ChargebackOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/ChargebackOperation.java
@@ -68,13 +68,13 @@ public class ChargebackOperation extends PaymentOperation {
             status = PaymentPluginStatus.PROCESSED;
         }
         return new DefaultNoOpPaymentInfoPlugin(paymentStateContext.getPaymentId(),
-                                                 paymentStateContext.getTransactionId(),
-                                                 TransactionType.CHARGEBACK,
-                                                 paymentStateContext.getAmount(),
-                                                 paymentStateContext.getCurrency(),
-                                                 null,
-                                                 null,
-                                                 status,
-                                                 null);
+                                                paymentStateContext.getTransactionId(),
+                                                TransactionType.CHARGEBACK,
+                                                paymentStateContext.getAmount(),
+                                                paymentStateContext.getCurrency(),
+                                                null,
+                                                null,
+                                                status,
+                                                null);
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonDAOHelper.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonDAOHelper.java
index 55fcb3f..4f72dae 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonDAOHelper.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonDAOHelper.java
@@ -25,17 +25,11 @@ import javax.annotation.Nullable;
 
 import org.joda.time.DateTime;
 import org.killbill.billing.ErrorCode;
-import org.killbill.billing.account.api.Account;
 import org.killbill.billing.callcontext.InternalCallContext;
 import org.killbill.billing.catalog.api.Currency;
-import org.killbill.billing.events.BusInternalEvent;
 import org.killbill.billing.osgi.api.OSGIServiceRegistration;
-import org.killbill.billing.payment.api.DefaultPaymentErrorEvent;
-import org.killbill.billing.payment.api.DefaultPaymentInfoEvent;
-import org.killbill.billing.payment.api.DefaultPaymentPluginErrorEvent;
 import org.killbill.billing.payment.api.PaymentApiException;
 import org.killbill.billing.payment.api.TransactionStatus;
-import org.killbill.billing.payment.api.TransactionType;
 import org.killbill.billing.payment.dao.PaymentDao;
 import org.killbill.billing.payment.dao.PaymentMethodModelDao;
 import org.killbill.billing.payment.dao.PaymentModelDao;
@@ -43,11 +37,9 @@ import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
 import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
 import org.killbill.bus.api.PersistentBus;
-import org.killbill.bus.api.PersistentBus.EventBusException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
 public class PaymentAutomatonDAOHelper {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonRunner.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonRunner.java
index 7d79cfb..aed47f5 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonRunner.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentAutomatonRunner.java
@@ -45,11 +45,11 @@ import org.killbill.billing.osgi.api.OSGIServiceRegistration;
 import org.killbill.billing.payment.api.PaymentApiException;
 import org.killbill.billing.payment.api.PluginProperty;
 import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.invoice.InvoicePaymentRoutingPluginApi;
 import org.killbill.billing.payment.dao.PaymentDao;
 import org.killbill.billing.payment.dao.PaymentModelDao;
 import org.killbill.billing.payment.dispatcher.PluginDispatcher;
 import org.killbill.billing.payment.glue.PaymentModule;
+import org.killbill.billing.payment.invoice.InvoicePaymentRoutingPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
 import org.killbill.billing.util.callcontext.CallContext;
 import org.killbill.billing.util.config.PaymentConfig;
@@ -102,7 +102,6 @@ public class PaymentAutomatonRunner {
                     @Nullable final BigDecimal amount, @Nullable final Currency currency,
                     final boolean shouldLockAccount, final OperationResult overridePluginOperationResult, final Iterable<PluginProperty> properties,
                     final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
-
         final DateTime utcNow = clock.getUTCNow();
 
         final PaymentStateContext paymentStateContext = new PaymentStateContext(isApiPayment, paymentId, transactionId, attemptId, paymentExternalKey, paymentTransactionExternalKey, transactionType,
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentEnteringStateCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentEnteringStateCallback.java
index e31416e..f3a81f7 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentEnteringStateCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentEnteringStateCallback.java
@@ -82,7 +82,7 @@ public abstract class PaymentEnteringStateCallback implements EnteringStateCallb
         // and decides to return null; in all cases this is seen as a PLUGIN_FAILURE
         //
         if (paymentInfoPlugin == null || paymentInfoPlugin.getStatus() == null) {
-                return TransactionStatus.PLUGIN_FAILURE;
+            return TransactionStatus.PLUGIN_FAILURE;
         }
 
         //
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentLeavingStateCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentLeavingStateCallback.java
index 898669e..aa3a58b 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentLeavingStateCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentLeavingStateCallback.java
@@ -54,7 +54,7 @@ public abstract class PaymentLeavingStateCallback implements LeavingStateCallbac
             if (paymentStateContext.getTransactionId() == null) {
                 daoHelper.createNewPaymentTransaction();
             } else {
-                final PaymentTransactionModelDao transactionModelDao =  daoHelper.paymentDao.getPaymentTransaction(paymentStateContext.getTransactionId(), paymentStateContext.getInternalCallContext());
+                final PaymentTransactionModelDao transactionModelDao = daoHelper.paymentDao.getPaymentTransaction(paymentStateContext.getTransactionId(), paymentStateContext.getInternalCallContext());
                 paymentStateContext.setPaymentTransactionModelDao(transactionModelDao);
             }
         } catch (PaymentApiException e) {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
index bc58d65..dfea014 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
@@ -121,7 +121,6 @@ public class PaymentStateMachineHelper {
         }
     }
 
-
     public String getErroredStateForTransaction(final TransactionType transactionType) {
         switch (transactionType) {
             case AUTHORIZE:
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PluginRoutingPaymentAutomatonRunner.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PluginRoutingPaymentAutomatonRunner.java
index 00e4435..1731335 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PluginRoutingPaymentAutomatonRunner.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PluginRoutingPaymentAutomatonRunner.java
@@ -71,7 +71,7 @@ public class PluginRoutingPaymentAutomatonRunner extends PaymentAutomatonRunner 
     @Inject
     public PluginRoutingPaymentAutomatonRunner(@Named(PaymentModule.STATE_MACHINE_PAYMENT) final StateMachineConfig stateMachineConfig, final PaymentDao paymentDao, final GlobalLocker locker, final OSGIServiceRegistration<PaymentPluginApi> pluginRegistry,
                                                final OSGIServiceRegistration<PaymentRoutingPluginApi> retryPluginRegistry, final Clock clock, final PaymentProcessor paymentProcessor, @Named(RETRYABLE_NAMED) final RetryServiceScheduler retryServiceScheduler,
-                                               final PaymentConfig paymentConfig, @com.google.inject.name.Named(PLUGIN_EXECUTOR_NAMED) final ExecutorService executor, PaymentStateMachineHelper paymentSMHelper, RetryStateMachineHelper retrySMHelper, final PersistentBus eventBus) {
+                                               final PaymentConfig paymentConfig, @com.google.inject.name.Named(PLUGIN_EXECUTOR_NAMED) final ExecutorService executor, final PaymentStateMachineHelper paymentSMHelper, final RetryStateMachineHelper retrySMHelper, final PersistentBus eventBus) {
         super(stateMachineConfig, paymentConfig, paymentDao, locker, pluginRegistry, clock, executor, eventBus, paymentSMHelper);
         this.paymentProcessor = paymentProcessor;
         this.paymentControlPluginRegistry = retryPluginRegistry;
@@ -93,23 +93,20 @@ public class PluginRoutingPaymentAutomatonRunner extends PaymentAutomatonRunner 
                        @Nullable final BigDecimal amount, @Nullable final Currency currency,
                        final Iterable<PluginProperty> properties, @Nullable final List<String> paymentControlPluginNames,
                        final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
-
         final RetryablePaymentStateContext paymentStateContext = createContext(isApiPayment, transactionType, account, paymentMethodId,
-                                                                                     paymentId, paymentExternalKey,
-                                                                                     paymentTransactionExternalKey,
-                                                                                     amount, currency,
-                                                                                     properties, paymentControlPluginNames, callContext, internalCallContext);
+                                                                               paymentId, paymentExternalKey,
+                                                                               paymentTransactionExternalKey,
+                                                                               amount, currency,
+                                                                               properties, paymentControlPluginNames, callContext, internalCallContext);
         try {
-
             final OperationCallback callback = createOperationCallback(transactionType, paymentStateContext);
             final LeavingStateCallback leavingStateCallback = new RetryLeavingStateCallback(this, paymentStateContext, paymentDao, retrySMHelper.getInitialState(), retrySMHelper.getRetriedState(), transactionType);
             final EnteringStateCallback enteringStateCallback = new RetryEnteringStateCallback(this, paymentStateContext, retryServiceScheduler);
 
             state.runOperation(retrySMHelper.getRetryOperation(), callback, enteringStateCallback, leavingStateCallback);
-
-        } catch (MissingEntryException e) {
+        } catch (final MissingEntryException e) {
             throw new PaymentApiException(e.getCause(), ErrorCode.PAYMENT_INTERNAL_ERROR, Objects.firstNonNull(e.getMessage(), ""));
-        } catch (OperationException e) {
+        } catch (final OperationException e) {
             if (e.getCause() == null) {
                 // Unclear if we should check whether there is a result that was set and return that result.
                 throw new PaymentApiException(e, ErrorCode.PAYMENT_INTERNAL_ERROR, Objects.firstNonNull(e.getMessage(), ""));
@@ -123,18 +120,15 @@ public class PluginRoutingPaymentAutomatonRunner extends PaymentAutomatonRunner 
     }
 
     public Payment completeRun(final RetryablePaymentStateContext paymentStateContext) throws PaymentApiException {
-
         try {
-
             final OperationCallback callback = new RetryCompletionOperationCallback(locker, paymentPluginDispatcher, paymentStateContext, paymentProcessor, paymentControlPluginRegistry);
             final LeavingStateCallback leavingStateCallback = new RetryNoopLeavingStateCallback();
             final EnteringStateCallback enteringStateCallback = new RetryEnteringStateCallback(this, paymentStateContext, retryServiceScheduler);
 
             retrySMHelper.getInitialState().runOperation(retrySMHelper.getRetryOperation(), callback, enteringStateCallback, leavingStateCallback);
-
-        } catch (MissingEntryException e) {
+        } catch (final MissingEntryException e) {
             throw new PaymentApiException(e.getCause(), ErrorCode.PAYMENT_INTERNAL_ERROR, Objects.firstNonNull(e.getMessage(), ""));
-        } catch (OperationException e) {
+        } catch (final OperationException e) {
             if (e.getCause() == null) {
                 throw new PaymentApiException(e, ErrorCode.PAYMENT_INTERNAL_ERROR, Objects.firstNonNull(e.getMessage(), ""));
             } else if (e.getCause() instanceof PaymentApiException) {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
index 38757f5..446ca21 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
@@ -40,12 +40,12 @@ public class PurchaseOperation extends PaymentOperation {
     protected PaymentTransactionInfoPlugin doCallSpecificOperationCallback() throws PaymentPluginApiException {
         logger.debug("Starting PURCHASE for payment {} ({} {})", paymentStateContext.getPaymentId(), paymentStateContext.getAmount(), paymentStateContext.getCurrency());
         return plugin.purchasePayment(paymentStateContext.getAccount().getId(),
-                                     paymentStateContext.getPaymentId(),
-                                     paymentStateContext.getTransactionId(),
-                                     paymentStateContext.getPaymentMethodId(),
-                                     paymentStateContext.getAmount(),
-                                     paymentStateContext.getCurrency(),
-                                     paymentStateContext.getProperties(),
-                                     paymentStateContext.getCallContext());
+                                      paymentStateContext.getPaymentId(),
+                                      paymentStateContext.getTransactionId(),
+                                      paymentStateContext.getPaymentMethodId(),
+                                      paymentStateContext.getAmount(),
+                                      paymentStateContext.getCurrency(),
+                                      paymentStateContext.getProperties(),
+                                      paymentStateContext.getCallContext());
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryCaptureOperationCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryCaptureOperationCallback.java
index 1e5454e..e9d3a28 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryCaptureOperationCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryCaptureOperationCallback.java
@@ -34,15 +34,15 @@ public class RetryCaptureOperationCallback extends RetryOperationCallback {
     @Override
     protected Payment doCallSpecificOperationCallback() throws PaymentApiException {
         return paymentProcessor.createCapture(retryablePaymentStateContext.isApiPayment(),
-                                                    retryablePaymentStateContext.getAttemptId(),
-                                                    retryablePaymentStateContext.getAccount(),
-                                                    retryablePaymentStateContext.getPaymentMethodId(),
-                                                    retryablePaymentStateContext.getAmount(),
-                                                    retryablePaymentStateContext.getCurrency(),
-                                                    retryablePaymentStateContext.getPaymentTransactionExternalKey(),
-                                                    false,
-                                                    retryablePaymentStateContext.getProperties(),
-                                                    retryablePaymentStateContext.getCallContext(),
-                                                    retryablePaymentStateContext.getInternalCallContext());
+                                              retryablePaymentStateContext.getAttemptId(),
+                                              retryablePaymentStateContext.getAccount(),
+                                              retryablePaymentStateContext.getPaymentMethodId(),
+                                              retryablePaymentStateContext.getAmount(),
+                                              retryablePaymentStateContext.getCurrency(),
+                                              retryablePaymentStateContext.getPaymentTransactionExternalKey(),
+                                              false,
+                                              retryablePaymentStateContext.getProperties(),
+                                              retryablePaymentStateContext.getCallContext(),
+                                              retryablePaymentStateContext.getInternalCallContext());
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryEnteringStateCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryEnteringStateCallback.java
index d0247b6..d2d0ce3 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryEnteringStateCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryEnteringStateCallback.java
@@ -42,7 +42,6 @@ public class RetryEnteringStateCallback implements EnteringStateCallback {
 
     @Override
     public void enteringState(final State state, final OperationCallback operationCallback, final OperationResult operationResult, final LeavingStateCallback leavingStateCallback) {
-
         final PaymentAttemptModelDao attempt = retryablePaymentAutomatonRunner.paymentDao.getPaymentAttempt(paymentStateContext.getAttemptId(), paymentStateContext.internalCallContext);
         final UUID transactionId = paymentStateContext.getCurrentTransaction() != null ?
                                    paymentStateContext.getCurrentTransaction().getId() :
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 c118d18..f25fe62 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
@@ -176,7 +176,7 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
     }
 
     protected void onCompletion(final List<String> paymentControlPluginNames, final PaymentRoutingContext paymentControlContext) {
-        for (String pluginName : paymentControlPluginNames) {
+        for (final String pluginName : paymentControlPluginNames) {
             final PaymentRoutingPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
             if (plugin != null) {
                 try {
@@ -209,17 +209,16 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
     }
 
     private PriorPaymentRoutingResult getPluginResult(final List<String> paymentControlPluginNames, final PaymentRoutingContext paymentControlContextArg) throws PaymentRoutingApiException {
-
         // Return as soon as the first plugin aborts, or the last result for the last plugin
         PriorPaymentRoutingResult prevResult = null;
 
         PaymentRoutingContext inputPaymentRoutingContext = paymentControlContextArg;
 
-        for (String pluginName : paymentControlPluginNames) {
+        for (final String pluginName : paymentControlPluginNames) {
             final PaymentRoutingPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
             if (plugin == null) {
                 // First call to plugin, we log warn, if plugin is not registered
-                logger.warn("Skipping payment plugin invoice {} when fetching results", pluginName);
+                logger.warn("Skipping unknown payment control plugin {} when fetching results", pluginName);
                 continue;
             }
             prevResult = plugin.priorCall(inputPaymentRoutingContext, paymentStateContext.getProperties());
@@ -255,7 +254,7 @@ public abstract class RetryOperationCallback extends OperationCallbackBase<Payme
 
     private DateTime getNextRetryDate(final List<String> paymentControlPluginNames, final PaymentRoutingContext paymentControlContext) {
         DateTime candidate = null;
-        for (String pluginName : paymentControlPluginNames) {
+        for (final String pluginName : paymentControlPluginNames) {
             final PaymentRoutingPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
             if (plugin != null) {
                 try {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryStateMachineHelper.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryStateMachineHelper.java
index 0f261cc..30bb1ed 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryStateMachineHelper.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryStateMachineHelper.java
@@ -37,7 +37,6 @@ public class RetryStateMachineHelper {
     private static final String INIT_STATE_NAME = "INIT";
     private static final String RETRIED_STATE_NAME = "RETRIED";
 
-
     private final StateMachineConfig retryStateMachineConfig;
     private final StateMachine retryStateMachine;
     private final Operation retryOperation;
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptModelDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptModelDao.java
index 85d218a..dfbb709 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptModelDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptModelDao.java
@@ -24,7 +24,6 @@ import javax.annotation.Nullable;
 
 import org.joda.time.DateTime;
 import org.killbill.billing.catalog.api.Currency;
-import org.killbill.billing.entity.EntityBase;
 import org.killbill.billing.payment.api.TransactionType;
 import org.killbill.billing.util.dao.TableName;
 import org.killbill.billing.util.entity.Entity;
@@ -48,13 +47,13 @@ public class PaymentAttemptModelDao extends EntityModelDaoBase implements Entity
     private BigDecimal amount;
     private Currency currency;
     private String pluginName;
-    private byte [] pluginProperties;
+    private byte[] pluginProperties;
 
     public PaymentAttemptModelDao() { /* For the DAO mapper */ }
 
     public PaymentAttemptModelDao(final UUID accountId, final UUID paymentMethodId, final UUID id, @Nullable final DateTime createdDate, @Nullable final DateTime updatedDate,
                                   final String paymentExternalKey, final UUID transactionId, final String transactionExternalKey, final TransactionType transactionType,
-                                  final String stateName, final BigDecimal amount, final Currency currency, final String pluginName, final byte [] pluginProperties) {
+                                  final String stateName, final BigDecimal amount, final Currency currency, final String pluginName, final byte[] pluginProperties) {
         super(id, createdDate, updatedDate);
         this.accountId = accountId;
         this.paymentMethodId = paymentMethodId;
@@ -71,7 +70,7 @@ public class PaymentAttemptModelDao extends EntityModelDaoBase implements Entity
 
     public PaymentAttemptModelDao(final UUID accountId, final UUID paymentMethodId, @Nullable final DateTime createdDate, @Nullable final DateTime updatedDate,
                                   final String paymentExternalKey, final UUID transactionId, final String transactionExternalKey, final TransactionType transactionType, final String stateName,
-                                  final BigDecimal amount, final Currency currency, final List<String> paymentControlPluginNames,  final byte [] pluginProperties) {
+                                  final BigDecimal amount, final Currency currency, final List<String> paymentControlPluginNames, final byte[] pluginProperties) {
         this(accountId, paymentMethodId, UUID.randomUUID(), createdDate, updatedDate, paymentExternalKey, transactionId, transactionExternalKey, transactionType, stateName,
              amount, currency, toPluginNames(paymentControlPluginNames), pluginProperties);
     }
@@ -116,11 +115,11 @@ public class PaymentAttemptModelDao extends EntityModelDaoBase implements Entity
         this.pluginName = pluginName;
     }
 
-    public byte [] getPluginProperties() {
+    public byte[] getPluginProperties() {
         return pluginProperties;
     }
 
-    public void setPluginProperties(final byte [] pluginProperties) {
+    public void setPluginProperties(final byte[] pluginProperties) {
         this.pluginProperties = pluginProperties;
     }
 
@@ -168,7 +167,7 @@ public class PaymentAttemptModelDao extends EntityModelDaoBase implements Entity
         if (pluginName == null) {
             return ImmutableList.<String>of();
         }
-        final String [] parts = pluginName.split(",");
+        final String[] parts = pluginName.split(",");
         return ImmutableList.<String>copyOf(parts);
     }
 
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentModelDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentModelDao.java
index 1fffb07..a670f23 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentModelDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentModelDao.java
@@ -21,7 +21,6 @@ import java.util.UUID;
 import javax.annotation.Nullable;
 
 import org.joda.time.DateTime;
-import org.killbill.billing.entity.EntityBase;
 import org.killbill.billing.payment.api.Payment;
 import org.killbill.billing.util.dao.TableName;
 import org.killbill.billing.util.entity.dao.EntityModelDao;
@@ -40,7 +39,6 @@ public class PaymentModelDao extends EntityModelDaoBase implements EntityModelDa
     private String stateName;
     private String lastSuccessStateName;
 
-
     public PaymentModelDao() { /* For the DAO mapper */ }
 
     public PaymentModelDao(final UUID id, @Nullable final DateTime createdDate, @Nullable final DateTime updatedDate, final UUID accountId,
diff --git a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
index e0fc119..b795594 100644
--- a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
+++ b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
@@ -296,7 +296,7 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
             paymentApi.createPurchaseWithPaymentControl(account, account.getPaymentMethodId(), null, requestedAmount, Currency.USD, paymentExternalKey, transactionExternalKey,
                                                         createPropertiesForInvoice(invoice), INVOICE_PAYMENT, callContext);
             Assert.fail("Unexpected success");
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             assertTrue(e.getCause() instanceof PaymentRoutingApiException);
         }
     }
@@ -377,7 +377,7 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
         try {
             paymentApi.createRefundWithPaymentControl(account, payment.getId(), BigDecimal.TEN, Currency.USD, transactionExternalKey2,
                                                       refundProperties, INVOICE_PAYMENT, callContext);
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             assertTrue(e.getCause() instanceof PaymentRoutingApiException);
         }
     }
@@ -472,7 +472,7 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
             paymentApi.createPurchase(account, account.getPaymentMethodId(), payment.getId(), requestedAmount, Currency.AED, paymentExternalKey, transactionExternalKey,
                                       ImmutableList.<PluginProperty>of(), callContext);
             Assert.fail("Purchase not succeed after a chargeback");
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             Assert.assertTrue(true);
         }
     }
@@ -532,7 +532,7 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
         try {
             paymentApi.createCapture(account, UUID.randomUUID(), requestedAmount, account.getCurrency(), UUID.randomUUID().toString(), ImmutableList.<PluginProperty>of(), callContext);
             Assert.fail("Expected capture to fail...");
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             Assert.assertEquals(e.getCode(), ErrorCode.PAYMENT_NO_SUCH_PAYMENT.getCode());
 
             final Payment latestPayment = paymentApi.getPayment(initialPayment.getId(), false, ImmutableList.<PluginProperty>of(), callContext);
@@ -552,7 +552,7 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
         try {
             paymentApi.createCapture(account, initialPayment.getId(), requestedAmount, Currency.AMD, UUID.randomUUID().toString(), ImmutableList.<PluginProperty>of(), callContext);
             Assert.fail("Expected capture to fail...");
-        } catch (PaymentApiException e) {
+        } catch (final PaymentApiException e) {
             Assert.assertEquals(e.getCode(), ErrorCode.PAYMENT_INVALID_PARAMETER.getCode());
 
             final Payment latestPayment = paymentApi.getPayment(initialPayment.getId(), false, ImmutableList.<PluginProperty>of(), callContext);
@@ -574,13 +574,13 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
         // Hack the Database to make it look like it was a failure
         paymentDao.updatePaymentAndTransactionOnCompletion(account.getId(), payment.getId(), TransactionType.AUTHORIZE, "AUTH_ERRORED", null,
                                                            payment.getTransactions().get(0).getId(), TransactionStatus.PLUGIN_FAILURE, null, null, null, null, internalCallContext);
-        PaymentSqlDao paymentSqlDao = dbi.onDemand(PaymentSqlDao.class);
+        final PaymentSqlDao paymentSqlDao = dbi.onDemand(PaymentSqlDao.class);
         paymentSqlDao.updateLastSuccessPaymentStateName(payment.getId().toString(), "AUTH_ERRORED", null, internalCallContext);
 
         try {
             paymentApi.createCapture(account, payment.getId(), requestedAmount, Currency.EUR, "tetard", ImmutableList.<PluginProperty>of(), callContext);
             Assert.fail("Unexpected success");
-        } catch (PaymentApiException e){
+        } catch (final PaymentApiException e){
             Assert.assertEquals(e.getCode(), ErrorCode.PAYMENT_INVALID_OPERATION.getCode());
         }
     }