killbill-memoizeit

payment: add toString() method to payment exceptions The

7/9/2012 3:07:22 PM

Details

diff --git a/api/src/main/java/com/ning/billing/BillingExceptionBase.java b/api/src/main/java/com/ning/billing/BillingExceptionBase.java
index a074d3e..4254d5d 100644
--- a/api/src/main/java/com/ning/billing/BillingExceptionBase.java
+++ b/api/src/main/java/com/ning/billing/BillingExceptionBase.java
@@ -16,12 +16,12 @@
 
 package com.ning.billing;
 
+import javax.annotation.Nullable;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 public class BillingExceptionBase extends Exception {
-
     private static final Logger log = LoggerFactory.getLogger(BillingExceptionBase.class);
 
     private static final long serialVersionUID = 165720101383L;
@@ -42,9 +42,8 @@ public class BillingExceptionBase extends Exception {
         this.cause = cause;
     }
 
-
-    public BillingExceptionBase(final Throwable cause, final ErrorCode code, final Object... args) {
-        String tmp = null;
+    public BillingExceptionBase(@Nullable final Throwable cause, final ErrorCode code, final Object... args) {
+        String tmp;
         try {
             tmp = String.format(code.getFormat(), args);
         } catch (RuntimeException e) {
@@ -74,4 +73,14 @@ public class BillingExceptionBase extends Exception {
         return code;
     }
 
+    @Override
+    public String toString() {
+        final StringBuilder sb = new StringBuilder();
+        sb.append("BillingExceptionBase");
+        sb.append("{cause=").append(cause);
+        sb.append(", code=").append(code);
+        sb.append(", formattedMsg='").append(formattedMsg).append('\'');
+        sb.append('}');
+        return sb.toString();
+    }
 }
diff --git a/api/src/main/java/com/ning/billing/payment/plugin/api/PaymentPluginApiException.java b/api/src/main/java/com/ning/billing/payment/plugin/api/PaymentPluginApiException.java
index d201a27..81f1946 100644
--- a/api/src/main/java/com/ning/billing/payment/plugin/api/PaymentPluginApiException.java
+++ b/api/src/main/java/com/ning/billing/payment/plugin/api/PaymentPluginApiException.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations
  * under the License.
  */
+
 package com.ning.billing.payment.plugin.api;
 
 public class PaymentPluginApiException extends Exception {
-
     private static final long serialVersionUID = 15642965L;
 
     private final String errorType;
@@ -34,4 +34,14 @@ public class PaymentPluginApiException extends Exception {
     public String getErrorMessage() {
         return errorMessage;
     }
+
+    @Override
+    public String toString() {
+        final StringBuilder sb = new StringBuilder();
+        sb.append("PaymentPluginApiException");
+        sb.append("{errorMessage='").append(errorMessage).append('\'');
+        sb.append(", errorType='").append(errorType).append('\'');
+        sb.append('}');
+        return sb.toString();
+    }
 }
diff --git a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
index 6c154fd..0167a71 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
@@ -445,7 +445,7 @@ public class PaymentProcessor extends ProcessorBase {
 
             paymentDao.updateStatusForPaymentWithAttempt(paymentInput.getId(), paymentStatus,  e.getMessage(), null, attemptInput.getId(), context);
 
-            throw new PaymentApiException(ErrorCode.PAYMENT_CREATE_PAYMENT, account.getId(), e.getMessage());
+            throw new PaymentApiException(ErrorCode.PAYMENT_CREATE_PAYMENT, account.getId(), e.toString());
 
         } finally {
             if (event != null) {