You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2009/10/05 09:19:42 UTC

svn commit: r821705 - /ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java

Author: lektran
Date: Mon Oct  5 07:19:42 2009
New Revision: 821705

URL: http://svn.apache.org/viewvc?rev=821705&view=rev
Log:
Fix bug reported by Abdullah Shaikh - OFBIZ-2978

It appears the PaymentGatewayServices method savePgr and its associated service savePaymentGatewayResponse was originally intended to support saving either PaymentGatewayResponse OR PaymentGatewayRespMsg values but at some point this has been reduced to supporting only PaymentGatewayResponse values.
Fixed by checking the entity name before running some PaymentGatewayResponse spcific code.

Modified:
    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java

Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java?rev=821705&r1=821704&r2=821705&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java Mon Oct  5 07:19:42 2009
@@ -2806,7 +2806,14 @@
         return true;
     }
 
-    // safe payment gateway store
+    // safe payment gateway response store
+    
+    /**
+     * Saves either a PaymentGatewayResponse or PaymentGatewayRespMsg value and ensures that the value
+     * is persisted even in the event of a rollback.
+     * @param dctx
+     * @param pgr Either a PaymentGatewayResponse or PaymentGatewayRespMsg GenericValue
+     */
     private static void savePgr(DispatchContext dctx, GenericValue pgr) {
         Map<String, GenericValue> context = UtilMisc.<String, GenericValue>toMap("paymentGatewayResponse", pgr);
         LocalDispatcher dispatcher = dctx.getDispatcher();
@@ -2823,9 +2830,11 @@
     public static Map<String, Object> savePaymentGatewayResponse(DispatchContext dctx, Map<String, ? extends Object> context) {
         Delegator delegator = dctx.getDelegator();
         GenericValue pgr = (GenericValue) context.get("paymentGatewayResponse");
-        String message = pgr.getString("gatewayMessage");
-        if (message.length() > 255) {
-            pgr.set("gatewayMessage", message.substring(0, 255));
+        if ("PaymentGatewayResponse".equals(pgr.getEntityName())) {
+            String message = pgr.getString("gatewayMessage");
+            if (message.length() > 255) {
+                pgr.set("gatewayMessage", message.substring(0, 255));
+            }
         }
 
         try {