killbill-aplcache
Changes
account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeNotification.java 4(+2 -2)
analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java 14(+7 -7)
entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java 6(+3 -3)
entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java 8(+4 -4)
entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java 2(+1 -1)
entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionData.java 2(+1 -1)
entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionDataIterator.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java 16(+8 -8)
invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultEmptyInvoiceNotification.java 4(+2 -2)
invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationNotification.java 4(+2 -2)
invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java 2(+1 -1)
pom.xml 2(+1 -1)
Details
diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeNotification.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeNotification.java
index 203a0f4..85401d7 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeNotification.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountChangeNotification.java
@@ -17,7 +17,7 @@
package com.ning.billing.account.api.user;
import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountChangeNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
import com.ning.billing.account.api.ChangedField;
import com.ning.billing.account.api.DefaultChangedField;
@@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
-public class DefaultAccountChangeNotification implements AccountChangeNotification {
+public class DefaultAccountChangeNotification implements AccountChangeEvent {
private final UUID userToken;
private final List<ChangedField> changedFields;
diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
index 8ce9342..9e5a9f1 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountCreationEvent.java
@@ -17,13 +17,13 @@
package com.ning.billing.account.api.user;
import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountCreationNotification;
+import com.ning.billing.account.api.AccountCreationEvent;
import com.ning.billing.account.api.AccountData;
import com.ning.billing.util.bus.BusEvent.BusEventType;
import java.util.UUID;
-public class DefaultAccountCreationEvent implements AccountCreationNotification {
+public class DefaultAccountCreationEvent implements AccountCreationEvent {
private final UUID userToken;
private final UUID id;
diff --git a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
index 57a9da4..b9a2b31 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AuditedAccountDao.java
@@ -33,8 +33,8 @@ import com.google.inject.Inject;
import com.ning.billing.ErrorCode;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountChangeNotification;
-import com.ning.billing.account.api.AccountCreationNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
+import com.ning.billing.account.api.AccountCreationEvent;
import com.ning.billing.account.api.user.DefaultAccountChangeNotification;
import com.ning.billing.account.api.user.DefaultAccountCreationEvent;
import com.ning.billing.util.customfield.CustomField;
@@ -134,7 +134,7 @@ public class AuditedAccountDao implements AccountDao {
saveTagsFromWithinTransaction(account, transactionalDao, context);
saveCustomFieldsFromWithinTransaction(account, transactionalDao, context);
- AccountCreationNotification creationEvent = new DefaultAccountCreationEvent(account, context.getUserToken());
+ AccountCreationEvent creationEvent = new DefaultAccountCreationEvent(account, context.getUserToken());
eventBus.post(creationEvent);
return null;
}
@@ -180,7 +180,7 @@ public class AuditedAccountDao implements AccountDao {
saveTagsFromWithinTransaction(account, accountSqlDao, context);
saveCustomFieldsFromWithinTransaction(account, accountSqlDao, context);
- AccountChangeNotification changeEvent = new DefaultAccountChangeNotification(account.getId(), context.getUserToken(), currentAccount, account);
+ AccountChangeEvent changeEvent = new DefaultAccountChangeNotification(account.getId(), context.getUserToken(), currentAccount, account);
if (changeEvent.hasChanges()) {
eventBus.post(changeEvent);
}
diff --git a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
index c449a50..8761c81 100644
--- a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
@@ -25,7 +25,7 @@ import java.util.concurrent.ConcurrentHashMap;
import com.google.inject.Inject;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountChangeNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
import com.ning.billing.account.api.user.DefaultAccountChangeNotification;
import com.ning.billing.account.api.user.DefaultAccountCreationEvent;
import com.ning.billing.util.callcontext.CallContext;
@@ -87,7 +87,7 @@ public class MockAccountDao implements AccountDao {
public void update(Account account, CallContext context) {
Account currentAccount = accounts.put(account.getId().toString(), account);
- AccountChangeNotification changeEvent = new DefaultAccountChangeNotification(account.getId(), null, currentAccount, account);
+ AccountChangeEvent changeEvent = new DefaultAccountChangeNotification(account.getId(), null, currentAccount, account);
if (changeEvent.hasChanges()) {
try {
eventBus.post(changeEvent);
diff --git a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
index 3c3bab3..2d52ca8 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/AnalyticsListener.java
@@ -19,10 +19,10 @@ package com.ning.billing.analytics;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Inject;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.AccountChangeNotification;
-import com.ning.billing.account.api.AccountCreationNotification;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
+import com.ning.billing.account.api.AccountCreationEvent;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
@@ -37,7 +37,7 @@ public class AnalyticsListener {
}
@Subscribe
- public void handleSubscriptionTransitionChange(final SubscriptionTransition event) throws AccountApiException {
+ public void handleSubscriptionTransitionChange(final SubscriptionEventTransition event) throws AccountApiException {
switch (event.getTransitionType()) {
// A susbcription enters either through migration or as newly created subscription
case MIGRATE_ENTITLEMENT:
@@ -66,12 +66,12 @@ public class AnalyticsListener {
}
@Subscribe
- public void handleAccountCreation(final AccountCreationNotification event) {
+ public void handleAccountCreation(final AccountCreationEvent event) {
bacRecorder.accountCreated(event.getData());
}
@Subscribe
- public void handleAccountChange(final AccountChangeNotification event) {
+ public void handleAccountChange(final AccountChangeEvent event) {
if (!event.hasChanges()) {
return;
}
@@ -80,7 +80,7 @@ public class AnalyticsListener {
}
@Subscribe
- public void handleInvoice(final InvoiceCreationNotification event) {
+ public void handleInvoice(final InvoiceCreationEvent event) {
bacRecorder.accountUpdated(event.getAccountId());
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
index 09fbc96..2bb02ea 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
@@ -24,7 +24,7 @@ import com.ning.billing.analytics.dao.BusinessSubscriptionTransitionDao;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,39 +48,39 @@ public class BusinessSubscriptionTransitionRecorder
this.accountApi = accountApi;
}
- public void subscriptionCreated(final SubscriptionTransition created) throws AccountApiException
+ public void subscriptionCreated(final SubscriptionEventTransition created) throws AccountApiException
{
final BusinessSubscriptionEvent event = BusinessSubscriptionEvent.subscriptionCreated(created.getNextPlan());
recordTransition(event, created);
}
- public void subscriptionRecreated(final SubscriptionTransition recreated) throws AccountApiException
+ public void subscriptionRecreated(final SubscriptionEventTransition recreated) throws AccountApiException
{
final BusinessSubscriptionEvent event = BusinessSubscriptionEvent.subscriptionRecreated(recreated.getNextPlan());
recordTransition(event, recreated);
}
- public void subscriptionCancelled(final SubscriptionTransition cancelled) throws AccountApiException
+ public void subscriptionCancelled(final SubscriptionEventTransition cancelled) throws AccountApiException
{
// cancelled.getNextPlan() is null here - need to look at the previous one to create the correct event name
final BusinessSubscriptionEvent event = BusinessSubscriptionEvent.subscriptionCancelled(cancelled.getPreviousPlan());
recordTransition(event, cancelled);
}
- public void subscriptionChanged(final SubscriptionTransition changed) throws AccountApiException
+ public void subscriptionChanged(final SubscriptionEventTransition changed) throws AccountApiException
{
final BusinessSubscriptionEvent event = BusinessSubscriptionEvent.subscriptionChanged(changed.getNextPlan());
recordTransition(event, changed);
}
- public void subscriptionPhaseChanged(final SubscriptionTransition phaseChanged) throws AccountApiException
+ public void subscriptionPhaseChanged(final SubscriptionEventTransition phaseChanged) throws AccountApiException
{
final BusinessSubscriptionEvent event = BusinessSubscriptionEvent.subscriptionPhaseChanged(phaseChanged.getNextPlan(), phaseChanged.getNextState());
recordTransition(event, phaseChanged);
}
- public void recordTransition(final BusinessSubscriptionEvent event, final SubscriptionTransition transition) throws AccountApiException
+ public void recordTransition(final BusinessSubscriptionEvent event, final SubscriptionEventTransition transition) throws AccountApiException
{
Currency currency = null;
String transitionKey = null;
diff --git a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
index 56ce8ff..a086b35 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
@@ -42,7 +42,7 @@ import org.testng.annotations.Test;
import com.google.inject.Inject;
import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountCreationNotification;
+import com.ning.billing.account.api.AccountCreationEvent;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.user.DefaultAccountCreationEvent;
import com.ning.billing.analytics.AnalyticsTestModule;
@@ -67,15 +67,16 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionData;
import com.ning.billing.entitlement.events.EntitlementEvent;
import com.ning.billing.entitlement.events.user.ApiEventType;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.invoice.api.user.DefaultInvoiceCreationNotification;
import com.ning.billing.invoice.dao.InvoiceDao;
import com.ning.billing.invoice.model.DefaultInvoice;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.PaymentAttempt;
import com.ning.billing.payment.api.PaymentInfo;
import com.ning.billing.payment.dao.PaymentDao;
@@ -132,11 +133,11 @@ public class TestAnalyticsService {
@Inject
private MysqlTestingHelper helper;
- private SubscriptionTransition transition;
+ private SubscriptionEventTransition transition;
private BusinessSubscriptionTransition expectedTransition;
- private AccountCreationNotification accountCreationNotification;
- private InvoiceCreationNotification invoiceCreationNotification;
+ private AccountCreationEvent accountCreationNotification;
+ private InvoiceCreationEvent invoiceCreationNotification;
private PaymentInfo paymentInfoNotification;
@BeforeMethod(groups = "slow")
@@ -260,7 +261,7 @@ public class TestAnalyticsService {
invoiceCreationNotification = new DefaultInvoiceCreationNotification(invoice.getId(), account.getId(),
INVOICE_AMOUNT, ACCOUNT_CURRENCY, clock.getUTCNow(), null);
- paymentInfoNotification = new PaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString()).setPaymentMethod(PAYMENT_METHOD).setCardCountry(CARD_COUNTRY).build();
+ paymentInfoNotification = new DefaultPaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString()).setPaymentMethod(PAYMENT_METHOD).setCardCountry(CARD_COUNTRY).build();
final PaymentAttempt paymentAttempt = new PaymentAttempt(UUID.randomUUID(), invoice.getId(), account.getId(), BigDecimal.TEN,
ACCOUNT_CURRENCY, clock.getUTCNow(), clock.getUTCNow(), paymentInfoNotification.getPaymentId(), 1);
paymentDao.createPaymentAttempt(paymentAttempt, context);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
index 5edd023..6a83560 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
@@ -23,7 +23,7 @@ import com.ning.billing.catalog.api.PlanPhaseSpecifier;
import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
@@ -129,7 +129,7 @@ public class MockSubscription implements Subscription
}
@Override
- public SubscriptionTransition getPendingTransition() {
+ public SubscriptionEventTransition getPendingTransition() {
throw new UnsupportedOperationException();
}
@@ -144,7 +144,7 @@ public class MockSubscription implements Subscription
}
@Override
- public SubscriptionTransition getPreviousTransition() {
+ public SubscriptionEventTransition getPreviousTransition() {
return null;
}
diff --git a/api/src/main/java/com/ning/billing/entitlement/api/billing/BillingEvent.java b/api/src/main/java/com/ning/billing/entitlement/api/billing/BillingEvent.java
index 6340560..4f2e0d9 100644
--- a/api/src/main/java/com/ning/billing/entitlement/api/billing/BillingEvent.java
+++ b/api/src/main/java/com/ning/billing/entitlement/api/billing/BillingEvent.java
@@ -24,7 +24,7 @@ import com.ning.billing.catalog.api.InternationalPrice;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import java.math.BigDecimal;
diff --git a/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java b/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
index ec94f9d..5515898 100644
--- a/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
+++ b/api/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
@@ -68,7 +68,7 @@ public interface Subscription extends ExtendedEntity {
public ProductCategory getCategory();
- public SubscriptionTransition getPendingTransition();
+ public SubscriptionEventTransition getPendingTransition();
- public SubscriptionTransition getPreviousTransition();
+ public SubscriptionEventTransition getPreviousTransition();
}
diff --git a/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentError.java b/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentError.java
new file mode 100644
index 0000000..07dbf75
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentError.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.payment.api;
+import java.util.UUID;
+
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonTypeInfo;
+import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
+
+import com.ning.billing.util.bus.BusEvent;
+import com.ning.billing.util.bus.BusEvent.BusEventType;
+
+@JsonTypeInfo(use = Id.NAME, property = "error")
+public class DefaultPaymentError implements PaymentError {
+
+ private final String type;
+ private final String message;
+ private final UUID accountId;
+ private final UUID invoiceId;
+ private final UUID userToken;
+
+ public DefaultPaymentError(final DefaultPaymentError src, final UUID accountId, final UUID invoiceId) {
+ this.type = src.type;
+ this.message = src.message;
+ this.accountId = accountId;
+ this.invoiceId = invoiceId;
+ this.userToken = src.userToken;
+ }
+
+ public DefaultPaymentError(String type, String message, UUID accountId, UUID invoiceId, UUID userToken) {
+ this.type = type;
+ this.message = message;
+ this.accountId = accountId;
+ this.invoiceId = invoiceId;
+ this.userToken = userToken;
+ }
+
+ public DefaultPaymentError(String type, String message) {
+ this(type, message, null, null, null);
+ }
+
+ @JsonIgnore
+ @Override
+ public BusEventType getBusEventType() {
+ return BusEventType.PAYMENT_ERROR;
+ }
+
+ @Override
+ public UUID getUserToken() {
+ return userToken;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ @Override
+ public UUID getInvoiceId() {
+ return invoiceId;
+ }
+
+ @Override
+ public UUID getAccountId() {
+ return accountId;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((accountId == null) ? 0 : accountId.hashCode());
+ result = prime * result + ((invoiceId == null) ? 0 : invoiceId.hashCode());
+ result = prime * result + ((message == null) ? 0 : message.hashCode());
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ DefaultPaymentError other = (DefaultPaymentError) obj;
+ if (accountId == null) {
+ if (other.accountId != null)
+ return false;
+ }
+ else if (!accountId.equals(other.accountId))
+ return false;
+ if (invoiceId == null) {
+ if (other.invoiceId != null)
+ return false;
+ }
+ else if (!invoiceId.equals(other.invoiceId))
+ return false;
+ if (message == null) {
+ if (other.message != null)
+ return false;
+ }
+ else if (!message.equals(other.message))
+ return false;
+ if (type == null) {
+ if (other.type != null)
+ return false;
+ }
+ else if (!type.equals(other.type))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "PaymentError [type=" + type + ", message=" + message + ", accountId=" + accountId + ", invoiceId=" + invoiceId + "]";
+ }
+}
diff --git a/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfo.java b/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfo.java
new file mode 100644
index 0000000..ee4e235
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/payment/api/DefaultPaymentInfo.java
@@ -0,0 +1,394 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.payment.api;
+
+import java.math.BigDecimal;
+import java.util.UUID;
+
+import org.codehaus.jackson.annotate.JsonCreator;
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+
+import com.google.common.base.Objects;
+import com.ning.billing.util.bus.BusEvent;
+import com.ning.billing.util.bus.BusEvent.BusEventType;
+
+public class DefaultPaymentInfo implements PaymentInfo {
+
+
+ private final String paymentId;
+ private final BigDecimal amount;
+ private final BigDecimal refundAmount;
+ private final String paymentNumber;
+ private final String bankIdentificationNumber;
+ private final String status;
+ private final String type;
+ private final String referenceId;
+ private final String paymentMethodId;
+ private final String paymentMethod;
+ private final String cardType;
+ private final String cardCountry;
+ private final UUID userToken;
+ private final DateTime effectiveDate;
+ private final DateTime createdDate;
+ private final DateTime updatedDate;
+
+ @JsonCreator
+ public DefaultPaymentInfo(@JsonProperty("paymentId") String paymentId,
+ @JsonProperty("amount") BigDecimal amount,
+ @JsonProperty("refundAmount") BigDecimal refundAmount,
+ @JsonProperty("bankIdentificationNumber") String bankIdentificationNumber,
+ @JsonProperty("paymentNumber") String paymentNumber,
+ @JsonProperty("status") String status,
+ @JsonProperty("type") String type,
+ @JsonProperty("referenceId") String referenceId,
+ @JsonProperty("paymentMethodId") String paymentMethodId,
+ @JsonProperty("paymentMethod") String paymentMethod,
+ @JsonProperty("cardType") String cardType,
+ @JsonProperty("cardCountry") String cardCountry,
+ @JsonProperty("userToken") UUID userToken,
+ @JsonProperty("effectiveDate") DateTime effectiveDate,
+ @JsonProperty("createdDate") DateTime createdDate,
+ @JsonProperty("updatedDate") DateTime updatedDate) {
+ this.paymentId = paymentId;
+ this.amount = amount;
+ this.refundAmount = refundAmount;
+ this.bankIdentificationNumber = bankIdentificationNumber;
+ this.paymentNumber = paymentNumber;
+ this.status = status;
+ this.type = type;
+ this.referenceId = referenceId;
+ this.paymentMethodId = paymentMethodId;
+ this.paymentMethod = paymentMethod;
+ this.cardType = cardType;
+ this.cardCountry = cardCountry;
+ this.userToken = userToken;
+ this.effectiveDate = effectiveDate;
+ this.createdDate = createdDate == null ? new DateTime(DateTimeZone.UTC) : createdDate;
+ this.updatedDate = updatedDate == null ? new DateTime(DateTimeZone.UTC) : updatedDate;
+ }
+
+ public DefaultPaymentInfo(DefaultPaymentInfo src) {
+ this(src.paymentId,
+ src.amount,
+ src.refundAmount,
+ src.bankIdentificationNumber,
+ src.paymentNumber,
+ src.status,
+ src.type,
+ src.referenceId,
+ src.paymentMethodId,
+ src.paymentMethod,
+ src.cardType,
+ src.cardCountry,
+ src.userToken,
+ src.effectiveDate,
+ src.createdDate,
+ src.updatedDate);
+ }
+
+ @JsonIgnore
+ @Override
+ public BusEventType getBusEventType() {
+ return BusEventType.PAYMENT_INFO;
+ }
+
+ @Override
+ public UUID getUserToken() {
+ return userToken;
+ }
+
+ public Builder cloner() {
+ return new Builder(this);
+ }
+
+ @Override
+ public String getPaymentId() {
+ return paymentId;
+ }
+
+ @Override
+ public BigDecimal getAmount() {
+ return amount;
+ }
+
+ @Override
+ public String getBankIdentificationNumber() {
+ return bankIdentificationNumber;
+ }
+
+ @Override
+ public DateTime getCreatedDate() {
+ return createdDate;
+ }
+
+ @Override
+ public DateTime getEffectiveDate() {
+ return effectiveDate;
+ }
+
+ @Override
+ public String getPaymentNumber() {
+ return paymentNumber;
+ }
+
+ @Override
+ public String getPaymentMethod() {
+ return paymentMethod;
+ }
+
+ @Override
+ public String getCardType() {
+ return cardType;
+ }
+
+ @Override
+ public String getCardCountry() {
+ return cardCountry;
+ }
+
+ @Override
+ public String getReferenceId() {
+ return referenceId;
+ }
+
+ @Override
+ public String getPaymentMethodId() {
+ return paymentMethodId;
+ }
+
+ @Override
+ public BigDecimal getRefundAmount() {
+ return refundAmount;
+ }
+
+ @Override
+ public String getStatus() {
+ return status;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return updatedDate;
+ }
+
+ public static class Builder {
+ private String paymentId;
+ private BigDecimal amount;
+ private BigDecimal refundAmount;
+ private String paymentNumber;
+ private String bankIdentificationNumber;
+ private String type;
+ private String status;
+ private String referenceId;
+ private String paymentMethodId;
+ private String paymentMethod;
+ private String cardType;
+ private String cardCountry;
+ private UUID userToken;
+ private DateTime effectiveDate;
+ private DateTime createdDate;
+ private DateTime updatedDate;
+
+ public Builder() {
+ }
+
+ public Builder(DefaultPaymentInfo src) {
+ this.paymentId = src.paymentId;
+ this.amount = src.amount;
+ this.refundAmount = src.refundAmount;
+ this.paymentNumber = src.paymentNumber;
+ this.bankIdentificationNumber = src.bankIdentificationNumber;
+ this.type = src.type;
+ this.status = src.status;
+ this.effectiveDate = src.effectiveDate;
+ this.referenceId = src.referenceId;
+ this.paymentMethodId = src.paymentMethodId;
+ this.paymentMethod = src.paymentMethod;
+ this.cardType = src.cardType;
+ this.cardCountry = src.cardCountry;
+ this.userToken = src.userToken;
+ this.createdDate = src.createdDate;
+ this.updatedDate = src.updatedDate;
+ }
+
+ public Builder setPaymentId(String paymentId) {
+ this.paymentId = paymentId;
+ return this;
+ }
+
+ public Builder setAmount(BigDecimal amount) {
+ this.amount = amount;
+ return this;
+ }
+
+ public Builder setBankIdentificationNumber(String bankIdentificationNumber) {
+ this.bankIdentificationNumber = bankIdentificationNumber;
+ return this;
+ }
+
+ public Builder setUserToken(UUID userToken) {
+ this.userToken = userToken;
+ return this;
+ }
+
+ public Builder setCreatedDate(DateTime createdDate) {
+ this.createdDate = createdDate;
+ return this;
+ }
+
+ public Builder setEffectiveDate(DateTime effectiveDate) {
+ this.effectiveDate = effectiveDate;
+ return this;
+ }
+
+ public Builder setPaymentNumber(String paymentNumber) {
+ this.paymentNumber = paymentNumber;
+ return this;
+ }
+
+ public Builder setReferenceId(String referenceId) {
+ this.referenceId = referenceId;
+ return this;
+ }
+
+ public Builder setRefundAmount(BigDecimal refundAmount) {
+ this.refundAmount = refundAmount;
+ return this;
+ }
+
+ public Builder setStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ public Builder setType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ public Builder setPaymentMethodId(String paymentMethodId) {
+ this.paymentMethodId = paymentMethodId;
+ return this;
+ }
+
+ public Builder setPaymentMethod(String paymentMethod) {
+ this.paymentMethod = paymentMethod;
+ return this;
+ }
+
+ public Builder setCardType(String cardType) {
+ this.cardType = cardType;
+ return this;
+ }
+
+ public Builder setCardCountry(String cardCountry) {
+ this.cardCountry = cardCountry;
+ return this;
+ }
+
+ public Builder setUpdatedDate(DateTime updatedDate) {
+ this.updatedDate = updatedDate;
+ return this;
+ }
+
+ public PaymentInfo build() {
+ return new DefaultPaymentInfo(paymentId,
+ amount,
+ refundAmount,
+ bankIdentificationNumber,
+ paymentNumber,
+ status,
+ type,
+ referenceId,
+ paymentMethodId,
+ paymentMethod,
+ cardType,
+ cardCountry,
+ userToken,
+ effectiveDate,
+ createdDate,
+ updatedDate);
+ }
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(paymentId,
+ amount,
+ refundAmount,
+ bankIdentificationNumber,
+ paymentNumber,
+ status,
+ type,
+ referenceId,
+ paymentMethodId,
+ paymentMethod,
+ cardType,
+ cardCountry,
+ effectiveDate,
+ createdDate,
+ updatedDate);
+ }
+
+ @Override
+ public boolean equals(final Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ final DefaultPaymentInfo that = (DefaultPaymentInfo) o;
+
+ if (amount != null ? !(amount.compareTo(that.amount) == 0) : that.amount != null) return false;
+ if (bankIdentificationNumber != null ? !bankIdentificationNumber.equals(that.bankIdentificationNumber) : that.bankIdentificationNumber != null)
+ return false;
+ if (cardCountry != null ? !cardCountry.equals(that.cardCountry) : that.cardCountry != null) return false;
+ if (cardType != null ? !cardType.equals(that.cardType) : that.cardType != null) return false;
+ if (createdDate != null ? !(getUnixTimestamp(createdDate) == getUnixTimestamp(that.createdDate)) : that.createdDate != null) return false;
+ if (effectiveDate != null ? !(getUnixTimestamp(effectiveDate) == getUnixTimestamp(that.effectiveDate)) : that.effectiveDate != null)
+ return false;
+ if (paymentId != null ? !paymentId.equals(that.paymentId) : that.paymentId != null) return false;
+ if (paymentMethod != null ? !paymentMethod.equals(that.paymentMethod) : that.paymentMethod != null)
+ return false;
+ if (paymentMethodId != null ? !paymentMethodId.equals(that.paymentMethodId) : that.paymentMethodId != null)
+ return false;
+ if (paymentNumber != null ? !paymentNumber.equals(that.paymentNumber) : that.paymentNumber != null)
+ return false;
+ if (referenceId != null ? !referenceId.equals(that.referenceId) : that.referenceId != null) return false;
+ if (refundAmount != null ? !refundAmount.equals(that.refundAmount) : that.refundAmount != null) return false;
+ if (status != null ? !status.equals(that.status) : that.status != null) return false;
+ if (type != null ? !type.equals(that.type) : that.type != null) return false;
+ if (updatedDate != null ? !(getUnixTimestamp(updatedDate) == getUnixTimestamp(that.updatedDate)) : that.updatedDate != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "PaymentInfo [paymentId=" + paymentId + ", amount=" + amount + ", refundAmount=" + refundAmount + ", paymentNumber=" + paymentNumber + ", bankIdentificationNumber=" + bankIdentificationNumber + ", status=" + status + ", type=" + type + ", referenceId=" + referenceId + ", paymentMethodId=" + paymentMethodId + ", paymentMethod=" + paymentMethod + ", cardType=" + cardType + ", cardCountry=" + cardCountry + ", effectiveDate=" + effectiveDate + ", createdDate=" + createdDate + ", updatedDate=" + updatedDate + "]";
+ }
+
+ private static long getUnixTimestamp(final DateTime dateTime) {
+ return dateTime.getMillis() / 1000;
+ }
+}
diff --git a/api/src/main/java/com/ning/billing/payment/api/PaymentError.java b/api/src/main/java/com/ning/billing/payment/api/PaymentError.java
index 31e2594..b8cb28d 100644
--- a/api/src/main/java/com/ning/billing/payment/api/PaymentError.java
+++ b/api/src/main/java/com/ning/billing/payment/api/PaymentError.java
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2010-2011 Ning, Inc.
*
* Ning licenses this file to you under the Apache License, version 2.0
@@ -13,123 +13,19 @@
* License for the specific language governing permissions and limitations
* under the License.
*/
-
package com.ning.billing.payment.api;
-import java.util.UUID;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
+import java.util.UUID;
import com.ning.billing.util.bus.BusEvent;
-import com.ning.billing.util.bus.BusEvent.BusEventType;
-
-@JsonTypeInfo(use = Id.NAME, property = "error")
-public class PaymentError implements BusEvent {
-
- private final String type;
- private final String message;
- private final UUID accountId;
- private final UUID invoiceId;
- private final UUID userToken;
-
- public PaymentError(final PaymentError src, final UUID accountId, final UUID invoiceId) {
- this.type = src.type;
- this.message = src.message;
- this.accountId = accountId;
- this.invoiceId = invoiceId;
- this.userToken = src.userToken;
- }
-
- public PaymentError(String type, String message, UUID accountId, UUID invoiceId, UUID userToken) {
- this.type = type;
- this.message = message;
- this.accountId = accountId;
- this.invoiceId = invoiceId;
- this.userToken = userToken;
- }
-
- public PaymentError(String type, String message) {
- this(type, message, null, null, null);
- }
-
- @JsonIgnore
- @Override
- public BusEventType getBusEventType() {
- return BusEventType.PAYMENT_ERROR;
- }
-
- @Override
- public UUID getUserToken() {
- return userToken;
- }
-
-
- public String getType() {
- return type;
- }
-
- public String getMessage() {
- return message;
- }
- public UUID getInvoiceId() {
- return invoiceId;
- }
+public interface PaymentError extends BusEvent {
- public UUID getAccountId() {
- return accountId;
- }
+ public String getType();
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((accountId == null) ? 0 : accountId.hashCode());
- result = prime * result + ((invoiceId == null) ? 0 : invoiceId.hashCode());
- result = prime * result + ((message == null) ? 0 : message.hashCode());
- result = prime * result + ((type == null) ? 0 : type.hashCode());
- return result;
- }
+ public String getMessage();
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- PaymentError other = (PaymentError) obj;
- if (accountId == null) {
- if (other.accountId != null)
- return false;
- }
- else if (!accountId.equals(other.accountId))
- return false;
- if (invoiceId == null) {
- if (other.invoiceId != null)
- return false;
- }
- else if (!invoiceId.equals(other.invoiceId))
- return false;
- if (message == null) {
- if (other.message != null)
- return false;
- }
- else if (!message.equals(other.message))
- return false;
- if (type == null) {
- if (other.type != null)
- return false;
- }
- else if (!type.equals(other.type))
- return false;
- return true;
- }
+ public UUID getInvoiceId();
- @Override
- public String toString() {
- return "PaymentError [type=" + type + ", message=" + message + ", accountId=" + accountId + ", invoiceId=" + invoiceId + "]";
- }
+ public UUID getAccountId();
}
diff --git a/api/src/main/java/com/ning/billing/payment/api/PaymentInfo.java b/api/src/main/java/com/ning/billing/payment/api/PaymentInfo.java
index ad62544..c2ca970 100644
--- a/api/src/main/java/com/ning/billing/payment/api/PaymentInfo.java
+++ b/api/src/main/java/com/ning/billing/payment/api/PaymentInfo.java
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2010-2011 Ning, Inc.
*
* Ning licenses this file to you under the Apache License, version 2.0
@@ -13,367 +13,42 @@
* License for the specific language governing permissions and limitations
* under the License.
*/
-
package com.ning.billing.payment.api;
import java.math.BigDecimal;
-import java.util.UUID;
-
-import org.codehaus.jackson.annotate.JsonCreator;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonProperty;
import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import com.google.common.base.Objects;
import com.ning.billing.util.bus.BusEvent;
-import com.ning.billing.util.bus.BusEvent.BusEventType;
-
-public class PaymentInfo implements BusEvent {
-
-
- private final String paymentId;
- private final BigDecimal amount;
- private final BigDecimal refundAmount;
- private final String paymentNumber;
- private final String bankIdentificationNumber;
- private final String status;
- private final String type;
- private final String referenceId;
- private final String paymentMethodId;
- private final String paymentMethod;
- private final String cardType;
- private final String cardCountry;
- private final UUID userToken;
- private final DateTime effectiveDate;
- private final DateTime createdDate;
- private final DateTime updatedDate;
-
- @JsonCreator
- public PaymentInfo(@JsonProperty("paymentId") String paymentId,
- @JsonProperty("amount") BigDecimal amount,
- @JsonProperty("refundAmount") BigDecimal refundAmount,
- @JsonProperty("bankIdentificationNumber") String bankIdentificationNumber,
- @JsonProperty("paymentNumber") String paymentNumber,
- @JsonProperty("status") String status,
- @JsonProperty("type") String type,
- @JsonProperty("referenceId") String referenceId,
- @JsonProperty("paymentMethodId") String paymentMethodId,
- @JsonProperty("paymentMethod") String paymentMethod,
- @JsonProperty("cardType") String cardType,
- @JsonProperty("cardCountry") String cardCountry,
- @JsonProperty("userToken") UUID userToken,
- @JsonProperty("effectiveDate") DateTime effectiveDate,
- @JsonProperty("createdDate") DateTime createdDate,
- @JsonProperty("updatedDate") DateTime updatedDate) {
- this.paymentId = paymentId;
- this.amount = amount;
- this.refundAmount = refundAmount;
- this.bankIdentificationNumber = bankIdentificationNumber;
- this.paymentNumber = paymentNumber;
- this.status = status;
- this.type = type;
- this.referenceId = referenceId;
- this.paymentMethodId = paymentMethodId;
- this.paymentMethod = paymentMethod;
- this.cardType = cardType;
- this.cardCountry = cardCountry;
- this.userToken = userToken;
- this.effectiveDate = effectiveDate;
- this.createdDate = createdDate == null ? new DateTime(DateTimeZone.UTC) : createdDate;
- this.updatedDate = updatedDate == null ? new DateTime(DateTimeZone.UTC) : updatedDate;
- }
-
- public PaymentInfo(PaymentInfo src) {
- this(src.paymentId,
- src.amount,
- src.refundAmount,
- src.bankIdentificationNumber,
- src.paymentNumber,
- src.status,
- src.type,
- src.referenceId,
- src.paymentMethodId,
- src.paymentMethod,
- src.cardType,
- src.cardCountry,
- src.userToken,
- src.effectiveDate,
- src.createdDate,
- src.updatedDate);
- }
-
- @JsonIgnore
- @Override
- public BusEventType getBusEventType() {
- return BusEventType.PAYMENT_INFO;
- }
-
- @Override
- public UUID getUserToken() {
- return userToken;
- }
-
- public Builder cloner() {
- return new Builder(this);
- }
-
- public String getPaymentId() {
- return paymentId;
- }
-
- public BigDecimal getAmount() {
- return amount;
- }
-
- public String getBankIdentificationNumber() {
- return bankIdentificationNumber;
- }
-
- public DateTime getCreatedDate() {
- return createdDate;
- }
-
- public DateTime getEffectiveDate() {
- return effectiveDate;
- }
-
- public String getPaymentNumber() {
- return paymentNumber;
- }
-
- public String getPaymentMethod() {
- return paymentMethod;
- }
-
- public String getCardType() {
- return cardType;
- }
-
- public String getCardCountry() {
- return cardCountry;
- }
-
- public String getReferenceId() {
- return referenceId;
- }
-
- public String getPaymentMethodId() {
- return paymentMethodId;
- }
-
- public BigDecimal getRefundAmount() {
- return refundAmount;
- }
-
- public String getStatus() {
- return status;
- }
-
- public String getType() {
- return type;
- }
-
- public DateTime getUpdatedDate() {
- return updatedDate;
- }
-
- public static class Builder {
- private String paymentId;
- private BigDecimal amount;
- private BigDecimal refundAmount;
- private String paymentNumber;
- private String bankIdentificationNumber;
- private String type;
- private String status;
- private String referenceId;
- private String paymentMethodId;
- private String paymentMethod;
- private String cardType;
- private String cardCountry;
- private UUID userToken;
- private DateTime effectiveDate;
- private DateTime createdDate;
- private DateTime updatedDate;
-
- public Builder() {
- }
-
- public Builder(PaymentInfo src) {
- this.paymentId = src.paymentId;
- this.amount = src.amount;
- this.refundAmount = src.refundAmount;
- this.paymentNumber = src.paymentNumber;
- this.bankIdentificationNumber = src.bankIdentificationNumber;
- this.type = src.type;
- this.status = src.status;
- this.effectiveDate = src.effectiveDate;
- this.referenceId = src.referenceId;
- this.paymentMethodId = src.paymentMethodId;
- this.paymentMethod = src.paymentMethod;
- this.cardType = src.cardType;
- this.cardCountry = src.cardCountry;
- this.userToken = src.userToken;
- this.createdDate = src.createdDate;
- this.updatedDate = src.updatedDate;
- }
-
- public Builder setPaymentId(String paymentId) {
- this.paymentId = paymentId;
- return this;
- }
-
- public Builder setAmount(BigDecimal amount) {
- this.amount = amount;
- return this;
- }
-
- public Builder setBankIdentificationNumber(String bankIdentificationNumber) {
- this.bankIdentificationNumber = bankIdentificationNumber;
- return this;
- }
-
- public Builder setUserToken(UUID userToken) {
- this.userToken = userToken;
- return this;
- }
-
- public Builder setCreatedDate(DateTime createdDate) {
- this.createdDate = createdDate;
- return this;
- }
-
- public Builder setEffectiveDate(DateTime effectiveDate) {
- this.effectiveDate = effectiveDate;
- return this;
- }
-
- public Builder setPaymentNumber(String paymentNumber) {
- this.paymentNumber = paymentNumber;
- return this;
- }
-
- public Builder setReferenceId(String referenceId) {
- this.referenceId = referenceId;
- return this;
- }
- public Builder setRefundAmount(BigDecimal refundAmount) {
- this.refundAmount = refundAmount;
- return this;
- }
+public interface PaymentInfo extends BusEvent {
- public Builder setStatus(String status) {
- this.status = status;
- return this;
- }
+ public String getPaymentId();
- public Builder setType(String type) {
- this.type = type;
- return this;
- }
+ public BigDecimal getAmount();
- public Builder setPaymentMethodId(String paymentMethodId) {
- this.paymentMethodId = paymentMethodId;
- return this;
- }
+ public String getBankIdentificationNumber();
- public Builder setPaymentMethod(String paymentMethod) {
- this.paymentMethod = paymentMethod;
- return this;
- }
+ public DateTime getCreatedDate();
- public Builder setCardType(String cardType) {
- this.cardType = cardType;
- return this;
- }
+ public DateTime getEffectiveDate();
- public Builder setCardCountry(String cardCountry) {
- this.cardCountry = cardCountry;
- return this;
- }
+ public String getPaymentNumber();
- public Builder setUpdatedDate(DateTime updatedDate) {
- this.updatedDate = updatedDate;
- return this;
- }
+ public String getPaymentMethod();
- public PaymentInfo build() {
- return new PaymentInfo(paymentId,
- amount,
- refundAmount,
- bankIdentificationNumber,
- paymentNumber,
- status,
- type,
- referenceId,
- paymentMethodId,
- paymentMethod,
- cardType,
- cardCountry,
- userToken,
- effectiveDate,
- createdDate,
- updatedDate);
- }
- }
+ public String getCardType();
- @Override
- public int hashCode() {
- return Objects.hashCode(paymentId,
- amount,
- refundAmount,
- bankIdentificationNumber,
- paymentNumber,
- status,
- type,
- referenceId,
- paymentMethodId,
- paymentMethod,
- cardType,
- cardCountry,
- effectiveDate,
- createdDate,
- updatedDate);
- }
+ public String getCardCountry();
- @Override
- public boolean equals(final Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
+ public String getReferenceId();
- final PaymentInfo that = (PaymentInfo) o;
+ public String getPaymentMethodId();
- if (amount != null ? !(amount.compareTo(that.amount) == 0) : that.amount != null) return false;
- if (bankIdentificationNumber != null ? !bankIdentificationNumber.equals(that.bankIdentificationNumber) : that.bankIdentificationNumber != null)
- return false;
- if (cardCountry != null ? !cardCountry.equals(that.cardCountry) : that.cardCountry != null) return false;
- if (cardType != null ? !cardType.equals(that.cardType) : that.cardType != null) return false;
- if (createdDate != null ? !(getUnixTimestamp(createdDate) == getUnixTimestamp(that.createdDate)) : that.createdDate != null) return false;
- if (effectiveDate != null ? !(getUnixTimestamp(effectiveDate) == getUnixTimestamp(that.effectiveDate)) : that.effectiveDate != null)
- return false;
- if (paymentId != null ? !paymentId.equals(that.paymentId) : that.paymentId != null) return false;
- if (paymentMethod != null ? !paymentMethod.equals(that.paymentMethod) : that.paymentMethod != null)
- return false;
- if (paymentMethodId != null ? !paymentMethodId.equals(that.paymentMethodId) : that.paymentMethodId != null)
- return false;
- if (paymentNumber != null ? !paymentNumber.equals(that.paymentNumber) : that.paymentNumber != null)
- return false;
- if (referenceId != null ? !referenceId.equals(that.referenceId) : that.referenceId != null) return false;
- if (refundAmount != null ? !refundAmount.equals(that.refundAmount) : that.refundAmount != null) return false;
- if (status != null ? !status.equals(that.status) : that.status != null) return false;
- if (type != null ? !type.equals(that.type) : that.type != null) return false;
- if (updatedDate != null ? !(getUnixTimestamp(updatedDate) == getUnixTimestamp(that.updatedDate)) : that.updatedDate != null) return false;
+ public BigDecimal getRefundAmount();
- return true;
- }
+ public String getStatus();
- @Override
- public String toString() {
- return "PaymentInfo [paymentId=" + paymentId + ", amount=" + amount + ", refundAmount=" + refundAmount + ", paymentNumber=" + paymentNumber + ", bankIdentificationNumber=" + bankIdentificationNumber + ", status=" + status + ", type=" + type + ", referenceId=" + referenceId + ", paymentMethodId=" + paymentMethodId + ", paymentMethod=" + paymentMethod + ", cardType=" + cardType + ", cardCountry=" + cardCountry + ", effectiveDate=" + effectiveDate + ", createdDate=" + createdDate + ", updatedDate=" + updatedDate + "]";
- }
+ public String getType();
- private static long getUnixTimestamp(final DateTime dateTime) {
- return dateTime.getMillis() / 1000;
- }
+ public DateTime getUpdatedDate();
}
diff --git a/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java b/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
index c80034c..b66d677 100644
--- a/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
+++ b/api/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
@@ -19,11 +19,11 @@ import java.util.List;
import java.util.UUID;
import java.util.concurrent.TimeoutException;
-import com.ning.billing.account.api.AccountChangeNotification;
-import com.ning.billing.account.api.AccountCreationNotification;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.invoice.api.EmptyInvoiceNotification;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
+import com.ning.billing.account.api.AccountCreationEvent;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
import com.ning.billing.util.bus.BusEvent;
@@ -32,15 +32,15 @@ public interface CompletionUserRequestWaiter {
public List<BusEvent> waitForCompletion(final long timeoutMilliSec) throws InterruptedException, TimeoutException;
- public void onAccountCreation(final AccountCreationNotification curEvent);
+ public void onAccountCreation(final AccountCreationEvent curEvent);
- public void onAccountChange(final AccountChangeNotification curEvent);
+ public void onAccountChange(final AccountChangeEvent curEvent);
- public void onSubscriptionTransition(final SubscriptionTransition curEvent);
+ public void onSubscriptionTransition(final SubscriptionEventTransition curEvent);
- public void onInvoiceCreation(final InvoiceCreationNotification curEvent);
+ public void onInvoiceCreation(final InvoiceCreationEvent curEvent);
- public void onEmptyInvoice(final EmptyInvoiceNotification curEvent);
+ public void onEmptyInvoice(final EmptyInvoiceEvent curEvent);
public void onPaymentInfo(final PaymentInfo curEvent);
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBusHandler.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBusHandler.java
index 01c3f52..9eb5fb8 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBusHandler.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBusHandler.java
@@ -27,8 +27,8 @@ import org.testng.Assert;
import com.google.common.base.Joiner;
import com.google.common.eventbus.Subscribe;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
@@ -59,7 +59,7 @@ public class TestBusHandler {
}
@Subscribe
- public void handleEntitlementEvents(SubscriptionTransition event) {
+ public void handleEntitlementEvents(SubscriptionEventTransition event) {
log.info(String.format("TestBusHandler Got subscription event %s", event.toString()));
switch (event.getTransitionType()) {
case MIGRATE_ENTITLEMENT:
@@ -96,7 +96,7 @@ public class TestBusHandler {
}
@Subscribe
- public void handleInvoiceEvents(InvoiceCreationNotification event) {
+ public void handleInvoiceEvents(InvoiceCreationEvent event) {
log.info(String.format("TestBusHandler Got Invoice event %s", event.toString()));
assertEqualsNicely(NextEvent.INVOICE);
notifyIfStackEmpty();
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/PlanAligner.java b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/PlanAligner.java
index 82a83bf..a982a26 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/PlanAligner.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/PlanAligner.java
@@ -21,7 +21,7 @@ import com.ning.billing.ErrorCode;
import com.ning.billing.catalog.api.*;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.SubscriptionData;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.entitlement.exceptions.EntitlementError;
import com.ning.billing.util.clock.DefaultClock;
import org.joda.time.DateTime;
@@ -119,7 +119,7 @@ public class PlanAligner {
public TimedPhase getNextTimedPhase(final SubscriptionData subscription, final DateTime requestedDate, final DateTime effectiveDate) {
try {
- SubscriptionTransition lastPlanTransition = subscription.getInitialTransitionForCurrentPlan();
+ SubscriptionEventTransition lastPlanTransition = subscription.getInitialTransitionForCurrentPlan();
if (effectiveDate.isBefore(lastPlanTransition.getEffectiveTransitionTime())) {
throw new EntitlementError(String.format("Cannot specify an effectiveDate prior to last Plan Change, subscription = %s, effectiveDate = %s",
subscription.getId(), effectiveDate));
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
index 2a4d8ec..bc89040 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultBillingEvent.java
@@ -24,8 +24,8 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionData;
import java.math.BigDecimal;
@@ -45,7 +45,7 @@ public class DefaultBillingEvent implements BillingEvent {
final private SubscriptionTransitionType type;
final private Long totalOrdering;
- public DefaultBillingEvent(SubscriptionTransition transition, Subscription subscription, int billCycleDay, Currency currency) throws CatalogApiException {
+ public DefaultBillingEvent(SubscriptionEventTransition transition, Subscription subscription, int billCycleDay, Currency currency) throws CatalogApiException {
this.billCycleDay = billCycleDay;
this.subscription = subscription;
effectiveDate = transition.getEffectiveTransitionTime();
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
index f6feeac..8c3e83f 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
@@ -55,8 +55,8 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.entitlement.api.user.SubscriptionData;
import com.ning.billing.entitlement.api.user.SubscriptionFactory;
import com.ning.billing.entitlement.api.user.SubscriptionFactory.SubscriptionBuilder;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.entitlement.engine.dao.EntitlementDao;
import com.ning.billing.entitlement.engine.dao.SubscriptionSqlDao;
@@ -92,7 +92,7 @@ public class DefaultEntitlementBillingApi implements EntitlementBillingApi {
List<Subscription> subscriptions = entitlementDao.getSubscriptions(subscriptionFactory, bundle.getId());
for (final Subscription subscription: subscriptions) {
- for (final SubscriptionTransition transition : ((SubscriptionData) subscription).getBillingTransitions()) {
+ for (final SubscriptionEventTransition transition : ((SubscriptionData) subscription).getBillingTransitions()) {
try {
BillingEvent event = new DefaultBillingEvent(transition, subscription, calculateBcd(bundle, subscription, transition, accountId), currency);
result.add(event);
@@ -114,7 +114,7 @@ public class DefaultEntitlementBillingApi implements EntitlementBillingApi {
}
private int calculateBcd(final SubscriptionBundle bundle, final Subscription subscription,
- final SubscriptionTransition transition, final UUID accountId) throws CatalogApiException, AccountApiException {
+ final SubscriptionEventTransition transition, final UUID accountId) throws CatalogApiException, AccountApiException {
Catalog catalog = catalogService.getFullCatalog();
Plan plan = (transition.getTransitionType() != SubscriptionTransitionType.CANCEL) ?
transition.getNextPlan() : transition.getPreviousPlan();
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
index ffeebea..1187273 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
@@ -294,7 +294,7 @@ public class SubscriptionApiService {
throw new EntitlementUserApiException(ErrorCode.ENT_INVALID_REQUESTED_FUTURE_DATE, requestedDate.toString());
}
- SubscriptionTransition previousTransition = subscription.getPreviousTransition();
+ SubscriptionEventTransition previousTransition = subscription.getPreviousTransition();
if (previousTransition.getEffectiveTransitionTime().isAfter(requestedDate)) {
throw new EntitlementUserApiException(ErrorCode.ENT_INVALID_REQUESTED_DATE,
requestedDate.toString(), previousTransition.getEffectiveTransitionTime());
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
index 7561cfb..103860f 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
@@ -25,7 +25,7 @@ import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.catalog.api.PlanPhaseSpecifier;
import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.SubscriptionFactory.SubscriptionBuilder;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.Kind;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.Order;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.TimeLimit;
@@ -155,7 +155,7 @@ public class SubscriptionData extends ExtendedEntityBase implements Subscription
@Override
public DateTime getEndDate() {
- SubscriptionTransition latestTransition = getPreviousTransition();
+ SubscriptionEventTransition latestTransition = getPreviousTransition();
if (latestTransition.getNextState() == SubscriptionState.CANCELLED) {
return latestTransition.getEffectiveTransitionTime();
}
@@ -185,12 +185,12 @@ public class SubscriptionData extends ExtendedEntityBase implements Subscription
return apiService.recreatePlan(this, spec, requestedDate, context);
}
- public List<SubscriptionTransition> getBillingTransitions() {
+ public List<SubscriptionEventTransition> getBillingTransitions() {
if (transitions == null) {
return Collections.emptyList();
}
- List<SubscriptionTransition> result = new ArrayList<SubscriptionTransition>();
+ List<SubscriptionEventTransition> result = new ArrayList<SubscriptionEventTransition>();
SubscriptionTransitionDataIterator it = new SubscriptionTransitionDataIterator(clock, transitions,
Order.ASC_FROM_PAST, Kind.BILLING, Visibility.ALL, TimeLimit.ALL);
while (it.hasNext()) {
@@ -200,7 +200,7 @@ public class SubscriptionData extends ExtendedEntityBase implements Subscription
}
@Override
- public SubscriptionTransition getPendingTransition() {
+ public SubscriptionEventTransition getPendingTransition() {
if (transitions == null) {
return null;
@@ -211,7 +211,7 @@ public class SubscriptionData extends ExtendedEntityBase implements Subscription
}
@Override
- public SubscriptionTransition getPreviousTransition() {
+ public SubscriptionEventTransition getPreviousTransition() {
if (transitions == null) {
return null;
}
@@ -220,11 +220,11 @@ public class SubscriptionData extends ExtendedEntityBase implements Subscription
return it.hasNext() ? it.next() : null;
}
- public SubscriptionTransition getTransitionFromEvent(final EntitlementEvent event, final int seqId) {
+ public SubscriptionEventTransition getTransitionFromEvent(final EntitlementEvent event, final int seqId) {
if (transitions == null || event == null) {
return null;
}
- for (SubscriptionTransition cur : transitions) {
+ for (SubscriptionEventTransition cur : transitions) {
if (cur.getId().equals(event.getId())) {
return new SubscriptionTransitionData((SubscriptionTransitionData) cur, seqId);
}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionData.java
index f455f60..80990cb 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionData.java
@@ -28,7 +28,7 @@ import org.joda.time.DateTime;
import java.util.UUID;
-public class SubscriptionTransitionData implements SubscriptionTransition {
+public class SubscriptionTransitionData implements SubscriptionEventTransition {
private final long totalOrdering;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionDataIterator.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionDataIterator.java
index fbab9b2..3e5e961 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionDataIterator.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionTransitionDataIterator.java
@@ -19,7 +19,7 @@ package com.ning.billing.entitlement.api.user;
import java.util.Iterator;
import java.util.LinkedList;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.entitlement.exceptions.EntitlementError;
import com.ning.billing.util.clock.Clock;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/addon/AddonUtils.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/addon/AddonUtils.java
index b2c9405..e7c5139 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/addon/AddonUtils.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/addon/AddonUtils.java
@@ -29,7 +29,7 @@ import com.ning.billing.catalog.api.Product;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.Subscription.SubscriptionState;
import com.ning.billing.entitlement.api.user.SubscriptionData;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.entitlement.exceptions.EntitlementError;
public class AddonUtils {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventType.java b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventType.java
index a279f52..27d5b61 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventType.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/events/user/ApiEventType.java
@@ -16,7 +16,7 @@
package com.ning.billing.entitlement.events.user;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
public enum ApiEventType {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/ApiTestListener.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/ApiTestListener.java
index 8d8e00c..694613e 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/ApiTestListener.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/ApiTestListener.java
@@ -18,7 +18,7 @@ package com.ning.billing.entitlement.api;
import com.google.common.base.Joiner;
import com.google.common.eventbus.Subscribe;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.util.bus.Bus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,7 +52,7 @@ public class ApiTestListener {
}
@Subscribe
- public void handleEntitlementEvent(SubscriptionTransition event) {
+ public void handleEntitlementEvent(SubscriptionEventTransition event) {
switch (event.getTransitionType()) {
case MIGRATE_ENTITLEMENT:
subscriptionMigrated(event);
@@ -142,33 +142,33 @@ public class ApiTestListener {
}
- public void subscriptionMigrated(SubscriptionTransition migrated) {
+ public void subscriptionMigrated(SubscriptionEventTransition migrated) {
log.debug("-> Got event MIGRATED");
assertEqualsNicely(NextEvent.MIGRATE_ENTITLEMENT);
notifyIfStackEmpty();
}
- public void subscriptionCreated(SubscriptionTransition created) {
+ public void subscriptionCreated(SubscriptionEventTransition created) {
log.debug("-> Got event CREATED");
assertEqualsNicely(NextEvent.CREATE);
notifyIfStackEmpty();
}
- public void subscriptionReCreated(SubscriptionTransition recreated) {
+ public void subscriptionReCreated(SubscriptionEventTransition recreated) {
log.debug("-> Got event RE_CREATED");
assertEqualsNicely(NextEvent.RE_CREATE);
notifyIfStackEmpty();
}
- public void subscriptionCancelled(SubscriptionTransition cancelled) {
+ public void subscriptionCancelled(SubscriptionEventTransition cancelled) {
log.debug("-> Got event CANCEL");
assertEqualsNicely(NextEvent.CANCEL);
notifyIfStackEmpty();
}
- public void subscriptionChanged(SubscriptionTransition changed) {
+ public void subscriptionChanged(SubscriptionEventTransition changed) {
log.debug("-> Got event CHANGE");
assertEqualsNicely(NextEvent.CHANGE);
notifyIfStackEmpty();
@@ -176,13 +176,13 @@ public class ApiTestListener {
public void subscriptionPhaseChanged(
- SubscriptionTransition phaseChanged) {
+ SubscriptionEventTransition phaseChanged) {
log.debug("-> Got event PHASE");
assertEqualsNicely(NextEvent.PHASE);
notifyIfStackEmpty();
}
- public void subscriptionMigratedBilling(SubscriptionTransition migrated) {
+ public void subscriptionMigratedBilling(SubscriptionEventTransition migrated) {
log.debug("-> Got event MIGRATED_BLLING");
assertEqualsNicely(NextEvent.MIGRATE_BILLING);
notifyIfStackEmpty();
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
index 7209239..0c16089 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
@@ -38,7 +38,7 @@ import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.mock.BrainDeadProxyFactory;
import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
index 79c786c..3650bf9 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
@@ -55,7 +55,7 @@ import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.entitlement.api.user.SubscriptionBundleData;
import com.ning.billing.entitlement.api.user.SubscriptionData;
import com.ning.billing.entitlement.api.user.SubscriptionFactory.SubscriptionBuilder;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionData;
import com.ning.billing.entitlement.engine.dao.EntitlementDao;
import com.ning.billing.entitlement.events.EntitlementEvent.EventType;
@@ -74,7 +74,7 @@ public class TestDefaultEntitlementBillingApi {
private CatalogService catalogService;
private ArrayList<SubscriptionBundle> bundles;
private ArrayList<Subscription> subscriptions;
- private ArrayList<SubscriptionTransition> transitions;
+ private ArrayList<SubscriptionEventTransition> transitions;
private EntitlementDao dao;
private Clock clock;
@@ -101,7 +101,7 @@ public class TestDefaultEntitlementBillingApi {
bundles.add(bundle);
- transitions = new ArrayList<SubscriptionTransition>();
+ transitions = new ArrayList<SubscriptionEventTransition>();
subscriptions = new ArrayList<Subscription>();
SubscriptionBuilder builder = new SubscriptionBuilder();
@@ -109,7 +109,7 @@ public class TestDefaultEntitlementBillingApi {
builder.setStartDate(subscriptionStartDate).setId(oneId);
subscription = new SubscriptionData(builder) {
@Override
- public List<SubscriptionTransition> getBillingTransitions() {
+ public List<SubscriptionEventTransition> getBillingTransitions() {
return transitions;
}
};
@@ -151,7 +151,7 @@ public class TestDefaultEntitlementBillingApi {
Plan nextPlan = catalogService.getFullCatalog().findPlan("shotgun-annual", now);
PlanPhase nextPhase = nextPlan.getAllPhases()[0]; // The trial has no billing period
String nextPriceList = PriceListSet.DEFAULT_PRICELIST_NAME;
- SubscriptionTransition t = new SubscriptionTransitionData(
+ SubscriptionEventTransition t = new SubscriptionTransitionData(
zeroId, oneId, twoId, EventType.API_USER, ApiEventType.CREATE, then, now, null, null, null, null, SubscriptionState.ACTIVE, nextPlan, nextPhase, nextPriceList, 1, null, true);
transitions.add(t);
@@ -173,7 +173,7 @@ public class TestDefaultEntitlementBillingApi {
Plan nextPlan = catalogService.getFullCatalog().findPlan("shotgun-annual", now);
PlanPhase nextPhase = nextPlan.getAllPhases()[1];
String nextPriceList = PriceListSet.DEFAULT_PRICELIST_NAME;
- SubscriptionTransition t = new SubscriptionTransitionData(
+ SubscriptionEventTransition t = new SubscriptionTransitionData(
zeroId, oneId, twoId, EventType.API_USER, ApiEventType.CREATE, then, now, null, null, null, null, SubscriptionState.ACTIVE, nextPlan, nextPhase, nextPriceList, 1, null, true);
transitions.add(t);
@@ -198,7 +198,7 @@ public class TestDefaultEntitlementBillingApi {
Plan nextPlan = catalogService.getFullCatalog().findPlan("shotgun-monthly", now);
PlanPhase nextPhase = nextPlan.getAllPhases()[1];
String nextPriceList = PriceListSet.DEFAULT_PRICELIST_NAME;
- SubscriptionTransition t = new SubscriptionTransitionData(
+ SubscriptionEventTransition t = new SubscriptionTransitionData(
zeroId, oneId, twoId, EventType.API_USER, ApiEventType.CREATE, then, now, null, null, null, null, SubscriptionState.ACTIVE, nextPlan, nextPhase, nextPriceList, 1, null, true);
transitions.add(t);
@@ -220,7 +220,7 @@ public class TestDefaultEntitlementBillingApi {
Plan nextPlan = catalogService.getFullCatalog().findPlan("laser-scope-monthly", now);
PlanPhase nextPhase = nextPlan.getAllPhases()[0];
String nextPriceList = PriceListSet.DEFAULT_PRICELIST_NAME;
- SubscriptionTransition t = new SubscriptionTransitionData(
+ SubscriptionEventTransition t = new SubscriptionTransitionData(
zeroId, oneId, twoId, EventType.API_USER, ApiEventType.CREATE, then, now, null, null, null, null, SubscriptionState.ACTIVE, nextPlan, nextPhase, nextPriceList, 1, null, true);
transitions.add(t);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index 8b93cd6..808e457 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -63,7 +63,7 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.entitlement.api.user.SubscriptionData;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.entitlement.engine.core.Engine;
import com.ning.billing.entitlement.engine.dao.EntitlementDao;
import com.ning.billing.entitlement.engine.dao.MockEntitlementDao;
@@ -423,8 +423,8 @@ public abstract class TestApiBase {
}
}
- protected void printSubscriptionTransitions(List<SubscriptionTransition> transitions) {
- for (SubscriptionTransition cur : transitions) {
+ protected void printSubscriptionTransitions(List<SubscriptionEventTransition> transitions) {
+ for (SubscriptionEventTransition cur : transitions) {
log.debug("Transition " + cur);
}
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
index 927ea08..14d6653 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
@@ -338,7 +338,7 @@ public class TestUserApiAddOn extends TestApiBase {
assertEquals(aoSubscription.getBundleStartDate(), baseSubscription.getBundleStartDate());
// CHECK next AO PHASE EVENT IS INDEED A MONTH AFTER BP STARTED => BUNDLE ALIGNMENT
- SubscriptionTransition aoPendingTranstion = aoSubscription.getPendingTransition();
+ SubscriptionEventTransition aoPendingTranstion = aoSubscription.getPendingTransition();
if (expAlignement == PlanAlignmentCreate.START_OF_BUNDLE) {
assertEquals(aoPendingTranstion.getEffectiveTransitionTime(), baseSubscription.getStartDate().plusMonths(1));
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
index f7f8c41..d8a34c9 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
@@ -467,7 +467,7 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId());
DateTime expectedNextPhaseDate = subscription.getStartDate().plusDays(30).plusMonths(6);
- SubscriptionTransition nextPhase = subscription.getPendingTransition();
+ SubscriptionEventTransition nextPhase = subscription.getPendingTransition();
DateTime nextPhaseEffectiveDate = nextPhase.getEffectiveTransitionTime();
assertEquals(nextPhaseEffectiveDate, expectedNextPhaseDate);
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultEmptyInvoiceNotification.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultEmptyInvoiceNotification.java
index 2cba6fb..5d57b2c 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultEmptyInvoiceNotification.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultEmptyInvoiceNotification.java
@@ -19,9 +19,9 @@ import java.util.UUID;
import org.joda.time.DateTime;
-import com.ning.billing.invoice.api.EmptyInvoiceNotification;
+import com.ning.billing.invoice.api.EmptyInvoiceEvent;
-public class DefaultEmptyInvoiceNotification implements EmptyInvoiceNotification {
+public class DefaultEmptyInvoiceNotification implements EmptyInvoiceEvent {
private final UUID accountId;
private final DateTime processingDate;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationNotification.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationNotification.java
index cb8bff3..815ce51 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationNotification.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceCreationNotification.java
@@ -22,10 +22,10 @@ import java.util.UUID;
import org.joda.time.DateTime;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.util.bus.BusEvent.BusEventType;
-public class DefaultInvoiceCreationNotification implements InvoiceCreationNotification {
+public class DefaultInvoiceCreationNotification implements InvoiceCreationEvent {
private final UUID invoiceId;
private final UUID accountId;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
index 4b1c4f8..beadd47 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
import com.google.inject.Inject;
import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
import com.ning.billing.invoice.api.Invoice;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.api.InvoicePayment;
import com.ning.billing.invoice.api.user.DefaultInvoiceCreationNotification;
@@ -191,7 +191,7 @@ public class DefaultInvoiceDao implements InvoiceDao {
});
// TODO: move this inside the transaction once the bus is persistent
- InvoiceCreationNotification event;
+ InvoiceCreationEvent event;
event = new DefaultInvoiceCreationNotification(invoice.getId(), invoice.getAccountId(),
invoice.getBalance(), invoice.getCurrency(),
invoice.getInvoiceDate(),
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
index eecde79..7d1253c 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
@@ -38,7 +38,7 @@ import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.entitlement.api.billing.BillingEvent;
import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceItem;
@@ -84,7 +84,7 @@ public class InvoiceDispatcher {
VERBOSE_OUTPUT = (verboseOutputValue != null) && Boolean.parseBoolean(verboseOutputValue);
}
- public void processSubscription(final SubscriptionTransition transition,
+ public void processSubscription(final SubscriptionEventTransition transition,
final CallContext context) throws InvoiceApiException {
UUID subscriptionId = transition.getSubscriptionId();
DateTime targetDate = transition.getEffectiveTransitionTime();
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
index cf84664..b02c3e8 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Inject;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
import com.ning.billing.invoice.api.InvoiceApiException;
public class InvoiceListener {
@@ -43,7 +43,7 @@ public class InvoiceListener {
}
@Subscribe
- public void handleSubscriptionTransition(final SubscriptionTransition transition) {
+ public void handleSubscriptionTransition(final SubscriptionEventTransition transition) {
try {
if (transition.getRemainingEventsForUserOperation() > 0) {
// Skip invoice generation as there is more coming...
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
index 27126ee..512f559 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
@@ -53,7 +53,7 @@ import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.billing.DefaultBillingEvent;
import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.invoice.InvoiceDispatcher;
import com.ning.billing.invoice.TestInvoiceDispatcher;
import com.ning.billing.invoice.api.Invoice;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
index ad329bc..907c8e3 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTests.java
@@ -30,7 +30,7 @@ import com.ning.billing.entitlement.api.billing.BillingEvent;
import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.billing.DefaultBillingEvent;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceItem;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
index 6d9f62f..b77f758 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
@@ -53,7 +53,7 @@ import com.ning.billing.entitlement.api.billing.BillingModeType;
import com.ning.billing.entitlement.api.billing.DefaultBillingEvent;
import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.api.InvoiceUserApi;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java b/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
index 8c3baf3..da29ce7 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/tests/DefaultInvoiceGeneratorTests.java
@@ -33,7 +33,7 @@ import com.ning.billing.entitlement.api.billing.DefaultBillingEvent;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionData;
import com.ning.billing.entitlement.api.user.SubscriptionFactory.SubscriptionBuilder;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition.SubscriptionTransitionType;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition.SubscriptionTransitionType;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceApiException;
import com.ning.billing.invoice.model.BillingEventSet;
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
index 7ae0513..3099f9d 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
@@ -49,9 +49,9 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.invoice.api.EmptyInvoiceNotification;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.jaxrs.json.SubscriptionJson;
import com.ning.billing.jaxrs.util.Context;
import com.ning.billing.jaxrs.util.JaxrsUriBuilder;
@@ -237,17 +237,17 @@ public class SubscriptionResource implements BaseJaxrsResource{
super(userToken);
}
@Override
- public void onSubscriptionTransition(SubscriptionTransition curEvent) {
+ public void onSubscriptionTransition(SubscriptionEventTransition curEvent) {
log.info(String.format("Got event SubscriptionTransition token = %s, type = %s, remaining = %d ",
curEvent.getUserToken(), curEvent.getTransitionType(), curEvent.getRemainingEventsForUserOperation()));
}
@Override
- public void onEmptyInvoice(final EmptyInvoiceNotification curEvent) {
+ public void onEmptyInvoice(final EmptyInvoiceEvent curEvent) {
log.info(String.format("Got event EmptyInvoiceNotification token = %s ", curEvent.getUserToken()));
notifyForCompletion();
}
@Override
- public void onInvoiceCreation(InvoiceCreationNotification curEvent) {
+ public void onInvoiceCreation(InvoiceCreationEvent curEvent) {
log.info(String.format("Got event InvoiceCreationNotification token = %s ", curEvent.getUserToken()));
if (curEvent.getAmountOwed().compareTo(BigDecimal.ZERO) <= 0) {
notifyForCompletion();
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
index 4223ece..ab171ae 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
@@ -140,8 +140,8 @@ public class DefaultPaymentApi implements PaymentApi {
@Override
public Either<PaymentError, PaymentInfo> createPaymentForPaymentAttempt(UUID paymentAttemptId, CallContext context) {
+
PaymentAttempt paymentAttempt = paymentDao.getPaymentAttemptById(paymentAttemptId);
-
if (paymentAttempt != null) {
Invoice invoice = invoicePaymentApi.getInvoice(paymentAttempt.getInvoiceId());
Account account = accountUserApi.getAccountById(paymentAttempt.getAccountId());
@@ -150,11 +150,11 @@ public class DefaultPaymentApi implements PaymentApi {
if (invoice.getBalance().compareTo(BigDecimal.ZERO) <= 0 ) {
// TODO: send a notification that invoice was ignored?
log.info("Received invoice for payment with outstanding amount of 0 {} ", invoice);
- return Either.left(new PaymentError("invoice_balance_0",
- "Invoice balance was 0 or less",
- paymentAttempt.getAccountId(),
- paymentAttempt.getInvoiceId(),
- context.getUserToken()));
+ return Either.left((PaymentError) new DefaultPaymentError("invoice_balance_0",
+ "Invoice balance was 0 or less",
+ paymentAttempt.getAccountId(),
+ paymentAttempt.getInvoiceId(),
+ context.getUserToken()));
}
else {
PaymentAttempt newPaymentAttempt = new PaymentAttempt.Builder(paymentAttempt)
@@ -167,11 +167,11 @@ public class DefaultPaymentApi implements PaymentApi {
}
}
}
- return Either.left(new PaymentError("retry_payment_error",
- "Could not load payment attempt, invoice or account for id " + paymentAttemptId,
- paymentAttempt.getAccountId(),
- paymentAttempt.getInvoiceId(),
- context.getUserToken()));
+ return Either.left((PaymentError) new DefaultPaymentError("retry_payment_error",
+ "Could not load payment attempt, invoice or account for id " + paymentAttemptId,
+ paymentAttempt.getAccountId(),
+ paymentAttempt.getInvoiceId(),
+ context.getUserToken()));
}
@Override
@@ -186,7 +186,7 @@ public class DefaultPaymentApi implements PaymentApi {
if (invoice.getBalance().compareTo(BigDecimal.ZERO) <= 0 ) {
// TODO: send a notification that invoice was ignored?
log.info("Received invoice for payment with balance of 0 {} ", invoice);
- Either<PaymentError, PaymentInfo> result = Either.left(new PaymentError("invoice_balance_0",
+ Either<PaymentError, PaymentInfo> result = Either.left((PaymentError) new DefaultPaymentError("invoice_balance_0",
"Invoice balance was 0 or less",
account.getId(),
UUID.fromString(invoiceId),
@@ -195,7 +195,7 @@ public class DefaultPaymentApi implements PaymentApi {
}
else if (invoice.isMigrationInvoice()) {
log.info("Received invoice for payment that is a migration invoice - don't know how to handle those yet: {}", invoice);
- Either<PaymentError, PaymentInfo> result = Either.left(new PaymentError("migration invoice",
+ Either<PaymentError, PaymentInfo> result = Either.left((PaymentError) new DefaultPaymentError("migration invoice",
"Invoice balance was a migration invoice",
account.getId(),
UUID.fromString(invoiceId),
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
index fed137e..76b48af 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
@@ -42,6 +42,7 @@ import org.skife.jdbi.v2.tweak.ResultSetMapper;
import org.skife.jdbi.v2.unstable.BindIn;
import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.PaymentAttempt;
import com.ning.billing.payment.api.PaymentInfo;
@@ -194,7 +195,7 @@ public interface PaymentSqlDao extends Transactional<PaymentSqlDao>, CloseMe, Tr
UUID userToken = null; //rs.getString("user_token") != null ? UUID.fromString(rs.getString("user_token")) : null;
- return new PaymentInfo(paymentId,
+ return new DefaultPaymentInfo(paymentId,
amount,
refundAmount,
bankIdentificationNumber,
diff --git a/payment/src/main/java/com/ning/billing/payment/provider/NoOpPaymentProviderPlugin.java b/payment/src/main/java/com/ning/billing/payment/provider/NoOpPaymentProviderPlugin.java
index c583415..58ecd00 100644
--- a/payment/src/main/java/com/ning/billing/payment/provider/NoOpPaymentProviderPlugin.java
+++ b/payment/src/main/java/com/ning/billing/payment/provider/NoOpPaymentProviderPlugin.java
@@ -25,6 +25,8 @@ import org.joda.time.DateTimeZone;
import com.ning.billing.account.api.Account;
import com.ning.billing.invoice.api.Invoice;
+import com.ning.billing.payment.api.DefaultPaymentError;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.Either;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
@@ -35,7 +37,7 @@ public class NoOpPaymentProviderPlugin implements PaymentProviderPlugin {
@Override
public Either<PaymentError, PaymentInfo> processInvoice(Account account, Invoice invoice) {
- PaymentInfo payment = new PaymentInfo.Builder()
+ PaymentInfo payment = new DefaultPaymentInfo.Builder()
.setPaymentId(UUID.randomUUID().toString())
.setAmount(invoice.getBalance())
.setStatus("Processed")
@@ -53,7 +55,7 @@ public class NoOpPaymentProviderPlugin implements PaymentProviderPlugin {
@Override
public Either<PaymentError, String> createPaymentProviderAccount(Account account) {
- return Either.left(new PaymentError("unsupported",
+ return Either.left((PaymentError) new DefaultPaymentError("unsupported",
"Account creation not supported in this plugin",
account.getId(),
null, null));
diff --git a/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java b/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
index e8034a1..77c12e3 100644
--- a/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
@@ -31,7 +31,7 @@ import com.google.common.eventbus.Subscribe;
import com.google.inject.Inject;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountUserApi;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.payment.api.Either;
import com.ning.billing.payment.api.PaymentApi;
import com.ning.billing.payment.api.PaymentError;
@@ -62,7 +62,7 @@ public class RequestProcessor {
}
@Subscribe
- public void receiveInvoice(InvoiceCreationNotification event) {
+ public void receiveInvoice(InvoiceCreationEvent event) {
log.info("Received invoice creation notification for account {} and invoice {}", event.getAccountId(), event.getInvoiceId());
try {
final Account account = accountUserApi.getAccountById(event.getAccountId());
diff --git a/payment/src/test/java/com/ning/billing/payment/dao/MockPaymentDao.java b/payment/src/test/java/com/ning/billing/payment/dao/MockPaymentDao.java
index 7c8239f..ae62011 100644
--- a/payment/src/test/java/com/ning/billing/payment/dao/MockPaymentDao.java
+++ b/payment/src/test/java/com/ning/billing/payment/dao/MockPaymentDao.java
@@ -29,6 +29,7 @@ import org.apache.commons.collections.CollectionUtils;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
import com.ning.billing.invoice.api.Invoice;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.PaymentAttempt;
import com.ning.billing.payment.api.PaymentInfo;
@@ -97,7 +98,7 @@ public class MockPaymentDao implements PaymentDao {
@Override
public void updatePaymentInfo(String paymentMethodType, String paymentId, String cardType, String cardCountry, CallContext context) {
- PaymentInfo existingPayment = payments.get(paymentId);
+ DefaultPaymentInfo existingPayment = (DefaultPaymentInfo) payments.get(paymentId);
if (existingPayment != null) {
PaymentInfo payment = existingPayment.cloner()
.setPaymentMethod(paymentMethodType)
diff --git a/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java b/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
index 472fc2f..aeb327a 100644
--- a/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
+++ b/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
@@ -34,6 +34,7 @@ import org.testng.annotations.Test;
import com.ning.billing.account.api.AccountApiException;
import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.PaymentAttempt;
import com.ning.billing.payment.api.PaymentInfo;
@@ -43,7 +44,7 @@ public abstract class TestPaymentDao {
@Test
public void testCreatePayment() {
- PaymentInfo paymentInfo = new PaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
+ PaymentInfo paymentInfo = new DefaultPaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
.setAmount(BigDecimal.TEN)
.setStatus("Processed")
.setBankIdentificationNumber("1234")
@@ -59,7 +60,7 @@ public abstract class TestPaymentDao {
@Test
public void testUpdatePaymentInfo() {
- PaymentInfo paymentInfo = new PaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
+ PaymentInfo paymentInfo = new DefaultPaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
.setAmount(BigDecimal.TEN)
.setStatus("Processed")
.setBankIdentificationNumber("1234")
@@ -118,7 +119,7 @@ public abstract class TestPaymentDao {
Assert.assertEquals(attempt3, attempt4);
- PaymentInfo originalPaymentInfo = new PaymentInfo.Builder().setPaymentId(paymentId)
+ PaymentInfo originalPaymentInfo = new DefaultPaymentInfo.Builder().setPaymentId(paymentId)
.setAmount(invoiceAmount)
.setStatus("Processed")
.setBankIdentificationNumber("1234")
diff --git a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
index ff505c1..5a39a5c 100644
--- a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
+++ b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
@@ -34,6 +34,8 @@ import com.google.common.collect.Collections2;
import com.ning.billing.account.api.Account;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.payment.api.CreditCardPaymentMethodInfo;
+import com.ning.billing.payment.api.DefaultPaymentError;
+import com.ning.billing.payment.api.DefaultPaymentInfo;
import com.ning.billing.payment.api.Either;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
@@ -60,10 +62,10 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
@Override
public Either<PaymentError, PaymentInfo> processInvoice(Account account, Invoice invoice) {
if (makeNextInvoiceFail.getAndSet(false)) {
- return Either.left(new PaymentError("unknown", "test error", account.getId(), invoice.getId(), null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "test error", account.getId(), invoice.getId(), null));
}
else {
- PaymentInfo payment = new PaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
+ PaymentInfo payment = new DefaultPaymentInfo.Builder().setPaymentId(UUID.randomUUID().toString())
.setAmount(invoice.getBalance())
.setStatus("Processed")
.setBankIdentificationNumber("1234")
@@ -83,7 +85,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
PaymentInfo payment = payments.get(paymentId);
if (payment == null) {
- return Either.left(new PaymentError("notfound", "No payment found for id " + paymentId, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("notfound", "No payment found for id " + paymentId, null, null, null));
}
else {
return Either.right(payment);
@@ -102,7 +104,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
return Either.right(id);
}
else {
- return Either.left(new PaymentError("unknown", "Did not get account to create payment provider account", null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Did not get account to create payment provider account", null, null, null));
}
}
@@ -112,7 +114,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
return Either.right(accounts.get(accountKey));
}
else {
- return Either.left(new PaymentError("unknown", "Did not get account for accountKey " + accountKey, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Did not get account for accountKey " + accountKey, null, null, null));
}
}
@@ -144,7 +146,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
realPaymentMethod = new CreditCardPaymentMethodInfo.Builder(ccPaymentMethod).setId(paymentMethodId).build();
}
if (realPaymentMethod == null) {
- return Either.left(new PaymentError("unsupported", "Payment method " + paymentMethod.getType() + " not supported by the plugin", null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unsupported", "Payment method " + paymentMethod.getType() + " not supported by the plugin", null, null, null));
}
else {
if (shouldBeDefault) {
@@ -155,11 +157,11 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
}
}
else {
- return Either.left(new PaymentError("noaccount", "Could not retrieve account for accountKey " + accountKey, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("noaccount", "Could not retrieve account for accountKey " + accountKey, null, null, null));
}
}
else {
- return Either.left(new PaymentError("unknown", "Could not create add payment method " + paymentMethod + " for " + accountKey, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Could not create add payment method " + paymentMethod + " for " + accountKey, null, null, null));
}
}
@@ -203,7 +205,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
realPaymentMethod = new CreditCardPaymentMethodInfo.Builder(ccPaymentMethod).build();
}
if (realPaymentMethod == null) {
- return Either.left(new PaymentError("unsupported", "Payment method " + paymentMethod.getType() + " not supported by the plugin", null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unsupported", "Payment method " + paymentMethod.getType() + " not supported by the plugin", null, null, null));
}
else {
paymentMethods.put(paymentMethod.getId(), paymentMethod);
@@ -211,7 +213,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
}
}
else {
- return Either.left(new PaymentError("unknown", "Could not create add payment method " + paymentMethod + " for " + accountKey, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Could not create add payment method " + paymentMethod + " for " + accountKey, null, null, null));
}
}
@@ -221,11 +223,11 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
if (paymentMethodInfo != null) {
if (Boolean.FALSE.equals(paymentMethodInfo.getDefaultMethod()) || paymentMethodInfo.getDefaultMethod() == null) {
if (paymentMethods.remove(paymentMethodId) == null) {
- return Either.left(new PaymentError("unknown", "Did not get any result back", null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Did not get any result back", null, null, null));
}
}
else {
- return Either.left(new PaymentError("error", "Cannot delete default payment method", null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("error", "Cannot delete default payment method", null, null, null));
}
}
return Either.right(null);
@@ -234,7 +236,7 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
@Override
public Either<PaymentError, PaymentMethodInfo> getPaymentMethodInfo(String paymentMethodId) {
if (paymentMethodId == null) {
- return Either.left(new PaymentError("unknown", "Could not retrieve payment method for paymentMethodId " + paymentMethodId, null, null, null));
+ return Either.left((PaymentError) new DefaultPaymentError("unknown", "Could not retrieve payment method for paymentMethodId " + paymentMethodId, null, null, null));
}
return Either.right(paymentMethods.get(paymentMethodId));
pom.xml 2(+1 -1)
diff --git a/pom.xml b/pom.xml
index b50bc5f..da10442 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
<groupId>com.ning.billing</groupId>
<artifactId>killbill</artifactId>
<packaging>pom</packaging>
- <version>0.1.8-SNAPSHOT</version>
+ <version>0.1.11-SNAPSHOT</version>
<name>killbill</name>
<description>Library for managing recurring subscriptions and the associated billing</description>
<url>http://github.com/ning/killbill</url>
diff --git a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
index d1e5efa..d188438 100644
--- a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
+++ b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
@@ -20,11 +20,11 @@ import java.util.List;
import java.util.UUID;
import java.util.concurrent.TimeoutException;
-import com.ning.billing.account.api.AccountChangeNotification;
-import com.ning.billing.account.api.AccountCreationNotification;
-import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.invoice.api.EmptyInvoiceNotification;
-import com.ning.billing.invoice.api.InvoiceCreationNotification;
+import com.ning.billing.account.api.AccountChangeEvent;
+import com.ning.billing.account.api.AccountCreationEvent;
+import com.ning.billing.entitlement.api.user.SubscriptionEventTransition;
+import com.ning.billing.invoice.api.EmptyInvoiceEvent;
+import com.ning.billing.invoice.api.InvoiceCreationEvent;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentInfo;
import com.ning.billing.util.bus.BusEvent;
@@ -97,19 +97,19 @@ public abstract class CompletionUserRequestBase implements CompletionUserRequest
switch(curEvent.getBusEventType()) {
case ACCOUNT_CREATE:
- onAccountCreation((AccountCreationNotification) curEvent);
+ onAccountCreation((AccountCreationEvent) curEvent);
break;
case ACCOUNT_CHANGE:
- onAccountChange((AccountChangeNotification) curEvent);
+ onAccountChange((AccountChangeEvent) curEvent);
break;
case SUBSCRIPTION_TRANSITION:
- onSubscriptionTransition((SubscriptionTransition) curEvent);
+ onSubscriptionTransition((SubscriptionEventTransition) curEvent);
break;
case INVOICE_EMPTY:
- onEmptyInvoice((EmptyInvoiceNotification) curEvent);
+ onEmptyInvoice((EmptyInvoiceEvent) curEvent);
break;
case INVOICE_CREATION:
- onInvoiceCreation((InvoiceCreationNotification) curEvent);
+ onInvoiceCreation((InvoiceCreationEvent) curEvent);
break;
case PAYMENT_INFO:
onPaymentInfo((PaymentInfo) curEvent);
@@ -127,23 +127,23 @@ public abstract class CompletionUserRequestBase implements CompletionUserRequest
* Default no-op implementation so as to not have to implement all callbacks
*/
@Override
- public void onAccountCreation(final AccountCreationNotification curEvent) {
+ public void onAccountCreation(final AccountCreationEvent curEvent) {
}
@Override
- public void onAccountChange(final AccountChangeNotification curEvent) {
+ public void onAccountChange(final AccountChangeEvent curEvent) {
}
@Override
- public void onSubscriptionTransition(final SubscriptionTransition curEvent) {
+ public void onSubscriptionTransition(final SubscriptionEventTransition curEvent) {
}
@Override
- public void onEmptyInvoice(final EmptyInvoiceNotification curEvent) {
+ public void onEmptyInvoice(final EmptyInvoiceEvent curEvent) {
}
@Override
- public void onInvoiceCreation(final InvoiceCreationNotification curEvent) {
+ public void onInvoiceCreation(final InvoiceCreationEvent curEvent) {
}
@Override