You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2010/01/27 04:10:37 UTC

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

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);