svn commit: r814279 - in /ofbiz/branches/release09.04: ./ framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java

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

svn commit: r814279 - in /ofbiz/branches/release09.04: ./ framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java

jleroux@apache.org
Author: jleroux
Date: Sun Sep 13 08:14:59 2009
New Revision: 814279

URL: http://svn.apache.org/viewvc?rev=814279&view=rev
Log:
"Applied fix from trunk for revision: 814251"
------------------------------------------------------------------------
r814251 | doogie | 2009-09-13 01:23:49 +0200 (dim. 13 sept. 2009) | 1 ligne

Protect closing of the EntityListIterator inside a finally block.
------------------------------------------------------------------------


Modified:
    ofbiz/branches/release09.04/   (props changed)
    ofbiz/branches/release09.04/framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java

Propchange: ofbiz/branches/release09.04/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Sep 13 08:14:59 2009
@@ -1 +1 @@
-/ofbiz/trunk:765933,766011,766015,766293,766307,766316,766325,766462,766522,766800,767060,767072,767093,767098-767099,767102,767123,767125,767127,767279,767287,767671,767688,767694,767822,767845,768358,768490,768550,768675,768686,768705,768811,768815,768960,769030,769500,770272,770997,771073,772401,772464-772465,773076,773557,773628,773659,773697,774014,774632,774661,774995,775292,775667,776227,776594,776620,776922,777004,777020,777768,777792,777893,777947,778078,778094,778107,778278,778280,778364,778374,778402,778576,778594,778628,779020,779477,779496,779639,779834,779856,779866,779873,780111,780138,780180,780199,780203,780906,780945,781201,781534,781549,781669,781680,781694,782663,783257,783266,783833,783913,783917,785123,785764,785967,786778,787126,787435-787436,787442,787520,788965,788983,788987,789329,789337,789506,789548,796769,799185,800461,800846,801023,802346,804364,805307,806127,806377,808786-808787,808792,809141,810370,810438,810465,810807,810809,810814,810832,810
 836,810878,810917,811020,811280,811297,811419,811528,811708,811714,811716,811793,811838,811860,811865,811870,812159,812182,812192,812456,812540,813126,813131,813283,813672,813702,814168,814205
+/ofbiz/trunk:765933,766011,766015,766293,766307,766316,766325,766462,766522,766800,767060,767072,767093,767098-767099,767102,767123,767125,767127,767279,767287,767671,767688,767694,767822,767845,768358,768490,768550,768675,768686,768705,768811,768815,768960,769030,769500,770272,770997,771073,772401,772464-772465,773076,773557,773628,773659,773697,774014,774632,774661,774995,775292,775667,776227,776594,776620,776922,777004,777020,777768,777792,777893,777947,778078,778094,778107,778278,778280,778364,778374,778402,778576,778594,778628,779020,779477,779496,779639,779834,779856,779866,779873,780111,780138,780180,780199,780203,780906,780945,781201,781534,781549,781669,781680,781694,782663,783257,783266,783833,783913,783917,785123,785764,785967,786778,787126,787435-787436,787442,787520,788965,788983,788987,789329,789337,789506,789548,796769,799185,800461,800846,801023,802346,804364,805307,806127,806377,808786-808787,808792,809141,810370,810438,810465,810807,810809,810814,810832,810
 836,810878,810917,811020,811280,811297,811419,811528,811708,811714,811716,811793,811838,811860,811865,811870,812159,812182,812192,812456,812540,813126,813131,813283,813672,813702,814168,814205,814251

Modified: ofbiz/branches/release09.04/framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release09.04/framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java?rev=814279&r1=814278&r2=814279&view=diff
==============================================================================
--- ofbiz/branches/release09.04/framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java (original)
+++ ofbiz/branches/release09.04/framework/minilang/src/org/ofbiz/minilang/method/envops/Iterate.java Sun Sep 13 08:14:59 2009
@@ -77,29 +77,31 @@
             EntityListIterator eli = (EntityListIterator) objList;
 
             GenericValue theEntry;
-            while ((theEntry = eli.next()) != null) {
-                entryAcsr.put(methodContext, theEntry);
+            try {
+                while ((theEntry = eli.next()) != null) {
+                    entryAcsr.put(methodContext, theEntry);
 
-                if (!SimpleMethod.runSubOps(subOps, methodContext)) {
-                    // only return here if it returns false, otherwise just carry on
-                    return false;
+                    if (!SimpleMethod.runSubOps(subOps, methodContext)) {
+                        // only return here if it returns false, otherwise just carry on
+                        return false;
+                    }
                 }
-            }
-
-            // close the iterator
-            try {
-                eli.close();
-            } catch (GenericEntityException e) {
-                Debug.logError(e, module);
-                String errMsg = "ERROR: Error closing entityListIterator in " + simpleMethod.getShortDescription() + " [" + e.getMessage() + "]: " + rawString();
-                if (methodContext.getMethodType() == MethodContext.EVENT) {
-                    methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errMsg);
-                    methodContext.putEnv(simpleMethod.getEventResponseCodeName(), simpleMethod.getDefaultErrorCode());
-                } else if (methodContext.getMethodType() == MethodContext.SERVICE) {
-                    methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errMsg);
-                    methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), simpleMethod.getDefaultErrorCode());
+            } finally {
+                // close the iterator
+                try {
+                    eli.close();
+                } catch (GenericEntityException e) {
+                    Debug.logError(e, module);
+                    String errMsg = "ERROR: Error closing entityListIterator in " + simpleMethod.getShortDescription() + " [" + e.getMessage() + "]: " + rawString();
+                    if (methodContext.getMethodType() == MethodContext.EVENT) {
+                        methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errMsg);
+                        methodContext.putEnv(simpleMethod.getEventResponseCodeName(), simpleMethod.getDefaultErrorCode());
+                    } else if (methodContext.getMethodType() == MethodContext.SERVICE) {
+                        methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errMsg);
+                        methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), simpleMethod.getDefaultErrorCode());
+                    }
+                    return false;
                 }
-                return false;
             }
         } else {
             Collection<Object> theList = UtilGenerics.checkList(objList);