killbill-memoizeit

payment: don't map new attempt if no transaction key / id is specified If

6/22/2016 1:42:21 PM

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/control/DefaultControlInitiated.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/control/DefaultControlInitiated.java
index fe13f20..dcd1707 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/control/DefaultControlInitiated.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/control/DefaultControlInitiated.java
@@ -76,18 +76,6 @@ public class DefaultControlInitiated implements LeavingStateCallback {
             if (!paymentTransactionModelDaos.isEmpty()) {
                 paymentTransactionModelDaoCandidate = paymentTransactionModelDaos.get(paymentTransactionModelDaos.size() - 1);
             }
-        } else if (stateContext.getPaymentId() != null) {
-            final List<PaymentTransactionModelDao> paymentTransactionModelDaos = paymentDao.getTransactionsForPayment(stateContext.getPaymentId(), stateContext.getInternalCallContext());
-            Preconditions.checkArgument(!paymentTransactionModelDaos.isEmpty(), "paymentTransactions cannot be empty for id " + stateContext.getPaymentId());
-            paymentTransactionModelDaoCandidate = paymentTransactionModelDaos.get(paymentTransactionModelDaos.size() - 1);
-        } else if (stateContext.getPaymentExternalKey() != null) {
-            final PaymentModelDao payment = paymentDao.getPaymentByExternalKey(stateContext.getPaymentExternalKey(), stateContext.getInternalCallContext());
-            if (payment != null) {
-                final List<PaymentTransactionModelDao> paymentTransactionModelDaos = paymentDao.getTransactionsForPayment(payment.getId(), stateContext.getInternalCallContext());
-                if (!paymentTransactionModelDaos.isEmpty()) {
-                    paymentTransactionModelDaoCandidate = paymentTransactionModelDaos.get(paymentTransactionModelDaos.size() - 1);
-                }
-            }
         }
         final PaymentTransactionModelDao paymentTransactionModelDao = paymentTransactionModelDaoCandidate != null && TRANSIENT_TRANSACTION_STATUSES.contains(paymentTransactionModelDaoCandidate.getTransactionStatus()) ? paymentTransactionModelDaoCandidate : null;