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); |
Free forum by Nabble | Edit this page |