svn commit: r903537 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r903537 - /ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java

jonesde
Author: jonesde
Date: Wed Jan 27 03:10:37 2010
New Revision: 903537

URL: http://svn.apache.org/viewvc?rev=903537&view=rev
Log:
Improvement for the ignore-error attribute on the form->actions->service element to cause it to call the service in its own transaction, which is the only way that makes sense because otherwise the error will cause the transaction the screen is running in to be rolled back and all subsequent queries will blow up

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=903537&r1=903536&r2=903537&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java Wed Jan 27 03:10:37 2010
@@ -355,7 +355,12 @@
                     EntityFinderUtil.expandFieldMapToContext(this.fieldMap, context, serviceContext);
                 }
 
-                Map<String, Object> result = this.modelForm.getDispatcher(context).runSync(serviceNameExpanded, serviceContext);
+                Map<String, Object> result = null;
+                if (this.ignoreError) {
+                    result = this.modelForm.getDispatcher(context).runSync(serviceNameExpanded, serviceContext, -1, true);
+                } else {
+                    result = this.modelForm.getDispatcher(context).runSync(serviceNameExpanded, serviceContext);
+                }
 
                 if (!this.resultMapNameAcsr.isEmpty()) {
                     this.resultMapNameAcsr.put(context, result);