What do you think of the attached patch?

The success message list is pulled from the services (invoked thru the service-multi handler) so that the messages returned by the services are shown on screen: this will make the output a bit more verbose (especially if you submit big lists of services) but I think it's worth having.

Can I commit it?

Jacopo
Index: framework/webapp/src/org/ofbiz/webapp/event/ServiceMultiEventHandler.java
===================================================================
--- framework/webapp/src/org/ofbiz/webapp/event/ServiceMultiEventHandler.java   
(revision 468843)
+++ framework/webapp/src/org/ofbiz/webapp/event/ServiceMultiEventHandler.java   
(working copy)
@@ -150,8 +150,9 @@
         String messagePrefixStr = UtilProperties.getMessage("DefaultMessages", 
"service.message.prefix", locale);
         String messageSuffixStr = UtilProperties.getMessage("DefaultMessages", 
"service.message.suffix", locale);
 
-        // prepare the error message list
+        // prepare the error message and success message lists
         List errorMessages = FastList.newInstance();
+        List successMessages = FastList.newInstance();
 
         // big try/finally to make sure commit or rollback are run
         boolean beganTrans = false;
@@ -296,7 +297,16 @@
                 if (UtilValidate.isNotEmpty(errorMessage)) {
                     errorMessages.add(errorMessage);
                 }
-                
+
+                // get the success message
+                if 
(!UtilValidate.isEmpty((List)result.get(ModelService.SUCCESS_MESSAGE_LIST))) {
+                    
successMessages.addAll((List)result.get(ModelService.SUCCESS_MESSAGE_LIST));
+                }
+
                 // set the results in the request
                 if ((result != null) && (result.entrySet() != null)) {
                     Iterator rmei = result.entrySet().iterator();
@@ -339,6 +349,9 @@
                     Debug.logError(e, "Could not commit transaction", module);
                     throw new EventHandlerException("Commit transaction 
failed");
                 }
+                if (successMessages.size() > 0) {
+                    request.setAttribute("_EVENT_MESSAGE_LIST_", 
successMessages);
+                }
                 returnString = "success";
             }
         }

Reply via email to