killbill-aplcache
Changes
payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java 30(+15 -15)
payment/src/main/java/org/killbill/billing/payment/core/PluginControlledPaymentProcessor.java 8(+4 -4)
payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonDAOHelper.java 26(+13 -13)
payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonRunner.java 8(+4 -4)
payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentLeavingStateCallback.java 3(+0 -3)
payment/src/test/java/org/killbill/billing/payment/core/sm/MockRetryAuthorizeOperationCallback.java 12(+6 -6)
payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentAutomatonDAOHelper.java 12(+6 -6)
payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentEnteringStateCallback.java 4(+2 -2)
payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentLeavingStateCallback.java 14(+7 -7)
Details
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/util/AuditChecker.java b/beatrix/src/test/java/org/killbill/billing/beatrix/util/AuditChecker.java
index 2593ad3..afe8fad 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/util/AuditChecker.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/util/AuditChecker.java
@@ -35,7 +35,7 @@ import org.killbill.billing.invoice.dao.InvoiceItemSqlDao;
import org.killbill.billing.invoice.dao.InvoiceSqlDao;
import org.killbill.billing.payment.api.DirectPayment;
import org.killbill.billing.payment.api.DirectPaymentTransaction;
-import org.killbill.billing.payment.dao.DirectPaymentSqlDao;
+import org.killbill.billing.payment.dao.PaymentSqlDao;
import org.killbill.billing.subscription.engine.dao.BundleSqlDao;
import org.killbill.billing.subscription.engine.dao.SubscriptionEventSqlDao;
import org.killbill.billing.subscription.engine.dao.SubscriptionSqlDao;
@@ -168,7 +168,7 @@ public class AuditChecker {
public void checkPaymentCreated(final DirectPayment payment, final CallContext context) {
final List<AuditLog> invoiceLogs = getAuditLogForPayment(payment, context);
Assert.assertEquals(invoiceLogs.size(), 1);
- checkAuditLog(ChangeType.INSERT, context, invoiceLogs.get(0), payment.getId(), DirectPaymentSqlDao.class, false, false);
+ checkAuditLog(ChangeType.INSERT, context, invoiceLogs.get(0), payment.getId(), PaymentSqlDao.class, false, false);
for (DirectPaymentTransaction cur : payment.getTransactions()) {
final List<AuditLog> auditLogs = getAuditLogForPaymentTransaction(payment, cur, context);
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 28d7c45..3679b03 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
@@ -40,8 +40,8 @@ import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.payment.control.dao.InvoicePaymentControlDao;
import org.killbill.billing.payment.control.dao.PluginAutoPayOffModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.glue.PaymentModule;
import org.killbill.billing.payment.retry.BaseRetryService.RetryServiceScheduler;
@@ -194,7 +194,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
" aborted: requested refund amount is = " + paymentControlPluginContext.getAmount());
}
- final DirectPaymentModelDao directPayment = paymentDao.getDirectPayment(paymentControlPluginContext.getPaymentId(), internalContext);
+ final PaymentModelDao directPayment = paymentDao.getDirectPayment(paymentControlPluginContext.getPaymentId(), internalContext);
if (directPayment == null) {
throw new PaymentControlApiException();
}
@@ -263,11 +263,11 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
return null;
}
- final List<DirectPaymentTransactionModelDao> purchasedTransactions = getPurchasedTransactions(paymentExternalKey, internalContext);
+ final List<PaymentTransactionModelDao> purchasedTransactions = getPurchasedTransactions(paymentExternalKey, internalContext);
if (purchasedTransactions.size() == 0) {
return null;
}
- final DirectPaymentTransactionModelDao lastTransaction = purchasedTransactions.get(purchasedTransactions.size() - 1);
+ final PaymentTransactionModelDao lastTransaction = purchasedTransactions.get(purchasedTransactions.size() - 1);
switch (lastTransaction.getPaymentStatus()) {
case PAYMENT_FAILURE_ABORTED:
return getNextRetryDateForPaymentFailure(purchasedTransactions);
@@ -281,7 +281,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
}
}
- private DateTime getNextRetryDateForPaymentFailure(final List<DirectPaymentTransactionModelDao> purchasedTransactions) {
+ private DateTime getNextRetryDateForPaymentFailure(final List<PaymentTransactionModelDao> purchasedTransactions) {
DateTime result = null;
final List<Integer> retryDays = paymentConfig.getPaymentRetryDays();
@@ -300,7 +300,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
return result;
}
- private DateTime getNextRetryDateForPluginFailure(final List<DirectPaymentTransactionModelDao> purchasedTransactions) {
+ private DateTime getNextRetryDateForPluginFailure(final List<PaymentTransactionModelDao> purchasedTransactions) {
DateTime result = null;
final int attemptsInState = getNumberAttemptsInState(purchasedTransactions, PaymentStatus.PLUGIN_FAILURE_ABORTED);
@@ -317,13 +317,13 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
return result;
}
- private int getNumberAttemptsInState(final Collection<DirectPaymentTransactionModelDao> allTransactions, final PaymentStatus... statuses) {
+ private int getNumberAttemptsInState(final Collection<PaymentTransactionModelDao> allTransactions, final PaymentStatus... statuses) {
if (allTransactions == null || allTransactions.size() == 0) {
return 0;
}
- return Collections2.filter(allTransactions, new Predicate<DirectPaymentTransactionModelDao>() {
+ return Collections2.filter(allTransactions, new Predicate<PaymentTransactionModelDao>() {
@Override
- public boolean apply(final DirectPaymentTransactionModelDao input) {
+ public boolean apply(final PaymentTransactionModelDao input) {
for (final PaymentStatus cur : statuses) {
if (input.getPaymentStatus() == cur) {
return true;
@@ -334,18 +334,18 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
}).size();
}
- private List<DirectPaymentTransactionModelDao> getPurchasedTransactions(final String paymentExternalKey, final InternalCallContext internalContext) {
- final DirectPaymentModelDao payment = paymentDao.getDirectPaymentByExternalKey(paymentExternalKey, internalContext);
+ private List<PaymentTransactionModelDao> getPurchasedTransactions(final String paymentExternalKey, final InternalCallContext internalContext) {
+ final PaymentModelDao payment = paymentDao.getDirectPaymentByExternalKey(paymentExternalKey, internalContext);
if (payment == null) {
return Collections.emptyList();
}
- final List<DirectPaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(payment.getId(), internalContext);
+ final List<PaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(payment.getId(), internalContext);
if (transactions == null || transactions.size() == 0) {
return Collections.emptyList();
}
- return ImmutableList.copyOf(Iterables.filter(transactions, new Predicate<DirectPaymentTransactionModelDao>() {
+ return ImmutableList.copyOf(Iterables.filter(transactions, new Predicate<PaymentTransactionModelDao>() {
@Override
- public boolean apply(final DirectPaymentTransactionModelDao input) {
+ public boolean apply(final PaymentTransactionModelDao input) {
return input.getTransactionType() == TransactionType.PURCHASE;
}
}));
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
index adbaa16..dddbe88 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
@@ -51,8 +51,8 @@ import org.killbill.billing.payment.api.PaymentStatus;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.payment.core.sm.DirectPaymentAutomatonRunner;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
import org.killbill.billing.payment.plugin.api.PaymentPluginApiException;
@@ -223,14 +223,14 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
public List<DirectPayment> getAccountPayments(final UUID accountId, final InternalTenantContext tenantContext) throws PaymentApiException {
- final List<DirectPaymentModelDao> paymentsModelDao = paymentDao.getDirectPaymentsForAccount(accountId, tenantContext);
- final List<DirectPaymentTransactionModelDao> transactionsModelDao = paymentDao.getDirectTransactionsForAccount(accountId, tenantContext);
+ final List<PaymentModelDao> paymentsModelDao = paymentDao.getDirectPaymentsForAccount(accountId, tenantContext);
+ final List<PaymentTransactionModelDao> transactionsModelDao = paymentDao.getDirectTransactionsForAccount(accountId, tenantContext);
- return Lists.<DirectPaymentModelDao, DirectPayment>transform(paymentsModelDao,
- new Function<DirectPaymentModelDao, DirectPayment>() {
+ return Lists.<PaymentModelDao, DirectPayment>transform(paymentsModelDao,
+ new Function<PaymentModelDao, DirectPayment>() {
@Override
- public DirectPayment apply(final DirectPaymentModelDao curDirectPaymentModelDao) {
- return toDirectPayment(curDirectPaymentModelDao, transactionsModelDao, null);
+ public DirectPayment apply(final PaymentModelDao curPaymentModelDao) {
+ return toDirectPayment(curPaymentModelDao, transactionsModelDao, null);
}
}
);
@@ -238,29 +238,29 @@ public class DirectPaymentProcessor extends ProcessorBase {
public void notifyPendingPaymentOfStateChanged(final Account account, UUID transactionId, final boolean isSuccess, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
- final DirectPaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
+ final PaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
if (transactionModelDao.getPaymentStatus() != PaymentStatus.PENDING) {
- throw new PaymentApiException(ErrorCode.PAYMENT_NO_SUCH_SUCCESS_PAYMENT, transactionModelDao.getDirectPaymentId());
+ throw new PaymentApiException(ErrorCode.PAYMENT_NO_SUCH_SUCCESS_PAYMENT, transactionModelDao.getPaymentId());
}
- final DirectPaymentModelDao paymentModelDao = paymentDao.getDirectPayment(transactionModelDao.getDirectPaymentId(), internalCallContext);
+ final PaymentModelDao paymentModelDao = paymentDao.getDirectPayment(transactionModelDao.getPaymentId(), internalCallContext);
Preconditions.checkState(paymentModelDao != null);
final PaymentStatus newStatus = isSuccess ? PaymentStatus.SUCCESS : PaymentStatus.PAYMENT_FAILURE_ABORTED;
// STEPH This works if the pending transaction we are trying to update matches is the one that gave the state to the payment. Also can we have multiple PENDING for a given payment?
- final State currentPaymentState = directPaymentAutomatonRunner.fetchNextState(paymentModelDao.getCurrentStateName(), isSuccess);
+ final State currentPaymentState = directPaymentAutomatonRunner.fetchNextState(paymentModelDao.getStateName(), isSuccess);
// STEPH : should we insert a new transaction row to keep the PENDING one?
- paymentDao.updateDirectPaymentAndTransactionOnCompletion(transactionModelDao.getDirectPaymentId(), currentPaymentState.getName(), transactionModelDao.getId(), newStatus,
+ paymentDao.updateDirectPaymentAndTransactionOnCompletion(transactionModelDao.getPaymentId(), currentPaymentState.getName(), transactionModelDao.getId(), newStatus,
transactionModelDao.getProcessedAmount(), transactionModelDao.getProcessedCurrency(),
transactionModelDao.getGatewayErrorCode(), transactionModelDao.getGatewayErrorMsg(), internalCallContext);
}
public void notifyPaymentPaymentOfChargeback(final Account account, final UUID transactionId, final String chargebackTransactionExternalKey, final BigDecimal amount, final Currency currency, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
- final DirectPaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
+ final PaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
Preconditions.checkState(transactionModelDao != null);
final DateTime utcNow = clock.getUTCNow();
- final DirectPaymentTransactionModelDao chargebackTransaction = new DirectPaymentTransactionModelDao(utcNow, utcNow, chargebackTransactionExternalKey, transactionModelDao.getId(),
+ final PaymentTransactionModelDao chargebackTransaction = new PaymentTransactionModelDao(utcNow, utcNow, chargebackTransactionExternalKey, transactionModelDao.getId(),
TransactionType.CHARGEBACK, utcNow, PaymentStatus.SUCCESS, amount, currency, null, null);
final State currentPaymentState = directPaymentAutomatonRunner.fetchNextState("CHARGEBACK_INIT", true);
@@ -274,7 +274,7 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
public DirectPayment getPayment(final UUID directPaymentId, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext internalTenantContext) throws PaymentApiException {
- final DirectPaymentModelDao paymentModelDao = paymentDao.getDirectPayment(directPaymentId, internalTenantContext);
+ final PaymentModelDao paymentModelDao = paymentDao.getDirectPayment(directPaymentId, internalTenantContext);
if (paymentModelDao == null) {
return null;
}
@@ -282,7 +282,7 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
public DirectPayment getPaymentByExternalKey(final String paymentExternalKey, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext internalTenantContext) throws PaymentApiException {
- final DirectPaymentModelDao paymentModelDao = paymentDao.getDirectPaymentByExternalKey(paymentExternalKey, internalTenantContext);
+ final PaymentModelDao paymentModelDao = paymentDao.getDirectPaymentByExternalKey(paymentExternalKey, internalTenantContext);
if (paymentModelDao == null) {
return null;
}
@@ -308,16 +308,16 @@ public class DirectPaymentProcessor extends ProcessorBase {
final PaymentPluginApi pluginApi = getPaymentPluginApi(pluginName);
return getEntityPagination(limit,
- new SourcePaginationBuilder<DirectPaymentModelDao, PaymentApiException>() {
+ new SourcePaginationBuilder<PaymentModelDao, PaymentApiException>() {
@Override
- public Pagination<DirectPaymentModelDao> build() {
+ public Pagination<PaymentModelDao> build() {
// Find all payments for all accounts
return paymentDao.getDirectPayments(pluginName, offset, limit, internalTenantContext);
}
},
- new Function<DirectPaymentModelDao, DirectPayment>() {
+ new Function<PaymentModelDao, DirectPayment>() {
@Override
- public DirectPayment apply(final DirectPaymentModelDao paymentModelDao) {
+ public DirectPayment apply(final PaymentModelDao paymentModelDao) {
List<PaymentTransactionInfoPlugin> pluginInfo = null;
try {
pluginInfo = pluginApi.getPaymentInfo(paymentModelDao.getAccountId(), paymentModelDao.getId(), properties, tenantContext);
@@ -389,26 +389,26 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
public DirectPayment toDirectPayment(final UUID directPaymentId, @Nullable final List<PaymentTransactionInfoPlugin> pluginTransactions, final InternalTenantContext tenantContext) {
- final DirectPaymentModelDao paymentModelDao = paymentDao.getDirectPayment(directPaymentId, tenantContext);
+ final PaymentModelDao paymentModelDao = paymentDao.getDirectPayment(directPaymentId, tenantContext);
if (paymentModelDao == null) {
log.warn("Unable to find direct payment id " + directPaymentId);
return null;
}
final InternalTenantContext tenantContextWithAccountRecordId = internalCallContextFactory.createInternalTenantContext(paymentModelDao.getAccountId(), tenantContext);
- final List<DirectPaymentTransactionModelDao> transactionsForAccount = paymentDao.getDirectTransactionsForAccount(paymentModelDao.getAccountId(), tenantContextWithAccountRecordId);
+ final List<PaymentTransactionModelDao> transactionsForAccount = paymentDao.getDirectTransactionsForAccount(paymentModelDao.getAccountId(), tenantContextWithAccountRecordId);
return toDirectPayment(paymentModelDao, transactionsForAccount, pluginTransactions);
}
- private DirectPayment getDirectPayment(final DirectPaymentModelDao paymentModelDao, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context, final InternalTenantContext tenantContext) throws PaymentApiException {
+ private DirectPayment getDirectPayment(final PaymentModelDao paymentModelDao, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context, final InternalTenantContext tenantContext) throws PaymentApiException {
final InternalTenantContext tenantContextWithAccountRecordId;
if (tenantContext.getAccountRecordId() == null) {
tenantContextWithAccountRecordId = internalCallContextFactory.createInternalTenantContext(paymentModelDao.getAccountId(), tenantContext);
} else {
tenantContextWithAccountRecordId = tenantContext;
}
- final List<DirectPaymentTransactionModelDao> transactionsForDirectPayment = paymentDao.getDirectTransactionsForDirectPayment(paymentModelDao.getId(), tenantContextWithAccountRecordId);
+ final List<PaymentTransactionModelDao> transactionsForDirectPayment = paymentDao.getDirectTransactionsForDirectPayment(paymentModelDao.getId(), tenantContextWithAccountRecordId);
final PaymentPluginApi plugin = withPluginInfo ? getPaymentProviderPlugin(paymentModelDao.getPaymentMethodId(), tenantContext) : null;
List<PaymentTransactionInfoPlugin> pluginInfo = null;
@@ -422,7 +422,7 @@ public class DirectPaymentProcessor extends ProcessorBase {
return toDirectPayment(paymentModelDao, transactionsForDirectPayment, pluginInfo);
}
- private DirectPayment toDirectPayment(final DirectPaymentModelDao curDirectPaymentModelDao, final Iterable<DirectPaymentTransactionModelDao> transactionsModelDao, @Nullable final List<PaymentTransactionInfoPlugin> pluginTransactions) {
+ private DirectPayment toDirectPayment(final PaymentModelDao curPaymentModelDao, final Iterable<PaymentTransactionModelDao> transactionsModelDao, @Nullable final List<PaymentTransactionInfoPlugin> pluginTransactions) {
final Ordering<DirectPaymentTransaction> perPaymentTransactionOrdering = Ordering.<DirectPaymentTransaction>from(new Comparator<DirectPaymentTransaction>() {
@Override
public int compare(final DirectPaymentTransaction o1, final DirectPaymentTransaction o2) {
@@ -430,16 +430,16 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
});
- final Iterable<DirectPaymentTransactionModelDao> filteredTransactions = Iterables.filter(transactionsModelDao, new Predicate<DirectPaymentTransactionModelDao>() {
+ final Iterable<PaymentTransactionModelDao> filteredTransactions = Iterables.filter(transactionsModelDao, new Predicate<PaymentTransactionModelDao>() {
@Override
- public boolean apply(final DirectPaymentTransactionModelDao curDirectPaymentTransactionModelDao) {
- return curDirectPaymentTransactionModelDao.getDirectPaymentId().equals(curDirectPaymentModelDao.getId());
+ public boolean apply(final PaymentTransactionModelDao curDirectPaymentTransactionModelDao) {
+ return curDirectPaymentTransactionModelDao.getPaymentId().equals(curPaymentModelDao.getId());
}
});
- final Iterable<DirectPaymentTransaction> transactions = Iterables.transform(filteredTransactions, new Function<DirectPaymentTransactionModelDao, DirectPaymentTransaction>() {
+ final Iterable<DirectPaymentTransaction> transactions = Iterables.transform(filteredTransactions, new Function<PaymentTransactionModelDao, DirectPaymentTransaction>() {
@Override
- public DirectPaymentTransaction apply(final DirectPaymentTransactionModelDao input) {
+ public DirectPaymentTransaction apply(final PaymentTransactionModelDao input) {
final PaymentTransactionInfoPlugin info = pluginTransactions != null ?
Iterables.tryFind(pluginTransactions, new Predicate<PaymentTransactionInfoPlugin>() {
@@ -449,7 +449,7 @@ public class DirectPaymentProcessor extends ProcessorBase {
}
}).orNull() : null;
- return new DefaultDirectPaymentTransaction(input.getId(), input.getTransactionExternalKey(), input.getCreatedDate(), input.getUpdatedDate(), input.getDirectPaymentId(),
+ return new DefaultDirectPaymentTransaction(input.getId(), input.getTransactionExternalKey(), input.getCreatedDate(), input.getUpdatedDate(), input.getPaymentId(),
input.getTransactionType(), input.getEffectiveDate(), input.getPaymentStatus(), input.getAmount(), input.getCurrency(),
input.getProcessedAmount(), input.getProcessedCurrency(),
input.getGatewayErrorCode(), input.getGatewayErrorMsg(), info);
@@ -457,8 +457,8 @@ public class DirectPaymentProcessor extends ProcessorBase {
});
final List<DirectPaymentTransaction> sortedTransactions = perPaymentTransactionOrdering.immutableSortedCopy(transactions);
- return new DefaultDirectPayment(curDirectPaymentModelDao.getId(), curDirectPaymentModelDao.getCreatedDate(), curDirectPaymentModelDao.getUpdatedDate(), curDirectPaymentModelDao.getAccountId(),
- curDirectPaymentModelDao.getPaymentMethodId(), curDirectPaymentModelDao.getPaymentNumber(), curDirectPaymentModelDao.getExternalKey(), sortedTransactions);
+ return new DefaultDirectPayment(curPaymentModelDao.getId(), curPaymentModelDao.getCreatedDate(), curPaymentModelDao.getUpdatedDate(), curPaymentModelDao.getAccountId(),
+ curPaymentModelDao.getPaymentMethodId(), curPaymentModelDao.getPaymentNumber(), curPaymentModelDao.getExternalKey(), sortedTransactions);
}
private void postPaymentEvent(final Account account, final DirectPayment directPayment, final String transactionExternalKey, final InternalCallContext context) {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/PluginControlledPaymentProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/PluginControlledPaymentProcessor.java
index 488c4fd..6a448d0 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/PluginControlledPaymentProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/PluginControlledPaymentProcessor.java
@@ -38,8 +38,8 @@ 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.core.sm.PluginControlledDirectPaymentAutomatonRunner;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentAttemptModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.dao.PluginPropertyModelDao;
@@ -175,8 +175,8 @@ public class PluginControlledPaymentProcessor extends ProcessorBase {
try {
final PaymentAttemptModelDao attempt = paymentDao.getPaymentAttemptByExternalKey(transactionExternalKey, internalCallContext);
- final DirectPaymentTransactionModelDao transaction = paymentDao.getDirectPaymentTransactionByExternalKey(transactionExternalKey, internalCallContext);
- final DirectPaymentModelDao payment = paymentDao.getDirectPayment(transaction.getDirectPaymentId(), internalCallContext);
+ final PaymentTransactionModelDao transaction = paymentDao.getDirectPaymentTransactionByExternalKey(transactionExternalKey, internalCallContext);
+ final PaymentModelDao payment = paymentDao.getDirectPayment(transaction.getPaymentId(), internalCallContext);
final List<PluginPropertyModelDao> properties = paymentDao.getProperties(transactionExternalKey, internalCallContext);
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonDAOHelper.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonDAOHelper.java
index 8f0c1bc..a6e8977 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonDAOHelper.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonDAOHelper.java
@@ -29,8 +29,8 @@ import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.osgi.api.OSGIServiceRegistration;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.dao.PaymentMethodModelDao;
import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
@@ -59,15 +59,15 @@ public class DirectPaymentAutomatonDAOHelper {
}
public void createNewDirectPaymentTransaction() {
- final DirectPaymentTransactionModelDao paymentTransactionModelDao;
+ final PaymentTransactionModelDao paymentTransactionModelDao;
if (directPaymentStateContext.getDirectPaymentId() == null) {
- final DirectPaymentModelDao newPaymentModelDao = buildNewDirectPaymentModelDao();
- final DirectPaymentTransactionModelDao newPaymentTransactionModelDao = buildNewDirectPaymentTransactionModelDao(newPaymentModelDao.getId());
+ final PaymentModelDao newPaymentModelDao = buildNewDirectPaymentModelDao();
+ final PaymentTransactionModelDao newPaymentTransactionModelDao = buildNewDirectPaymentTransactionModelDao(newPaymentModelDao.getId());
- final DirectPaymentModelDao paymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(newPaymentModelDao, newPaymentTransactionModelDao, internalCallContext);
+ final PaymentModelDao paymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(newPaymentModelDao, newPaymentTransactionModelDao, internalCallContext);
paymentTransactionModelDao = paymentDao.getDirectTransactionsForDirectPayment(paymentModelDao.getId(), internalCallContext).get(0);
} else {
- final DirectPaymentTransactionModelDao newPaymentTransactionModelDao = buildNewDirectPaymentTransactionModelDao(directPaymentStateContext.getDirectPaymentId());
+ final PaymentTransactionModelDao newPaymentTransactionModelDao = buildNewDirectPaymentTransactionModelDao(directPaymentStateContext.getDirectPaymentId());
paymentTransactionModelDao = paymentDao.updateDirectPaymentWithNewTransaction(directPaymentStateContext.getDirectPaymentId(), newPaymentTransactionModelDao, internalCallContext);
}
@@ -114,8 +114,8 @@ public class DirectPaymentAutomatonDAOHelper {
return getPaymentPluginApi(methodDao.getPluginName());
}
- public DirectPaymentModelDao getDirectPayment() throws PaymentApiException {
- final DirectPaymentModelDao paymentModelDao;
+ public PaymentModelDao getDirectPayment() throws PaymentApiException {
+ final PaymentModelDao paymentModelDao;
paymentModelDao = paymentDao.getDirectPayment(directPaymentStateContext.getDirectPaymentId(), internalCallContext);
if (paymentModelDao == null) {
throw new PaymentApiException(ErrorCode.PAYMENT_NO_SUCH_PAYMENT, directPaymentStateContext.getDirectPaymentId());
@@ -123,25 +123,25 @@ public class DirectPaymentAutomatonDAOHelper {
return paymentModelDao;
}
- private DirectPaymentModelDao buildNewDirectPaymentModelDao() {
+ private PaymentModelDao buildNewDirectPaymentModelDao() {
final DateTime createdDate = utcNow;
final DateTime updatedDate = utcNow;
- return new DirectPaymentModelDao(createdDate,
+ return new PaymentModelDao(createdDate,
updatedDate,
directPaymentStateContext.getAccount().getId(),
directPaymentStateContext.getPaymentMethodId(),
directPaymentStateContext.getDirectPaymentExternalKey());
}
- private DirectPaymentTransactionModelDao buildNewDirectPaymentTransactionModelDao(final UUID directPaymentId) {
+ private PaymentTransactionModelDao buildNewDirectPaymentTransactionModelDao(final UUID directPaymentId) {
final DateTime createdDate = utcNow;
final DateTime updatedDate = utcNow;
final DateTime effectiveDate = utcNow;
final String gatewayErrorCode = null;
final String gatewayErrorMsg = null;
- return new DirectPaymentTransactionModelDao(createdDate,
+ return new PaymentTransactionModelDao(createdDate,
updatedDate,
directPaymentStateContext.getDirectPaymentTransactionExternalKey(),
directPaymentId,
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonRunner.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonRunner.java
index 8ec77e5..d7bc194 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonRunner.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentAutomatonRunner.java
@@ -45,7 +45,7 @@ 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.dao.DirectPaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.dispatcher.PluginDispatcher;
import org.killbill.billing.payment.glue.PaymentModule;
@@ -123,9 +123,9 @@ public class DirectPaymentAutomatonRunner {
final String currentStateMachineName;
final String currentStateName;
if (directPaymentId != null) {
- final DirectPaymentModelDao directPaymentModelDao = daoHelper.getDirectPayment();
- nonNullPaymentMethodId = directPaymentModelDao.getPaymentMethodId();
- currentStateName = directPaymentModelDao.getCurrentStateName();
+ final PaymentModelDao paymentModelDao = daoHelper.getDirectPayment();
+ nonNullPaymentMethodId = paymentModelDao.getPaymentMethodId();
+ currentStateName = paymentModelDao.getStateName();
currentStateMachineName = getStateMachineName(currentStateName);
// Check for illegal states (should never happen)
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentLeavingStateCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentLeavingStateCallback.java
index bf9f6bc..223837f 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentLeavingStateCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentLeavingStateCallback.java
@@ -17,12 +17,9 @@
package org.killbill.billing.payment.core.sm;
-import java.util.List;
-
import org.killbill.automaton.State;
import org.killbill.automaton.State.LeavingStateCallback;
import org.killbill.billing.payment.api.PaymentApiException;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentStateContext.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentStateContext.java
index dcc542e..3c303e7 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentStateContext.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/DirectPaymentStateContext.java
@@ -27,7 +27,7 @@ import org.killbill.billing.callcontext.InternalCallContext;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
import org.killbill.billing.util.callcontext.CallContext;
@@ -37,7 +37,7 @@ public class DirectPaymentStateContext {
protected UUID paymentMethodId;
// Stateful objects created by the callbacks and passed to the other following callbacks in the automaton
- protected DirectPaymentTransactionModelDao directPaymentTransactionModelDao;
+ protected PaymentTransactionModelDao directPaymentTransactionModelDao;
protected PaymentTransactionInfoPlugin paymentInfoPlugin;
protected BigDecimal amount;
protected UUID transactionPaymentId;
@@ -87,11 +87,11 @@ public class DirectPaymentStateContext {
this.paymentMethodId = paymentMethodId;
}
- public DirectPaymentTransactionModelDao getDirectPaymentTransactionModelDao() {
+ public PaymentTransactionModelDao getDirectPaymentTransactionModelDao() {
return directPaymentTransactionModelDao;
}
- public void setDirectPaymentTransactionModelDao(final DirectPaymentTransactionModelDao directPaymentTransactionModelDao) {
+ public void setDirectPaymentTransactionModelDao(final PaymentTransactionModelDao directPaymentTransactionModelDao) {
this.directPaymentTransactionModelDao = directPaymentTransactionModelDao;
}
@@ -104,7 +104,7 @@ public class DirectPaymentStateContext {
}
public UUID getDirectPaymentId() {
- return directPaymentId != null ? directPaymentId : (directPaymentTransactionModelDao != null ? directPaymentTransactionModelDao.getDirectPaymentId() : null);
+ return directPaymentId != null ? directPaymentId : (directPaymentTransactionModelDao != null ? directPaymentTransactionModelDao.getPaymentId() : null);
}
public UUID getTransactionPaymentId() {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentPluginOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentPluginOperation.java
new file mode 100644
index 0000000..6316a0c
--- /dev/null
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentPluginOperation.java
@@ -0,0 +1,4 @@
+package org.killbill.billing.payment.core.sm;
+
+public class PaymentPluginOperation {
+}
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryLeavingStateCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryLeavingStateCallback.java
index e7961c5..6b1721c 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryLeavingStateCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryLeavingStateCallback.java
@@ -23,7 +23,7 @@ import org.killbill.automaton.State;
import org.killbill.automaton.State.LeavingStateCallback;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
import org.killbill.billing.payment.dao.PaymentAttemptModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.dao.PluginPropertyModelDao;
@@ -60,7 +60,7 @@ public class RetryLeavingStateCallback implements LeavingStateCallback {
Preconditions.checkState(stateContext.getDirectPaymentExternalKey() != null || /* AUTH, PURCHASE, CREDIT calls will provide the payment */
stateContext.getDirectPaymentId() != null);
if (stateContext.getDirectPaymentExternalKey() == null) {
- final DirectPaymentModelDao payment = paymentDao.getDirectPayment(stateContext.getDirectPaymentId(), stateContext.internalCallContext);
+ final PaymentModelDao payment = paymentDao.getDirectPayment(stateContext.getDirectPaymentId(), stateContext.internalCallContext);
Preconditions.checkState(payment != null);
stateContext.setDirectPaymentExternalKey(payment.getExternalKey());
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/retryPluginOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/retryPluginOperation.java
new file mode 100644
index 0000000..80f9881
--- /dev/null
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/retryPluginOperation.java
@@ -0,0 +1,4 @@
+package org.killbill.billing.payment.core.sm;
+
+public class retryPluginOperation {
+}
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/DefaultPaymentDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/DefaultPaymentDao.java
index 6d0e499..52acd01 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/DefaultPaymentDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/DefaultPaymentDao.java
@@ -139,36 +139,36 @@ public class DefaultPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(final String transactionExternalKey, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentTransactionModelDao>() {
+ public PaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(final String transactionExternalKey, final InternalTenantContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentTransactionModelDao>() {
@Override
- public DirectPaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).getDirectPaymentTransactionByExternalKey(transactionExternalKey, context);
+ public PaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).getPaymentTransactionByExternalKey(transactionExternalKey, context);
}
});
}
@Override
- public DirectPaymentModelDao getDirectPaymentByExternalKey(final String paymentExternalKey, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentModelDao>() {
+ public PaymentModelDao getDirectPaymentByExternalKey(final String paymentExternalKey, final InternalTenantContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentModelDao>() {
@Override
- public DirectPaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class).getDirectPaymentByExternalKey(paymentExternalKey, context);
+ public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getPaymentByExternalKey(paymentExternalKey, context);
}
});
}
@Override
- public Pagination<DirectPaymentModelDao> getDirectPayments(final String pluginName, final Long offset, final Long limit, final InternalTenantContext context) {
- return paginationHelper.getPagination(DirectPaymentSqlDao.class,
- new PaginationIteratorBuilder<DirectPaymentModelDao, DirectPayment, DirectPaymentSqlDao>() {
+ public Pagination<PaymentModelDao> getDirectPayments(final String pluginName, final Long offset, final Long limit, final InternalTenantContext context) {
+ return paginationHelper.getPagination(PaymentSqlDao.class,
+ new PaginationIteratorBuilder<PaymentModelDao, DirectPayment, PaymentSqlDao>() {
@Override
- public Long getCount(final DirectPaymentSqlDao directPaymentSqlDao, final InternalTenantContext context) {
+ public Long getCount(final PaymentSqlDao directPaymentSqlDao, final InternalTenantContext context) {
return directPaymentSqlDao.getCountByPluginName(pluginName, context);
}
@Override
- public Iterator<DirectPaymentModelDao> build(final DirectPaymentSqlDao directPaymentSqlDao, final Long limit, final InternalTenantContext context) {
+ public Iterator<PaymentModelDao> build(final PaymentSqlDao directPaymentSqlDao, final Long limit, final InternalTenantContext context) {
return directPaymentSqlDao.getByPluginName(pluginName, offset, limit, context);
}
},
@@ -179,30 +179,30 @@ public class DefaultPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentModelDao insertDirectPaymentWithFirstTransaction(final DirectPaymentModelDao directPayment, final DirectPaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
+ public PaymentModelDao insertDirectPaymentWithFirstTransaction(final PaymentModelDao directPayment, final PaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentModelDao>() {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentModelDao>() {
@Override
- public DirectPaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- final DirectPaymentSqlDao directPaymentSqlDao = entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class);
+ public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ final PaymentSqlDao directPaymentSqlDao = entitySqlDaoWrapperFactory.become(PaymentSqlDao.class);
directPaymentSqlDao.create(directPayment, context);
- entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).create(directPaymentTransaction, context);
+ entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).create(directPaymentTransaction, context);
return directPaymentSqlDao.getById(directPayment.getId().toString(), context);
}
});
}
@Override
- public DirectPaymentTransactionModelDao updateDirectPaymentWithNewTransaction(final UUID directPaymentId, final DirectPaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentTransactionModelDao>() {
+ public PaymentTransactionModelDao updateDirectPaymentWithNewTransaction(final UUID directPaymentId, final PaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentTransactionModelDao>() {
@Override
- public DirectPaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- final DirectTransactionSqlDao transactional = entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class);
+ public PaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ final TransactionSqlDao transactional = entitySqlDaoWrapperFactory.become(TransactionSqlDao.class);
transactional.create(directPaymentTransaction, context);
- final DirectPaymentTransactionModelDao directPaymentTransactionModelDao = transactional.getById(directPaymentTransaction.getId().toString(), context);
+ final PaymentTransactionModelDao directPaymentTransactionModelDao = transactional.getById(directPaymentTransaction.getId().toString(), context);
- entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class).updateDirectPaymentForNewTransaction(directPaymentId.toString(), context);
+ entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).updatePaymentForNewTransaction(directPaymentId.toString(), context);
return directPaymentTransactionModelDao;
}
@@ -219,11 +219,11 @@ public class DefaultPaymentDao implements PaymentDao {
@Override
public Void inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).updateTransactionStatus(directTransactionId.toString(),
+ entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).updateTransactionStatus(directTransactionId.toString(),
processedAmount, processedCurrency == null ? null : processedCurrency.toString(),
paymentStatus == null ? null : paymentStatus.toString(),
gatewayErrorCode, gatewayErrorMsg, context);
- entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class).updateCurrentPaymentStateName(directPaymentId.toString(), currentPaymentStateName, context);
+ entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).updatePaymentStateName(directPaymentId.toString(), currentPaymentStateName, context);
return null;
}
});
@@ -231,53 +231,53 @@ public class DefaultPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentModelDao getDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentModelDao>() {
+ public PaymentModelDao getDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentModelDao>() {
@Override
- public DirectPaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class).getById(directPaymentId.toString(), context);
+ public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getById(directPaymentId.toString(), context);
}
});
}
@Override
- public DirectPaymentTransactionModelDao getDirectPaymentTransaction(final UUID directTransactionId, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<DirectPaymentTransactionModelDao>() {
+ public PaymentTransactionModelDao getDirectPaymentTransaction(final UUID directTransactionId, final InternalTenantContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentTransactionModelDao>() {
@Override
- public DirectPaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).getById(directTransactionId.toString(), context);
+ public PaymentTransactionModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).getById(directTransactionId.toString(), context);
}
});
}
@Override
- public List<DirectPaymentModelDao> getDirectPaymentsForAccount(final UUID accountId, final InternalTenantContext context) {
+ public List<PaymentModelDao> getDirectPaymentsForAccount(final UUID accountId, final InternalTenantContext context) {
Preconditions.checkArgument(context.getAccountRecordId() != null);
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<DirectPaymentModelDao>>() {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentModelDao>>() {
@Override
- public List<DirectPaymentModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectPaymentSqlDao.class).getByAccountRecordId(context);
+ public List<PaymentModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getByAccountRecordId(context);
}
});
}
@Override
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForAccount(final UUID accountId, final InternalTenantContext context) {
+ public List<PaymentTransactionModelDao> getDirectTransactionsForAccount(final UUID accountId, final InternalTenantContext context) {
Preconditions.checkArgument(context.getAccountRecordId() != null);
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<DirectPaymentTransactionModelDao>>() {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentTransactionModelDao>>() {
@Override
- public List<DirectPaymentTransactionModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).getByAccountRecordId(context);
+ public List<PaymentTransactionModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).getByAccountRecordId(context);
}
});
}
@Override
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<DirectPaymentTransactionModelDao>>() {
+ public List<PaymentTransactionModelDao> getDirectTransactionsForDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentTransactionModelDao>>() {
@Override
- public List<DirectPaymentTransactionModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
- return entitySqlDaoWrapperFactory.become(DirectTransactionSqlDao.class).getByDirectPaymentId(directPaymentId, context);
+ public List<PaymentTransactionModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(TransactionSqlDao.class).getByPaymentId(directPaymentId, context);
}
});
}
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 32a1116..bb4ce79 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
@@ -22,14 +22,14 @@ import javax.annotation.Nullable;
import org.joda.time.DateTime;
import org.killbill.billing.entity.EntityBase;
-import org.killbill.billing.payment.api.PaymentAttempt;
import org.killbill.billing.util.dao.TableName;
+import org.killbill.billing.util.entity.Entity;
import org.killbill.billing.util.entity.dao.EntityModelDao;
-public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao<PaymentAttempt> {
+public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao<Entity> {
private String paymentExternalKey;
- private UUID directTransactionId;
+ private UUID transactionId;
private String transactionExternalKey;
private String stateName;
private String operationName;
@@ -38,11 +38,11 @@ public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao
public PaymentAttemptModelDao() { /* For the DAO mapper */ }
public PaymentAttemptModelDao(final UUID id, @Nullable final DateTime createdDate, @Nullable final DateTime updatedDate,
- final String paymentExternalKey, final UUID directTransactionId, final String externalKey, final String stateName, final String operationName,
+ final String paymentExternalKey, final UUID transactionId, final String externalKey, final String stateName, final String operationName,
final String pluginName) {
super(id, createdDate, updatedDate);
this.paymentExternalKey = paymentExternalKey;
- this.directTransactionId = directTransactionId;
+ this.transactionId = transactionId;
this.transactionExternalKey = externalKey;
this.stateName = stateName;
this.operationName = operationName;
@@ -50,9 +50,9 @@ public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao
}
public PaymentAttemptModelDao(@Nullable final DateTime createdDate, @Nullable final DateTime updatedDate,
- final String paymentExternalKey, final UUID directTransactionId, final String externalKey, final String stateName, final String operationName,
+ final String paymentExternalKey, final UUID transactionId, final String externalKey, final String stateName, final String operationName,
final String pluginName) {
- this(UUID.randomUUID(), createdDate, updatedDate, paymentExternalKey, directTransactionId, externalKey, stateName, operationName, pluginName);
+ this(UUID.randomUUID(), createdDate, updatedDate, paymentExternalKey, transactionId, externalKey, stateName, operationName, pluginName);
}
public String getPaymentExternalKey() {
@@ -63,12 +63,12 @@ public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao
this.paymentExternalKey = paymentExternalKey;
}
- public UUID getDirectTransactionId() {
- return directTransactionId;
+ public UUID getTransactionId() {
+ return transactionId;
}
- public void setDirectTransactionId(final UUID directTransactionId) {
- this.directTransactionId = directTransactionId;
+ public void setTransactionId(final UUID transactionId) {
+ this.transactionId = transactionId;
}
public String getTransactionExternalKey() {
@@ -117,7 +117,7 @@ public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao
final PaymentAttemptModelDao that = (PaymentAttemptModelDao) o;
- if (directTransactionId != null ? !directTransactionId.equals(that.directTransactionId) : that.directTransactionId != null) {
+ if (transactionId != null ? !transactionId.equals(that.transactionId) : that.transactionId != null) {
return false;
}
if (paymentExternalKey != null ? !paymentExternalKey.equals(that.paymentExternalKey) : that.paymentExternalKey != null) {
@@ -141,7 +141,7 @@ public class PaymentAttemptModelDao extends EntityBase implements EntityModelDao
@Override
public int hashCode() {
int result = super.hashCode();
- result = 31 * result + (directTransactionId != null ? directTransactionId.hashCode() : 0);
+ result = 31 * result + (transactionId != null ? transactionId.hashCode() : 0);
result = 31 * result + (paymentExternalKey != null ? paymentExternalKey.hashCode() : 0);
result = 31 * result + (transactionExternalKey != null ? transactionExternalKey.hashCode() : 0);
result = 31 * result + (stateName != null ? stateName.hashCode() : 0);
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.java
index 672a49e..cb406d6 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.java
@@ -23,6 +23,7 @@ import org.killbill.billing.callcontext.InternalCallContext;
import org.killbill.billing.callcontext.InternalTenantContext;
import org.killbill.billing.payment.api.PaymentAttempt;
import org.killbill.billing.util.audit.ChangeType;
+import org.killbill.billing.util.entity.Entity;
import org.killbill.billing.util.entity.dao.Audited;
import org.killbill.billing.util.entity.dao.EntitySqlDao;
import org.killbill.billing.util.entity.dao.EntitySqlDaoStringTemplate;
@@ -32,12 +33,12 @@ import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.skife.jdbi.v2.sqlobject.SqlUpdate;
@EntitySqlDaoStringTemplate
-public interface PaymentAttemptSqlDao extends EntitySqlDao<PaymentAttemptModelDao, PaymentAttempt> {
+public interface PaymentAttemptSqlDao extends EntitySqlDao<PaymentAttemptModelDao, Entity> {
@SqlUpdate
@Audited(ChangeType.UPDATE)
void updateAttempt(@Bind("id") final String attemptId,
- @Bind("directTransactionId") final String transactionId,
+ @Bind("transactionId") final String transactionId,
@Bind("stateName") final String stateName,
@BindBean final InternalCallContext context);
diff --git a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentDao.java b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentDao.java
index 338e798..ac4e99b 100644
--- a/payment/src/main/java/org/killbill/billing/payment/dao/PaymentDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/dao/PaymentDao.java
@@ -39,15 +39,15 @@ public interface PaymentDao {
public PaymentAttemptModelDao getPaymentAttemptByExternalKey(String externalKey, InternalTenantContext context);
- public DirectPaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(String transactionExternalKey, InternalTenantContext context);
+ public PaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(String transactionExternalKey, InternalTenantContext context);
- public DirectPaymentModelDao getDirectPaymentByExternalKey(String externalKey, InternalTenantContext context);
+ public PaymentModelDao getDirectPaymentByExternalKey(String externalKey, InternalTenantContext context);
- public Pagination<DirectPaymentModelDao> getDirectPayments(String pluginName, Long offset, Long limit, InternalTenantContext context);
+ public Pagination<PaymentModelDao> getDirectPayments(String pluginName, Long offset, Long limit, InternalTenantContext context);
- public DirectPaymentModelDao insertDirectPaymentWithFirstTransaction(DirectPaymentModelDao directPayment, DirectPaymentTransactionModelDao directPaymentTransaction, InternalCallContext context);
+ public PaymentModelDao insertDirectPaymentWithFirstTransaction(PaymentModelDao directPayment, PaymentTransactionModelDao directPaymentTransaction, InternalCallContext context);
- public DirectPaymentTransactionModelDao updateDirectPaymentWithNewTransaction(UUID directPaymentId, DirectPaymentTransactionModelDao directPaymentTransaction, InternalCallContext context);
+ public PaymentTransactionModelDao updateDirectPaymentWithNewTransaction(UUID directPaymentId, PaymentTransactionModelDao directPaymentTransaction, InternalCallContext context);
public void updateDirectPaymentAndTransactionOnCompletion(UUID directPaymentId, String currentPaymentStateName,
UUID directTransactionId, PaymentStatus paymentStatus,
@@ -55,15 +55,15 @@ public interface PaymentDao {
String gatewayErrorCode, String gatewayErrorMsg,
InternalCallContext context);
- public DirectPaymentModelDao getDirectPayment(UUID directPaymentId, InternalTenantContext context);
+ public PaymentModelDao getDirectPayment(UUID directPaymentId, InternalTenantContext context);
- public DirectPaymentTransactionModelDao getDirectPaymentTransaction(UUID directTransactionId, InternalTenantContext context);
+ public PaymentTransactionModelDao getDirectPaymentTransaction(UUID directTransactionId, InternalTenantContext context);
- public List<DirectPaymentModelDao> getDirectPaymentsForAccount(UUID accountId, InternalTenantContext context);
+ public List<PaymentModelDao> getDirectPaymentsForAccount(UUID accountId, InternalTenantContext context);
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForAccount(UUID accountId, InternalTenantContext context);
+ public List<PaymentTransactionModelDao> getDirectTransactionsForAccount(UUID accountId, InternalTenantContext context);
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForDirectPayment(UUID directPaymentId, InternalTenantContext context);
+ public List<PaymentTransactionModelDao> getDirectTransactionsForDirectPayment(UUID directPaymentId, InternalTenantContext context);
public PaymentAttemptModelDao getPaymentAttempt(UUID attemptId, InternalTenantContext context);
diff --git a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.sql.stg b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
index 94f8d9b..1dddcb0 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
+++ b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
@@ -7,7 +7,7 @@ historyTableName() ::= "payment_attempt_history"
tableFields(prefix) ::= <<
<prefix>payment_external_key
-, <prefix>direct_transaction_id
+, <prefix>transaction_id
, <prefix>transaction_external_key
, <prefix>state_name
, <prefix>operation_name
@@ -20,7 +20,7 @@ tableFields(prefix) ::= <<
tableValues() ::= <<
:paymentExternalKey
-, :directTransactionId
+, :transactionId
, :transactionExternalKey
, :stateName
, :operationName
@@ -55,7 +55,7 @@ where payment_external_key = :paymentExternalKey
updateAttempt() ::= <<
update <tableName()>
set state_name = :stateName
-, direct_transaction_id = :directTransactionId
+, transaction_id = :transactionId
, updated_by = :updatedBy
, updated_date = :createdDate
where id = :id
diff --git a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
index 88bb4b0..b6c7c24 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
+++ b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
@@ -1,24 +1,22 @@
group PaymentSqlDao: EntitySqlDao;
+tableName() ::= "payments"
+
+historyTableName() ::= "payment_history"
extraTableFieldsWithComma(prefix) ::= <<
, <prefix>record_id as payment_number
>>
defaultOrderBy(prefix) ::= <<
-order by <prefix>effective_date ASC, <recordIdField(prefix)> ASC
+order by <prefix>created_date ASC, <recordIdField(prefix)> ASC
>>
tableFields(prefix) ::= <<
<prefix>account_id
-, <prefix>invoice_id
, <prefix>payment_method_id
-, <prefix>amount
-, <prefix>currency
-, <prefix>processed_amount
-, <prefix>processed_currency
-, <prefix>effective_date
-, <prefix>payment_status
+, <prefix>external_key
+, <prefix>state_name
, <prefix>created_by
, <prefix>created_date
, <prefix>updated_by
@@ -27,76 +25,27 @@ tableFields(prefix) ::= <<
tableValues() ::= <<
:accountId
-, :invoiceId
, :paymentMethodId
-, :amount
-, :currency
-, :processedAmount
-, :processedCurrency
-, :effectiveDate
-, :paymentStatus
+, :externalKey
+, :stateName
, :createdBy
, :createdDate
, :updatedBy
, :updatedDate
>>
-tableName() ::= "payments"
-
-historyTableName() ::= "payment_history"
-
-
-getPaymentsForAccount() ::= <<
-select <allTableFields()>
-, record_id as payment_number
-from payments
-where account_id = :accountId
-<AND_CHECK_TENANT()>
-<defaultOrderBy()>
-;
->>
-
-getPaymentsForInvoice() ::= <<
-select <allTableFields()>
-, record_id as payment_number
-from payments
-where invoice_id = :invoiceId
-<AND_CHECK_TENANT()>
-<defaultOrderBy()>
-;
->>
-
-
-getLastPaymentForAccountAndPaymentMethod() ::= <<
-select <allTableFields()>
-, record_id as payment_number
-from payments
-where account_id = :accountId
-and payment_method_id = :paymentMethodId
-<AND_CHECK_TENANT()>
-order by effective_date desc limit 1
-;
->>
-
-
-updatePaymentStatus() ::= <<
-update payments
-set payment_status = :paymentStatus
-, processed_amount = :processedAmount
-, processed_currency = :processedCurrency
-, updated_by = :updatedBy
+updatePaymentForNewTransaction() ::= <<
+update <tableName()>
+set updated_by = :updatedBy
, updated_date = :createdDate
where id = :id
<AND_CHECK_TENANT()>
;
>>
-
-updatePaymentForNewAttempt() ::= <<
+updatePaymentStateName() ::= <<
update <tableName()>
-set amount = :amount
-, effective_date = :effectiveDate
-, payment_method_id= :paymentMethodId
+set state_name = :stateName
, updated_by = :updatedBy
, updated_date = :createdDate
where id = :id
@@ -104,6 +53,15 @@ where id = :id
;
>>
+getPaymentByExternalKey() ::= <<
+select
+<allTableFields("")>
+from <tableName()>
+where external_key = :externalKey
+;
+>>
+
+
getByPluginName() ::= <<
select
<allTableFields("t.")>
diff --git a/payment/src/main/resources/org/killbill/billing/payment/ddl.sql b/payment/src/main/resources/org/killbill/billing/payment/ddl.sql
index 0595b3d..1bcb82b 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/ddl.sql
+++ b/payment/src/main/resources/org/killbill/billing/payment/ddl.sql
@@ -6,11 +6,11 @@ CREATE TABLE payment_attempts (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
payment_external_key char(128) NOT NULL,
- direct_transaction_id char(36),
+ transaction_id char(36),
transaction_external_key char(128) NOT NULL,
state_name varchar(32) NOT NULL,
operation_name varchar(32) NOT NULL,
- plugin_name varchar(50),
+ plugin_name varchar(50) NOT NULL,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
updated_by varchar(50) NOT NULL,
@@ -20,7 +20,7 @@ CREATE TABLE payment_attempts (
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
CREATE UNIQUE INDEX payment_attempts_id ON payment_attempts(id);
-CREATE INDEX payment_attempts_payment ON payment_attempts(direct_transaction_id);
+CREATE INDEX payment_attempts_payment ON payment_attempts(transaction_id);
CREATE INDEX payment_attempts_payment_key ON payment_attempts(payment_external_key);
CREATE INDEX payment_attempts_payment_transaction_key ON payment_attempts(transaction_external_key);
CREATE INDEX payment_attempts_tenant_account_record_id ON payment_attempts(tenant_record_id, account_record_id);
@@ -31,11 +31,11 @@ CREATE TABLE payment_attempt_history (
id char(36) NOT NULL,
target_record_id int(11) unsigned NOT NULL,
payment_external_key char(128) NOT NULL,
- direct_transaction_id char(36),
+ transaction_id char(36),
transaction_external_key char(128) NOT NULL,
state_name varchar(32) NOT NULL,
operation_name varchar(32) NOT NULL,
- plugin_name varchar(50),
+ plugin_name varchar(50) NOT NULL,
change_type char(6) NOT NULL,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
@@ -53,7 +53,7 @@ CREATE TABLE payment_methods (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
account_id char(36) NOT NULL,
- plugin_name varchar(50) DEFAULT NULL,
+ plugin_name varchar(50) NOT NULL,
is_active bool DEFAULT true,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
@@ -64,6 +64,7 @@ CREATE TABLE payment_methods (
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
CREATE UNIQUE INDEX payment_methods_id ON payment_methods(id);
+CREATE INDEX payment_methods_plugin_name ON payment_methods(plugin_name);
CREATE INDEX payment_methods_active_accnt ON payment_methods(is_active, account_id);
CREATE INDEX payment_methods_tenant_account_record_id ON payment_methods(tenant_record_id, account_record_id);
@@ -73,7 +74,7 @@ CREATE TABLE payment_method_history (
id char(36) NOT NULL,
target_record_id int(11) unsigned NOT NULL,
account_id char(36) NOT NULL,
- plugin_name varchar(50) DEFAULT NULL,
+ plugin_name varchar(50) NOT NULL,
is_active bool DEFAULT true,
change_type char(6) NOT NULL,
created_by varchar(50) NOT NULL,
@@ -88,16 +89,14 @@ CREATE INDEX payment_method_history_target_record_id ON payment_method_history(t
CREATE INDEX payment_method_history_tenant_account_record_id ON payment_method_history(tenant_record_id, account_record_id);
-DROP TABLE IF EXISTS direct_payments;
-CREATE TABLE direct_payments (
+DROP TABLE IF EXISTS payments;
+CREATE TABLE payments (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
account_id char(36) NOT NULL,
payment_method_id char(36) NOT NULL,
external_key varchar(255) NOT NULL,
- current_state_name varchar(255),
- ext_first_payment_ref_id varchar(128),
- ext_second_payment_ref_id varchar(128),
+ state_name varchar(64) NOT NULL,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
updated_by varchar(50) NOT NULL,
@@ -106,23 +105,21 @@ CREATE TABLE direct_payments (
tenant_record_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
-CREATE UNIQUE INDEX direct_payments_id ON direct_payments(id);
-CREATE UNIQUE INDEX direct_payments_key ON direct_payments(external_key);
-CREATE INDEX direct_payments_accnt ON direct_payments(account_id);
-CREATE INDEX direct_payments_tenant_account_record_id ON direct_payments(tenant_record_id, account_record_id);
+CREATE UNIQUE INDEX payments_id ON payments(id);
+CREATE UNIQUE INDEX payments_key ON payments(external_key);
+CREATE INDEX payments_accnt ON payments(account_id);
+CREATE INDEX payments_tenant_account_record_id ON payments(tenant_record_id, account_record_id);
-DROP TABLE IF EXISTS direct_payment_history;
-CREATE TABLE direct_payment_history (
+DROP TABLE IF EXISTS payment_history;
+CREATE TABLE payment_history (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
target_record_id int(11) unsigned NOT NULL,
account_id char(36) NOT NULL,
payment_method_id char(36) NOT NULL,
external_key varchar(255) NOT NULL,
- current_state_name varchar(255),
- ext_first_payment_ref_id varchar(128),
- ext_second_payment_ref_id varchar(128),
+ state_name varchar(64) NOT NULL,
change_type char(6) NOT NULL,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
@@ -132,27 +129,25 @@ CREATE TABLE direct_payment_history (
tenant_record_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY(record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
-CREATE INDEX direct_payment_history_target_record_id ON direct_payment_history(target_record_id);
-CREATE INDEX direct_payment_history_tenant_account_record_id ON direct_payment_history(tenant_record_id, account_record_id);
+CREATE INDEX payment_history_target_record_id ON payment_history(target_record_id);
+CREATE INDEX payment_history_tenant_account_record_id ON payment_history(tenant_record_id, account_record_id);
-DROP TABLE IF EXISTS direct_transactions;
-CREATE TABLE direct_transactions (
+DROP TABLE IF EXISTS transactions;
+CREATE TABLE transactions (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
transaction_external_key varchar(255) NOT NULL,
transaction_type varchar(32) NOT NULL,
effective_date datetime NOT NULL,
- payment_status varchar(50),
+ transaction_status varchar(50) NOT NULL,
amount numeric(15,9),
currency char(3),
processed_amount numeric(15,9),
processed_currency char(3),
- direct_payment_id char(36) NOT NULL,
+ payment_id char(36) NOT NULL,
gateway_error_code varchar(32),
gateway_error_msg varchar(256),
- ext_first_payment_ref_id varchar(128),
- ext_second_payment_ref_id varchar(128),
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
updated_by varchar(50) NOT NULL,
@@ -161,29 +156,27 @@ CREATE TABLE direct_transactions (
tenant_record_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
-CREATE UNIQUE INDEX direct_transactions_id ON direct_transactions(id);
-CREATE INDEX direct_transactions_direct_id ON direct_transactions(direct_payment_id);
-CREATE UNIQUE INDEX direct_transactions_direct_key ON direct_transactions(transaction_external_key, payment_status);
-CREATE INDEX direct_transactions_tenant_account_record_id ON direct_transactions(tenant_record_id, account_record_id);
+CREATE UNIQUE INDEX transactions_id ON transactions(id);
+CREATE INDEX transactions_id ON transactions(payment_id);
+CREATE INDEX transactions_key ON transactions(transaction_external_key);
+CREATE INDEX transactions_tenant_account_record_id ON transactions(tenant_record_id, account_record_id);
-DROP TABLE IF EXISTS direct_transaction_history;
-CREATE TABLE direct_transaction_history (
+DROP TABLE IF EXISTS transaction_history;
+CREATE TABLE transaction_history (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
id char(36) NOT NULL,
transaction_external_key varchar(255) NOT NULL,
target_record_id int(11) unsigned NOT NULL,
transaction_type varchar(32) NOT NULL,
effective_date datetime NOT NULL,
- payment_status varchar(50),
+ transaction_status varchar(50) NOT NULL,
amount numeric(15,9),
currency char(3),
processed_amount numeric(15,9),
processed_currency char(3),
- direct_payment_id char(36) NOT NULL,
+ payment_id char(36) NOT NULL,
gateway_error_code varchar(32),
gateway_error_msg varchar(256),
- ext_first_payment_ref_id varchar(128),
- ext_second_payment_ref_id varchar(128),
change_type char(6) NOT NULL,
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
@@ -193,8 +186,8 @@ CREATE TABLE direct_transaction_history (
tenant_record_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
-CREATE INDEX direct_transaction_history_target_record_id ON direct_transaction_history(target_record_id);
-CREATE INDEX direct_transaction_history_tenant_account_record_id ON direct_transaction_history(tenant_record_id, account_record_id);
+CREATE INDEX transaction_history_target_record_id ON transaction_history(target_record_id);
+CREATE INDEX transaction_history_tenant_account_record_id ON transaction_history(tenant_record_id, account_record_id);
DROP TABLE IF EXISTS payment_plugin_properties;
CREATE TABLE payment_plugin_properties (
@@ -215,16 +208,21 @@ CREATE INDEX payment_plugin_properties_ext ON payment_plugin_properties(transact
DROP TABLE IF EXISTS _invoice_payment_control_plugin_auto_pay_off;
CREATE TABLE _invoice_payment_control_plugin_auto_pay_off (
record_id int(11) unsigned NOT NULL AUTO_INCREMENT,
- payment_external_key varchar(255),
- transaction_external_key varchar(255),
+ id char(36) NOT NULL,
+ payment_external_key varchar(255) NOT NULL,
+ transaction_external_key varchar(255) NOT NULL,
account_id char(36) NOT NULL,
- plugin_name varchar(50) DEFAULT NULL,
+ plugin_name varchar(50) NOT NULL,
payment_id char(36),
payment_method_id char(36) NOT NULL,
amount numeric(15,9),
currency char(3),
created_by varchar(50) NOT NULL,
created_date datetime NOT NULL,
+ updated_by varchar(50) NOT NULL,
+ updated_date datetime NOT NULL,
+ account_record_id int(11) unsigned DEFAULT NULL,
+ tenant_record_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (record_id)
) /*! CHARACTER SET utf8 COLLATE utf8_bin */;
CREATE INDEX _invoice_payment_control_plugin_auto_pay_off_account ON _invoice_payment_control_plugin_auto_pay_off(account_id);
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/MockRetryAuthorizeOperationCallback.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/MockRetryAuthorizeOperationCallback.java
index 3a799cf..e009298 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/MockRetryAuthorizeOperationCallback.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/MockRetryAuthorizeOperationCallback.java
@@ -27,8 +27,8 @@ import org.killbill.billing.payment.api.DirectPaymentTransaction;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
import org.killbill.billing.payment.core.DirectPaymentProcessor;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
import org.killbill.billing.payment.dispatcher.PluginDispatcher;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
@@ -58,13 +58,13 @@ public class MockRetryAuthorizeOperationCallback extends RetryAuthorizeOperation
throw new RuntimeException(exception);
}
}
- final DirectPaymentModelDao payment = new DirectPaymentModelDao(clock.getUTCNow(),
+ final PaymentModelDao payment = new PaymentModelDao(clock.getUTCNow(),
clock.getUTCNow(),
directPaymentStateContext.account.getId(),
directPaymentStateContext.paymentMethodId,
directPaymentStateContext.directPaymentExternalKey);
- final DirectPaymentTransactionModelDao transaction = new DirectPaymentTransactionModelDao(clock.getUTCNow(),
+ final PaymentTransactionModelDao transaction = new PaymentTransactionModelDao(clock.getUTCNow(),
clock.getUTCNow(),
directPaymentStateContext.directPaymentTransactionExternalKey,
directPaymentStateContext.directPaymentId,
@@ -75,12 +75,12 @@ public class MockRetryAuthorizeOperationCallback extends RetryAuthorizeOperation
directPaymentStateContext.currency,
"",
"");
- final DirectPaymentModelDao paymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(payment, transaction, directPaymentStateContext.internalCallContext);
+ final PaymentModelDao paymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(payment, transaction, directPaymentStateContext.internalCallContext);
final DirectPaymentTransaction convertedTransaction = new DefaultDirectPaymentTransaction(transaction.getId(),
transaction.getTransactionExternalKey(),
transaction.getCreatedDate(),
transaction.getUpdatedDate(),
- transaction.getDirectPaymentId(),
+ transaction.getPaymentId(),
transaction.getTransactionType(),
transaction.getEffectiveDate(),
transaction.getPaymentStatus(),
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentAutomatonDAOHelper.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentAutomatonDAOHelper.java
index de4d65b..2562aed 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentAutomatonDAOHelper.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentAutomatonDAOHelper.java
@@ -30,7 +30,7 @@ import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
import org.killbill.billing.payment.plugin.api.PaymentPluginStatus;
import org.mockito.Mockito;
@@ -66,9 +66,9 @@ public class TestDirectPaymentAutomatonDAOHelper extends PaymentTestSuiteWithEmb
final DirectPaymentAutomatonDAOHelper daoHelper = createDAOHelper(null, directPaymentExternalKey, directPaymentTransactionExternalKey, amount, currency);
daoHelper.createNewDirectPaymentTransaction();
- final DirectPaymentModelDao directPayment1 = daoHelper.getDirectPayment();
+ final PaymentModelDao directPayment1 = daoHelper.getDirectPayment();
Assert.assertEquals(directPayment1.getExternalKey(), directPaymentExternalKey);
- Assert.assertNull(directPayment1.getCurrentStateName());
+ Assert.assertNull(directPayment1.getStateName());
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getTransactionExternalKey(), directPaymentTransactionExternalKey);
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getAmount().compareTo(amount), 0);
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getCurrency(), currency);
@@ -82,10 +82,10 @@ public class TestDirectPaymentAutomatonDAOHelper extends PaymentTestSuiteWithEmb
Mockito.when(paymentInfoPlugin.getGatewayError()).thenReturn(UUID.randomUUID().toString());
daoHelper.processPaymentInfoPlugin(PaymentStatus.SUCCESS, paymentInfoPlugin, "SOME_STATE");
- final DirectPaymentModelDao directPayment2 = daoHelper.getDirectPayment();
+ final PaymentModelDao directPayment2 = daoHelper.getDirectPayment();
Assert.assertEquals(directPayment2.getExternalKey(), directPaymentExternalKey);
- Assert.assertEquals(directPayment2.getCurrentStateName(), "SOME_STATE");
- Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getDirectPaymentId(), directPayment2.getId());
+ Assert.assertEquals(directPayment2.getStateName(), "SOME_STATE");
+ Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getPaymentId(), directPayment2.getId());
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getTransactionExternalKey(), directPaymentTransactionExternalKey);
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getPaymentStatus(), PaymentStatus.SUCCESS);
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getAmount().compareTo(amount), 0);
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentEnteringStateCallback.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentEnteringStateCallback.java
index d040cc6..c13bc17 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentEnteringStateCallback.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentEnteringStateCallback.java
@@ -31,7 +31,7 @@ import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.plugin.api.PaymentTransactionInfoPlugin;
import org.killbill.billing.payment.plugin.api.PaymentPluginStatus;
import org.mockito.Mockito;
@@ -93,7 +93,7 @@ public class TestDirectPaymentEnteringStateCallback extends PaymentTestSuiteWith
callback.enteringState(state, operationCallback, operationResult, leavingStateCallback);
// Verify the updated transaction
- final DirectPaymentTransactionModelDao directPaymentTransaction = paymentDao.getDirectPaymentTransaction(directPaymentStateContext.getDirectPaymentTransactionModelDao().getId(), internalCallContext);
+ final PaymentTransactionModelDao directPaymentTransaction = paymentDao.getDirectPaymentTransaction(directPaymentStateContext.getDirectPaymentTransactionModelDao().getId(), internalCallContext);
Assert.assertEquals(directPaymentTransaction.getAmount().compareTo(directPaymentStateContext.getAmount()), 0);
Assert.assertEquals(directPaymentTransaction.getCurrency(), directPaymentStateContext.getCurrency());
Assert.assertEquals(directPaymentTransaction.getProcessedAmount().compareTo(paymentInfoPlugin.getAmount()), 0);
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentLeavingStateCallback.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentLeavingStateCallback.java
index f232c8f..f97f903 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentLeavingStateCallback.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestDirectPaymentLeavingStateCallback.java
@@ -30,8 +30,8 @@ import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -55,9 +55,9 @@ public class TestDirectPaymentLeavingStateCallback extends PaymentTestSuiteWithE
verifyDirectPaymentTransaction();
// Verify a new payment was created
- final DirectPaymentModelDao directPayment = paymentDao.getDirectPayment(directPaymentStateContext.getDirectPaymentTransactionModelDao().getDirectPaymentId(), internalCallContext);
+ final PaymentModelDao directPayment = paymentDao.getDirectPayment(directPaymentStateContext.getDirectPaymentTransactionModelDao().getPaymentId(), internalCallContext);
Assert.assertEquals(directPayment.getExternalKey(), directPaymentStateContext.getDirectPaymentExternalKey());
- Assert.assertNull(directPayment.getCurrentStateName());
+ Assert.assertNull(directPayment.getStateName());
// Verify the direct payment has only one transaction
Assert.assertEquals(paymentDao.getDirectTransactionsForDirectPayment(directPayment.getId(), internalCallContext).size(), 1);
@@ -81,7 +81,7 @@ public class TestDirectPaymentLeavingStateCallback extends PaymentTestSuiteWithE
}
private void verifyDirectPaymentTransaction() {
- Assert.assertNotNull(directPaymentStateContext.getDirectPaymentTransactionModelDao().getDirectPaymentId());
+ Assert.assertNotNull(directPaymentStateContext.getDirectPaymentTransactionModelDao().getPaymentId());
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getTransactionExternalKey(), directPaymentStateContext.getDirectPaymentTransactionExternalKey());
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getPaymentStatus(), PaymentStatus.UNKNOWN);
Assert.assertEquals(directPaymentStateContext.getDirectPaymentTransactionModelDao().getAmount().compareTo(directPaymentStateContext.getAmount()), 0);
@@ -110,7 +110,7 @@ public class TestDirectPaymentLeavingStateCallback extends PaymentTestSuiteWithE
if (directPaymentId != null) {
// Create the first payment manually
- final DirectPaymentModelDao newPaymentModelDao = new DirectPaymentModelDao(directPaymentId,
+ final PaymentModelDao newPaymentModelDao = new PaymentModelDao(directPaymentId,
clock.getUTCNow(),
clock.getUTCNow(),
directPaymentStateContext.getAccount().getId(),
@@ -118,7 +118,7 @@ public class TestDirectPaymentLeavingStateCallback extends PaymentTestSuiteWithE
1,
directPaymentStateContext.getDirectPaymentExternalKey(),
null, null);
- final DirectPaymentTransactionModelDao newPaymentTransactionModelDao = new DirectPaymentTransactionModelDao(clock.getUTCNow(),
+ final PaymentTransactionModelDao newPaymentTransactionModelDao = new PaymentTransactionModelDao(clock.getUTCNow(),
clock.getUTCNow(),
directPaymentStateContext.getDirectPaymentTransactionExternalKey(),
directPaymentId,
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestRetryableDirectPayment.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestRetryableDirectPayment.java
index 6c4ecf1..fdec68a 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestRetryableDirectPayment.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestRetryableDirectPayment.java
@@ -39,8 +39,8 @@ import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.payment.core.DirectPaymentProcessor;
import org.killbill.billing.payment.core.PluginControlledPaymentProcessor;
-import org.killbill.billing.payment.dao.DirectPaymentModelDao;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.MockPaymentDao;
import org.killbill.billing.payment.dao.PaymentAttemptModelDao;
import org.killbill.billing.payment.dao.PaymentDao;
@@ -588,8 +588,8 @@ public class TestRetryableDirectPayment extends PaymentTestSuiteNoDB {
final UUID directPaymentId = UUID.randomUUID();
paymentDao.insertPaymentAttemptWithProperties(new PaymentAttemptModelDao(utcNow, utcNow, directPaymentExternalKey, directTransactionId, directPaymentTransactionExternalKey, state.getName(), TransactionType.AUTHORIZE.name(), null),
ImmutableList.<PluginPropertyModelDao>of(), internalCallContext);
- paymentDao.insertDirectPaymentWithFirstTransaction(new DirectPaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
- new DirectPaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow, PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo", null, null),
+ paymentDao.insertDirectPaymentWithFirstTransaction(new PaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
+ new PaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow, PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo"),
internalCallContext);
processor.retryPaymentTransaction(directPaymentTransactionExternalKey, MockPaymentControlProviderPlugin.PLUGIN_NAME, internalCallContext);
@@ -619,9 +619,9 @@ public class TestRetryableDirectPayment extends PaymentTestSuiteNoDB {
final UUID directPaymentId = UUID.randomUUID();
paymentDao.insertPaymentAttemptWithProperties(new PaymentAttemptModelDao(utcNow, utcNow, directPaymentExternalKey, directTransactionId, directPaymentTransactionExternalKey, state.getName(), TransactionType.AUTHORIZE.name(), null),
ImmutableList.<PluginPropertyModelDao>of(), internalCallContext);
- paymentDao.insertDirectPaymentWithFirstTransaction(new DirectPaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
- new DirectPaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow,
- PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo", null, null),
+ paymentDao.insertDirectPaymentWithFirstTransaction(new PaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
+ new PaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow,
+ PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo"),
internalCallContext
);
@@ -657,9 +657,9 @@ public class TestRetryableDirectPayment extends PaymentTestSuiteNoDB {
final UUID directPaymentId = UUID.randomUUID();
paymentDao.insertPaymentAttemptWithProperties(new PaymentAttemptModelDao(utcNow, utcNow, directPaymentExternalKey, directTransactionId, directPaymentTransactionExternalKey, state.getName(), TransactionType.AUTHORIZE.name(), null),
ImmutableList.<PluginPropertyModelDao>of(), internalCallContext);
- paymentDao.insertDirectPaymentWithFirstTransaction(new DirectPaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
- new DirectPaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow,
- PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo", null, null),
+ paymentDao.insertDirectPaymentWithFirstTransaction(new PaymentModelDao(directPaymentId, utcNow, utcNow, account.getId(), paymentMethodId, -1, directPaymentExternalKey, null, null),
+ new PaymentTransactionModelDao(directTransactionId, directPaymentTransactionExternalKey, utcNow, utcNow, directPaymentId, TransactionType.AUTHORIZE, utcNow,
+ PaymentStatus.PAYMENT_FAILURE, amount, currency, "bla", "foo"),
internalCallContext
);
diff --git a/payment/src/test/java/org/killbill/billing/payment/dao/MockPaymentDao.java b/payment/src/test/java/org/killbill/billing/payment/dao/MockPaymentDao.java
index d8cb9c5..7ed075f 100644
--- a/payment/src/test/java/org/killbill/billing/payment/dao/MockPaymentDao.java
+++ b/payment/src/test/java/org/killbill/billing/payment/dao/MockPaymentDao.java
@@ -37,8 +37,8 @@ import com.google.common.collect.Iterables;
public class MockPaymentDao implements PaymentDao {
- private final Map<UUID, DirectPaymentModelDao> payments = new HashMap<UUID, DirectPaymentModelDao>();
- private final Map<UUID, DirectPaymentTransactionModelDao> transactions = new HashMap<UUID, DirectPaymentTransactionModelDao>();
+ private final Map<UUID, PaymentModelDao> payments = new HashMap<UUID, PaymentModelDao>();
+ private final Map<UUID, PaymentTransactionModelDao> transactions = new HashMap<UUID, PaymentTransactionModelDao>();
private final Map<String, PaymentAttemptModelDao> attempts = new HashMap<String, PaymentAttemptModelDao>();
public void reset() {
@@ -67,7 +67,7 @@ public class MockPaymentDao implements PaymentDao {
for (PaymentAttemptModelDao cur : attempts.values()) {
if (cur.getId().equals(paymentAttemptId)) {
cur.setStateName(state);
- cur.setDirectTransactionId(transactionId);
+ cur.setTransactionId(transactionId);
success = true;
break;
}
@@ -97,9 +97,9 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(final String transactionExternalKey, final InternalTenantContext context) {
+ public PaymentTransactionModelDao getDirectPaymentTransactionByExternalKey(final String transactionExternalKey, final InternalTenantContext context) {
synchronized (this) {
- for (DirectPaymentTransactionModelDao cur : transactions.values()) {
+ for (PaymentTransactionModelDao cur : transactions.values()) {
if (cur.getTransactionExternalKey().equals(transactionExternalKey)) {
return cur;
}
@@ -109,9 +109,9 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentModelDao getDirectPaymentByExternalKey(final String externalKey, final InternalTenantContext context) {
+ public PaymentModelDao getDirectPaymentByExternalKey(final String externalKey, final InternalTenantContext context) {
synchronized (this) {
- for (DirectPaymentModelDao cur : payments.values()) {
+ for (PaymentModelDao cur : payments.values()) {
if (cur.getExternalKey().equals(externalKey)) {
return cur;
}
@@ -121,12 +121,12 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public Pagination<DirectPaymentModelDao> getDirectPayments(final String pluginName, final Long offset, final Long limit, final InternalTenantContext context) {
+ public Pagination<PaymentModelDao> getDirectPayments(final String pluginName, final Long offset, final Long limit, final InternalTenantContext context) {
return null;
}
@Override
- public DirectPaymentModelDao insertDirectPaymentWithFirstTransaction(final DirectPaymentModelDao directPayment, final DirectPaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
+ public PaymentModelDao insertDirectPaymentWithFirstTransaction(final PaymentModelDao directPayment, final PaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
synchronized (this) {
payments.put(directPayment.getId(), directPayment);
transactions.put(directPaymentTransaction.getId(), directPaymentTransaction);
@@ -135,7 +135,7 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentTransactionModelDao updateDirectPaymentWithNewTransaction(final UUID directPaymentId, final DirectPaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
+ public PaymentTransactionModelDao updateDirectPaymentWithNewTransaction(final UUID directPaymentId, final PaymentTransactionModelDao directPaymentTransaction, final InternalCallContext context) {
synchronized (this) {
transactions.put(directPaymentTransaction.getId(), directPaymentTransaction);
}
@@ -145,11 +145,11 @@ public class MockPaymentDao implements PaymentDao {
@Override
public void updateDirectPaymentAndTransactionOnCompletion(final UUID directPaymentId, final String currentPaymentStateName, final UUID directTransactionId, final PaymentStatus paymentStatus, final BigDecimal processedAmount, final Currency processedCurrency, final String gatewayErrorCode, final String gatewayErrorMsg, final InternalCallContext context) {
synchronized (this) {
- final DirectPaymentModelDao payment = payments.get(directPaymentId);
+ final PaymentModelDao payment = payments.get(directPaymentId);
if (payment != null) {
- payment.setCurrentStateName(currentPaymentStateName);
+ payment.setStateName(currentPaymentStateName);
}
- final DirectPaymentTransactionModelDao transaction = transactions.get(directTransactionId);
+ final PaymentTransactionModelDao transaction = transactions.get(directTransactionId);
if (transaction != null) {
transaction.setPaymentStatus(paymentStatus);
transaction.setProcessedAmount(processedAmount);
@@ -161,25 +161,25 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public DirectPaymentModelDao getDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
+ public PaymentModelDao getDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
synchronized (this) {
return payments.get(directPaymentId);
}
}
@Override
- public DirectPaymentTransactionModelDao getDirectPaymentTransaction(final UUID directTransactionId, final InternalTenantContext context) {
+ public PaymentTransactionModelDao getDirectPaymentTransaction(final UUID directTransactionId, final InternalTenantContext context) {
synchronized (this) {
return transactions.get(directTransactionId);
}
}
@Override
- public List<DirectPaymentModelDao> getDirectPaymentsForAccount(final UUID accountId, final InternalTenantContext context) {
+ public List<PaymentModelDao> getDirectPaymentsForAccount(final UUID accountId, final InternalTenantContext context) {
synchronized (this) {
- return ImmutableList.copyOf(Iterables.filter(payments.values(), new Predicate<DirectPaymentModelDao>() {
+ return ImmutableList.copyOf(Iterables.filter(payments.values(), new Predicate<PaymentModelDao>() {
@Override
- public boolean apply(final DirectPaymentModelDao input) {
+ public boolean apply(final PaymentModelDao input) {
return input.getAccountId().equals(accountId);
}
}));
@@ -187,12 +187,12 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForAccount(final UUID accountId, final InternalTenantContext context) {
+ public List<PaymentTransactionModelDao> getDirectTransactionsForAccount(final UUID accountId, final InternalTenantContext context) {
synchronized (this) {
- return ImmutableList.copyOf(Iterables.filter(transactions.values(), new Predicate<DirectPaymentTransactionModelDao>() {
+ return ImmutableList.copyOf(Iterables.filter(transactions.values(), new Predicate<PaymentTransactionModelDao>() {
@Override
- public boolean apply(final DirectPaymentTransactionModelDao input) {
- final DirectPaymentModelDao payment = payments.get(input.getDirectPaymentId());
+ public boolean apply(final PaymentTransactionModelDao input) {
+ final PaymentModelDao payment = payments.get(input.getPaymentId());
if (payment != null) {
return payment.getAccountId().equals(accountId);
} else {
@@ -204,12 +204,12 @@ public class MockPaymentDao implements PaymentDao {
}
@Override
- public List<DirectPaymentTransactionModelDao> getDirectTransactionsForDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
+ public List<PaymentTransactionModelDao> getDirectTransactionsForDirectPayment(final UUID directPaymentId, final InternalTenantContext context) {
synchronized (this) {
- return ImmutableList.copyOf(Iterables.filter(transactions.values(), new Predicate<DirectPaymentTransactionModelDao>() {
+ return ImmutableList.copyOf(Iterables.filter(transactions.values(), new Predicate<PaymentTransactionModelDao>() {
@Override
- public boolean apply(final DirectPaymentTransactionModelDao input) {
- return input.getDirectPaymentId().equals(directPaymentId);
+ public boolean apply(final PaymentTransactionModelDao input) {
+ return input.getPaymentId().equals(directPaymentId);
}
}));
}
diff --git a/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java b/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
index 377a7ec..968e241 100644
--- a/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
+++ b/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
@@ -42,26 +42,26 @@ public class TestDefaultPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
// We need to create specific call contexts to make the account_record_id magic work
final InternalCallContext accountCallContext = new InternalCallContext(internalCallContext, (long) accountNb);
- final DirectPaymentModelDao specifiedFirstDirectPaymentModelDao = generateDirectPaymentModelDao(accountId);
- final DirectPaymentTransactionModelDao specifiedFirstDirectPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(specifiedFirstDirectPaymentModelDao.getId());
+ final PaymentModelDao specifiedFirstPaymentModelDao = generateDirectPaymentModelDao(accountId);
+ final PaymentTransactionModelDao specifiedFirstDirectPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(specifiedFirstPaymentModelDao.getId());
// Create and verify the payment and transaction
- final DirectPaymentModelDao firstDirectPaymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(specifiedFirstDirectPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao, accountCallContext);
- verifyDirectPayment(firstDirectPaymentModelDao, specifiedFirstDirectPaymentModelDao);
- verifyDirectPaymentAndTransactions(accountCallContext, specifiedFirstDirectPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao);
+ final PaymentModelDao firstPaymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(specifiedFirstPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao, accountCallContext);
+ verifyDirectPayment(firstPaymentModelDao, specifiedFirstPaymentModelDao);
+ verifyDirectPaymentAndTransactions(accountCallContext, specifiedFirstPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao);
// Create a second transaction for the same payment
- final DirectPaymentTransactionModelDao specifiedSecondDirectPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(specifiedFirstDirectPaymentModelDao.getId());
- final DirectPaymentTransactionModelDao secondDirectTransactionModelDao = paymentDao.updateDirectPaymentWithNewTransaction(specifiedFirstDirectPaymentTransactionModelDao.getDirectPaymentId(), specifiedSecondDirectPaymentTransactionModelDao, accountCallContext);
+ final PaymentTransactionModelDao specifiedSecondDirectPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(specifiedFirstPaymentModelDao.getId());
+ final PaymentTransactionModelDao secondDirectTransactionModelDao = paymentDao.updateDirectPaymentWithNewTransaction(specifiedFirstDirectPaymentTransactionModelDao.getPaymentId(), specifiedSecondDirectPaymentTransactionModelDao, accountCallContext);
verifyDirectPaymentTransaction(secondDirectTransactionModelDao, specifiedSecondDirectPaymentTransactionModelDao);
- verifyDirectPaymentAndTransactions(accountCallContext, specifiedFirstDirectPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao, specifiedSecondDirectPaymentTransactionModelDao);
+ verifyDirectPaymentAndTransactions(accountCallContext, specifiedFirstPaymentModelDao, specifiedFirstDirectPaymentTransactionModelDao, specifiedSecondDirectPaymentTransactionModelDao);
// Update the latest transaction
final BigDecimal processedAmount = new BigDecimal("902341.23232");
final Currency processedCurrency = Currency.USD;
final String gatewayErrorCode = UUID.randomUUID().toString().substring(0, 5);
final String gatewayErrorMsg = UUID.randomUUID().toString();
- paymentDao.updateDirectPaymentAndTransactionOnCompletion(specifiedSecondDirectPaymentTransactionModelDao.getDirectPaymentId(),
+ paymentDao.updateDirectPaymentAndTransactionOnCompletion(specifiedSecondDirectPaymentTransactionModelDao.getPaymentId(),
"SOME_ERRORED_STATE",
specifiedSecondDirectPaymentTransactionModelDao.getId(),
PaymentStatus.PAYMENT_FAILURE_ABORTED,
@@ -71,54 +71,54 @@ public class TestDefaultPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
gatewayErrorMsg,
accountCallContext);
- final DirectPaymentTransactionModelDao updatedSecondDirectPaymentTransactionModelDao = paymentDao.getDirectPaymentTransaction(specifiedSecondDirectPaymentTransactionModelDao.getId(), accountCallContext);
+ final PaymentTransactionModelDao updatedSecondDirectPaymentTransactionModelDao = paymentDao.getDirectPaymentTransaction(specifiedSecondDirectPaymentTransactionModelDao.getId(), accountCallContext);
Assert.assertEquals(updatedSecondDirectPaymentTransactionModelDao.getPaymentStatus(), PaymentStatus.PAYMENT_FAILURE_ABORTED);
Assert.assertEquals(updatedSecondDirectPaymentTransactionModelDao.getGatewayErrorMsg(), gatewayErrorMsg);
Assert.assertEquals(updatedSecondDirectPaymentTransactionModelDao.getGatewayErrorMsg(), gatewayErrorMsg);
// Create multiple payments for that account
for (int i = 0; i < 3; i++) {
- final DirectPaymentModelDao directPaymentModelDao = generateDirectPaymentModelDao(accountId);
- final DirectPaymentTransactionModelDao directPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(directPaymentModelDao.getId());
+ final PaymentModelDao paymentModelDao = generateDirectPaymentModelDao(accountId);
+ final PaymentTransactionModelDao directPaymentTransactionModelDao = generateDirectPaymentTransactionModelDao(paymentModelDao.getId());
- final DirectPaymentModelDao insertedDirectPaymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(directPaymentModelDao, directPaymentTransactionModelDao, accountCallContext);
- verifyDirectPayment(insertedDirectPaymentModelDao, directPaymentModelDao);
+ final PaymentModelDao insertedPaymentModelDao = paymentDao.insertDirectPaymentWithFirstTransaction(paymentModelDao, directPaymentTransactionModelDao, accountCallContext);
+ verifyDirectPayment(insertedPaymentModelDao, paymentModelDao);
}
- Assert.assertEquals(paymentDao.getDirectPaymentsForAccount(specifiedFirstDirectPaymentModelDao.getAccountId(), accountCallContext).size(), 4);
+ Assert.assertEquals(paymentDao.getDirectPaymentsForAccount(specifiedFirstPaymentModelDao.getAccountId(), accountCallContext).size(), 4);
}
- private void verifyDirectPaymentAndTransactions(final InternalCallContext accountCallContext, final DirectPaymentModelDao specifiedFirstDirectPaymentModelDao, final DirectPaymentTransactionModelDao... specifiedFirstDirectPaymentTransactionModelDaos) {
- for (final DirectPaymentTransactionModelDao specifiedFirstDirectPaymentTransactionModelDao : specifiedFirstDirectPaymentTransactionModelDaos) {
- final DirectPaymentTransactionModelDao firstDirectTransactionModelDao = paymentDao.getDirectPaymentTransaction(specifiedFirstDirectPaymentTransactionModelDao.getId(), accountCallContext);
+ private void verifyDirectPaymentAndTransactions(final InternalCallContext accountCallContext, final PaymentModelDao specifiedFirstPaymentModelDao, final PaymentTransactionModelDao... specifiedFirstDirectPaymentTransactionModelDaos) {
+ for (final PaymentTransactionModelDao specifiedFirstDirectPaymentTransactionModelDao : specifiedFirstDirectPaymentTransactionModelDaos) {
+ final PaymentTransactionModelDao firstDirectTransactionModelDao = paymentDao.getDirectPaymentTransaction(specifiedFirstDirectPaymentTransactionModelDao.getId(), accountCallContext);
verifyDirectPaymentTransaction(firstDirectTransactionModelDao, specifiedFirstDirectPaymentTransactionModelDao);
}
// Retrieve the payment directly
- final DirectPaymentModelDao secondDirectPaymentModelDao = paymentDao.getDirectPayment(specifiedFirstDirectPaymentModelDao.getId(), accountCallContext);
- verifyDirectPayment(secondDirectPaymentModelDao, specifiedFirstDirectPaymentModelDao);
+ final PaymentModelDao secondPaymentModelDao = paymentDao.getDirectPayment(specifiedFirstPaymentModelDao.getId(), accountCallContext);
+ verifyDirectPayment(secondPaymentModelDao, specifiedFirstPaymentModelDao);
// Retrieve the payments for the account
- final List<DirectPaymentModelDao> paymentsForAccount = paymentDao.getDirectPaymentsForAccount(specifiedFirstDirectPaymentModelDao.getAccountId(), accountCallContext);
+ final List<PaymentModelDao> paymentsForAccount = paymentDao.getDirectPaymentsForAccount(specifiedFirstPaymentModelDao.getAccountId(), accountCallContext);
Assert.assertEquals(paymentsForAccount.size(), 1);
- verifyDirectPayment(paymentsForAccount.get(0), specifiedFirstDirectPaymentModelDao);
+ verifyDirectPayment(paymentsForAccount.get(0), specifiedFirstPaymentModelDao);
// Retrieve the transactions for the account
- final List<DirectPaymentTransactionModelDao> transactionsForAccount = paymentDao.getDirectTransactionsForAccount(specifiedFirstDirectPaymentModelDao.getAccountId(), accountCallContext);
+ final List<PaymentTransactionModelDao> transactionsForAccount = paymentDao.getDirectTransactionsForAccount(specifiedFirstPaymentModelDao.getAccountId(), accountCallContext);
Assert.assertEquals(transactionsForAccount.size(), specifiedFirstDirectPaymentTransactionModelDaos.length);
for (int i = 0; i < specifiedFirstDirectPaymentTransactionModelDaos.length; i++) {
verifyDirectPaymentTransaction(transactionsForAccount.get(i), specifiedFirstDirectPaymentTransactionModelDaos[i]);
}
// Retrieve the transactions for the payment
- final List<DirectPaymentTransactionModelDao> transactionsForPayment = paymentDao.getDirectTransactionsForDirectPayment(specifiedFirstDirectPaymentModelDao.getId(), accountCallContext);
+ final List<PaymentTransactionModelDao> transactionsForPayment = paymentDao.getDirectTransactionsForDirectPayment(specifiedFirstPaymentModelDao.getId(), accountCallContext);
Assert.assertEquals(transactionsForPayment.size(), specifiedFirstDirectPaymentTransactionModelDaos.length);
for (int i = 0; i < specifiedFirstDirectPaymentTransactionModelDaos.length; i++) {
verifyDirectPaymentTransaction(transactionsForPayment.get(i), specifiedFirstDirectPaymentTransactionModelDaos[i]);
}
}
- private DirectPaymentTransactionModelDao generateDirectPaymentTransactionModelDao(final UUID directPaymentId) {
- return new DirectPaymentTransactionModelDao(UUID.randomUUID(),
+ private PaymentTransactionModelDao generateDirectPaymentTransactionModelDao(final UUID directPaymentId) {
+ return new PaymentTransactionModelDao(UUID.randomUUID(),
UUID.randomUUID().toString(),
clock.getUTCNow(),
clock.getUTCNow(),
@@ -129,12 +129,12 @@ public class TestDefaultPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
new BigDecimal("192.32910002"),
Currency.EUR,
UUID.randomUUID().toString().substring(0, 5),
- UUID.randomUUID().toString(),
- null, null);
+ UUID.randomUUID().toString()
+ );
}
- private DirectPaymentModelDao generateDirectPaymentModelDao(final UUID accountId) {
- return new DirectPaymentModelDao(UUID.randomUUID(),
+ private PaymentModelDao generateDirectPaymentModelDao(final UUID accountId) {
+ return new PaymentModelDao(UUID.randomUUID(),
clock.getUTCNow(),
clock.getUTCNow(),
accountId,
@@ -144,15 +144,15 @@ public class TestDefaultPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
null, null);
}
- private void verifyDirectPayment(final DirectPaymentModelDao loadedDirectPaymentModelDao, final DirectPaymentModelDao specifiedDirectPaymentModelDao) {
- Assert.assertEquals(loadedDirectPaymentModelDao.getAccountId(), specifiedDirectPaymentModelDao.getAccountId());
- Assert.assertTrue(loadedDirectPaymentModelDao.getPaymentNumber() > 0);
- Assert.assertEquals(loadedDirectPaymentModelDao.getPaymentMethodId(), specifiedDirectPaymentModelDao.getPaymentMethodId());
- Assert.assertEquals(loadedDirectPaymentModelDao.getExternalKey(), specifiedDirectPaymentModelDao.getExternalKey());
+ private void verifyDirectPayment(final PaymentModelDao loadedPaymentModelDao, final PaymentModelDao specifiedPaymentModelDao) {
+ Assert.assertEquals(loadedPaymentModelDao.getAccountId(), specifiedPaymentModelDao.getAccountId());
+ Assert.assertTrue(loadedPaymentModelDao.getPaymentNumber() > 0);
+ Assert.assertEquals(loadedPaymentModelDao.getPaymentMethodId(), specifiedPaymentModelDao.getPaymentMethodId());
+ Assert.assertEquals(loadedPaymentModelDao.getExternalKey(), specifiedPaymentModelDao.getExternalKey());
}
- private void verifyDirectPaymentTransaction(final DirectPaymentTransactionModelDao loadedDirectPaymentTransactionModelDao, final DirectPaymentTransactionModelDao specifiedDirectPaymentTransactionModelDao) {
- Assert.assertEquals(loadedDirectPaymentTransactionModelDao.getDirectPaymentId(), specifiedDirectPaymentTransactionModelDao.getDirectPaymentId());
+ private void verifyDirectPaymentTransaction(final PaymentTransactionModelDao loadedDirectPaymentTransactionModelDao, final PaymentTransactionModelDao specifiedDirectPaymentTransactionModelDao) {
+ Assert.assertEquals(loadedDirectPaymentTransactionModelDao.getPaymentId(), specifiedDirectPaymentTransactionModelDao.getPaymentId());
Assert.assertEquals(loadedDirectPaymentTransactionModelDao.getTransactionExternalKey(), specifiedDirectPaymentTransactionModelDao.getTransactionExternalKey());
Assert.assertEquals(loadedDirectPaymentTransactionModelDao.getTransactionType(), specifiedDirectPaymentTransactionModelDao.getTransactionType());
Assert.assertEquals(loadedDirectPaymentTransactionModelDao.getEffectiveDate().compareTo(specifiedDirectPaymentTransactionModelDao.getEffectiveDate()), 0);
diff --git a/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java b/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
index d2cdab5..60d9e1b 100644
--- a/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
+++ b/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
@@ -103,78 +103,78 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
final DateTime utcNow = clock.getUTCNow();
- final DirectPaymentModelDao paymentModelDao = new DirectPaymentModelDao(utcNow, utcNow, accountId, paymentMethodId, externalKey);
- final DirectPaymentTransactionModelDao transactionModelDao = new DirectPaymentTransactionModelDao(utcNow, utcNow, transactionExternalKey,
+ final PaymentModelDao paymentModelDao = new PaymentModelDao(utcNow, utcNow, accountId, paymentMethodId, externalKey);
+ final PaymentTransactionModelDao transactionModelDao = new PaymentTransactionModelDao(utcNow, utcNow, transactionExternalKey,
paymentModelDao.getId(), TransactionType.AUTHORIZE, utcNow,
PaymentStatus.SUCCESS, BigDecimal.TEN, Currency.AED,
"success", "");
- final DirectPaymentModelDao savedPayment = paymentDao.insertDirectPaymentWithFirstTransaction(paymentModelDao, transactionModelDao, internalCallContext);
+ final PaymentModelDao savedPayment = paymentDao.insertDirectPaymentWithFirstTransaction(paymentModelDao, transactionModelDao, internalCallContext);
assertEquals(savedPayment.getId(), paymentModelDao.getId());
assertEquals(savedPayment.getAccountId(), paymentModelDao.getAccountId());
assertEquals(savedPayment.getExternalKey(), paymentModelDao.getExternalKey());
assertEquals(savedPayment.getPaymentMethodId(), paymentModelDao.getPaymentMethodId());
- assertNull(savedPayment.getCurrentStateName());
+ assertNull(savedPayment.getStateName());
- final DirectPaymentModelDao savedPayment2 = paymentDao.getDirectPayment(savedPayment.getId(), internalCallContext);
+ final PaymentModelDao savedPayment2 = paymentDao.getDirectPayment(savedPayment.getId(), internalCallContext);
assertEquals(savedPayment2.getId(), paymentModelDao.getId());
assertEquals(savedPayment2.getAccountId(), paymentModelDao.getAccountId());
assertEquals(savedPayment2.getExternalKey(), paymentModelDao.getExternalKey());
assertEquals(savedPayment2.getPaymentMethodId(), paymentModelDao.getPaymentMethodId());
- assertNull(savedPayment2.getCurrentStateName());
+ assertNull(savedPayment2.getStateName());
- final DirectPaymentModelDao savedPayment3 = paymentDao.getDirectPaymentByExternalKey(externalKey, internalCallContext);
+ final PaymentModelDao savedPayment3 = paymentDao.getDirectPaymentByExternalKey(externalKey, internalCallContext);
assertEquals(savedPayment3.getId(), paymentModelDao.getId());
assertEquals(savedPayment3.getAccountId(), paymentModelDao.getAccountId());
assertEquals(savedPayment3.getExternalKey(), paymentModelDao.getExternalKey());
assertEquals(savedPayment3.getPaymentMethodId(), paymentModelDao.getPaymentMethodId());
- assertNull(savedPayment3.getCurrentStateName());
+ assertNull(savedPayment3.getStateName());
- final DirectPaymentTransactionModelDao savedTransaction = paymentDao.getDirectPaymentTransaction(transactionModelDao.getId(), internalCallContext);
+ final PaymentTransactionModelDao savedTransaction = paymentDao.getDirectPaymentTransaction(transactionModelDao.getId(), internalCallContext);
assertEquals(savedTransaction.getTransactionExternalKey(), transactionExternalKey);
- assertEquals(savedTransaction.getDirectPaymentId(), paymentModelDao.getId());
+ assertEquals(savedTransaction.getPaymentId(), paymentModelDao.getId());
assertEquals(savedTransaction.getTransactionType(), TransactionType.AUTHORIZE);
assertEquals(savedTransaction.getPaymentStatus(), PaymentStatus.SUCCESS);
assertEquals(savedTransaction.getAmount().compareTo(BigDecimal.TEN), 0);
assertEquals(savedTransaction.getCurrency(), Currency.AED);
- final DirectPaymentTransactionModelDao savedTransaction2 = paymentDao.getDirectPaymentTransactionByExternalKey(transactionExternalKey, internalCallContext);
+ final PaymentTransactionModelDao savedTransaction2 = paymentDao.getDirectPaymentTransactionByExternalKey(transactionExternalKey, internalCallContext);
assertEquals(savedTransaction2.getTransactionExternalKey(), transactionExternalKey);
- assertEquals(savedTransaction2.getDirectPaymentId(), paymentModelDao.getId());
+ assertEquals(savedTransaction2.getPaymentId(), paymentModelDao.getId());
assertEquals(savedTransaction2.getTransactionType(), TransactionType.AUTHORIZE);
assertEquals(savedTransaction2.getPaymentStatus(), PaymentStatus.SUCCESS);
assertEquals(savedTransaction2.getAmount().compareTo(BigDecimal.TEN), 0);
assertEquals(savedTransaction2.getCurrency(), Currency.AED);
- final DirectPaymentTransactionModelDao transactionModelDao2 = new DirectPaymentTransactionModelDao(utcNow, utcNow, transactionExternalKey2,
+ final PaymentTransactionModelDao transactionModelDao2 = new PaymentTransactionModelDao(utcNow, utcNow, transactionExternalKey2,
paymentModelDao.getId(), TransactionType.AUTHORIZE, utcNow,
PaymentStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"success", "");
- final DirectPaymentTransactionModelDao savedTransactionModelDao2 = paymentDao.updateDirectPaymentWithNewTransaction(savedPayment.getId(), transactionModelDao2, internalCallContext);
+ final PaymentTransactionModelDao savedTransactionModelDao2 = paymentDao.updateDirectPaymentWithNewTransaction(savedPayment.getId(), transactionModelDao2, internalCallContext);
assertEquals(savedTransactionModelDao2.getTransactionExternalKey(), transactionExternalKey2);
- assertEquals(savedTransactionModelDao2.getDirectPaymentId(), paymentModelDao.getId());
+ assertEquals(savedTransactionModelDao2.getPaymentId(), paymentModelDao.getId());
assertEquals(savedTransactionModelDao2.getTransactionType(), TransactionType.AUTHORIZE);
assertEquals(savedTransactionModelDao2.getPaymentStatus(), PaymentStatus.UNKNOWN);
assertEquals(savedTransactionModelDao2.getAmount().compareTo(BigDecimal.TEN), 0);
assertEquals(savedTransactionModelDao2.getCurrency(), Currency.AED);
- final List<DirectPaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(savedPayment.getId(), internalCallContext);
+ final List<PaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(savedPayment.getId(), internalCallContext);
assertEquals(transactions.size(), 2);
paymentDao.updateDirectPaymentAndTransactionOnCompletion(savedPayment.getId(), "AUTH_SUCCESS", transactionModelDao2.getId(), PaymentStatus.SUCCESS,
BigDecimal.ONE, Currency.USD, null, "nothing", internalCallContext);
- final DirectPaymentModelDao savedPayment4 = paymentDao.getDirectPayment(savedPayment.getId(), internalCallContext);
+ final PaymentModelDao savedPayment4 = paymentDao.getDirectPayment(savedPayment.getId(), internalCallContext);
assertEquals(savedPayment4.getId(), paymentModelDao.getId());
assertEquals(savedPayment4.getAccountId(), paymentModelDao.getAccountId());
assertEquals(savedPayment4.getExternalKey(), paymentModelDao.getExternalKey());
assertEquals(savedPayment4.getPaymentMethodId(), paymentModelDao.getPaymentMethodId());
- assertEquals(savedPayment4.getCurrentStateName(), "AUTH_SUCCESS");
+ assertEquals(savedPayment4.getStateName(), "AUTH_SUCCESS");
- final DirectPaymentTransactionModelDao savedTransactionModelDao4 = paymentDao.getDirectPaymentTransaction(savedTransactionModelDao2.getId(), internalCallContext);
+ final PaymentTransactionModelDao savedTransactionModelDao4 = paymentDao.getDirectPaymentTransaction(savedTransactionModelDao2.getId(), internalCallContext);
assertEquals(savedTransactionModelDao4.getTransactionExternalKey(), transactionExternalKey2);
- assertEquals(savedTransactionModelDao4.getDirectPaymentId(), paymentModelDao.getId());
+ assertEquals(savedTransactionModelDao4.getPaymentId(), paymentModelDao.getId());
assertEquals(savedTransactionModelDao4.getTransactionType(), TransactionType.AUTHORIZE);
assertEquals(savedTransactionModelDao4.getPaymentStatus(), PaymentStatus.SUCCESS);
assertEquals(savedTransactionModelDao4.getAmount().compareTo(BigDecimal.TEN), 0);
@@ -186,10 +186,10 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertNull(savedTransactionModelDao4.getExtFirstPaymentRefId());
assertNull(savedTransactionModelDao4.getExtSecondPaymentRefId());
- final List<DirectPaymentModelDao> payments = paymentDao.getDirectPaymentsForAccount(accountId, internalCallContext);
+ final List<PaymentModelDao> payments = paymentDao.getDirectPaymentsForAccount(accountId, internalCallContext);
assertEquals(payments.size(), 1);
- final List<DirectPaymentTransactionModelDao> transactions2 =paymentDao.getDirectTransactionsForAccount(accountId, internalCallContext);
+ final List<PaymentTransactionModelDao> transactions2 =paymentDao.getDirectTransactionsForAccount(accountId, internalCallContext);
assertEquals(transactions2.size(), 2);
}
diff --git a/payment/src/test/java/org/killbill/billing/payment/TestRetryService.java b/payment/src/test/java/org/killbill/billing/payment/TestRetryService.java
index 55f7c60..0b5b7ee 100644
--- a/payment/src/test/java/org/killbill/billing/payment/TestRetryService.java
+++ b/payment/src/test/java/org/killbill/billing/payment/TestRetryService.java
@@ -32,7 +32,7 @@ import org.killbill.billing.payment.api.DirectPayment;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.control.InvoicePaymentControlPluginApi;
-import org.killbill.billing.payment.dao.DirectPaymentTransactionModelDao;
+import org.killbill.billing.payment.dao.PaymentTransactionModelDao;
import org.killbill.billing.payment.dao.PaymentAttemptModelDao;
import org.killbill.billing.payment.glue.DefaultPaymentService;
import org.killbill.billing.payment.provider.MockPaymentProviderPlugin;
@@ -143,7 +143,7 @@ public class TestRetryService extends PaymentTestSuiteNoDB {
List<PaymentAttemptModelDao> attempts = paymentDao.getPaymentAttempts(payment.getExternalKey(), internalCallContext);
assertEquals(attempts.size(), 1);
- final List<DirectPaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(payment.getId(), internalCallContext);
+ final List<PaymentTransactionModelDao> transactions = paymentDao.getDirectTransactionsForDirectPayment(payment.getId(), internalCallContext);
assertEquals(transactions.size(), 1);
for (int curFailure = 0; curFailure < maxTries; curFailure++) {
diff --git a/util/src/main/java/org/killbill/billing/util/dao/TableName.java b/util/src/main/java/org/killbill/billing/util/dao/TableName.java
index 4e00bb2..fa391a0 100644
--- a/util/src/main/java/org/killbill/billing/util/dao/TableName.java
+++ b/util/src/main/java/org/killbill/billing/util/dao/TableName.java
@@ -41,10 +41,8 @@ public enum TableName {
PAYMENTS("payments", ObjectType.PAYMENT, PAYMENT_HISTORY),
PAYMENT_METHOD_HISTORY("payment_method_history"),
PAYMENT_METHODS("payment_methods", ObjectType.PAYMENT_METHOD, PAYMENT_METHOD_HISTORY),
- DIRECT_PAYMENT_HISTORY("direct_payment_history"),
- DIRECT_PAYMENTS("direct_payments", ObjectType.DIRECT_PAYMENT, DIRECT_PAYMENT_HISTORY),
- DIRECT_TRANSACTION_HISTORY("direct_transaction_history"),
- DIRECT_TRANSACTIONS("direct_transactions", ObjectType.DIRECT_TRANSACTION, DIRECT_TRANSACTION_HISTORY),
+ TRANSACTION_HISTORY("transaction_history"),
+ TRANSACTIONS("transactions", ObjectType.TRANSACTION, TRANSACTION_HISTORY),
SUBSCRIPTIONS("subscriptions", ObjectType.SUBSCRIPTION),
SUBSCRIPTION_EVENTS("subscription_events", ObjectType.SUBSCRIPTION_EVENT),
REFUND_HISTORY("refund_history"),