Author: jleroux
Date: Tue Jun 6 13:59:29 2017 New Revision: 1797788 URL: http://svn.apache.org/viewvc?rev=1797788&view=rev Log: Improved: performFindResults.listIt closed but not in case of exception in 3 Scrum Groovy files (OFBIZ-9389) This is an improvement only because no cases were reported. But obviously in case of unlucky exception after the call to the performFind service, and before it's closed, the EntityListIterator remains in memory. The solution is to use a try-catch-finally block because Groovy has not try-with-ressources. Modified: ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/AddProductBacklogItem.groovy ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListScrumResource.groovy ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListTimeSheets.groovy Modified: ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/AddProductBacklogItem.groovy URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/AddProductBacklogItem.groovy?rev=1797788&r1=1797787&r2=1797788&view=diff ============================================================================== --- ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/AddProductBacklogItem.groovy (original) +++ ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/AddProductBacklogItem.groovy Tue Jun 6 13:59:29 2017 @@ -38,8 +38,19 @@ if(parameters.statusId == null){ inputFields.putAll(parameters) inputFields.custRequestTypeId = "RF_PROD_BACKLOG" def performFindResults = runService('performFind', ["entityName": "CustRequestAndCustRequestItem", "inputFields": inputFields, "orderBy": "custSequenceNum"]) -def custRequestAndItems = performFindResults.listIt.getCompleteList() -performFindResults.listIt.close() +try { + def custRequestAndItems = performFindResults.listIt.getCompleteList() +} catch (GenericEntityException e) { + Debug.logError(e, "Failure in " + module) +} finally { + if (performFindResults.listIt != null) { + try { + performFindResults.listIt.close() + } catch (GenericEntityException e) { + Debug.logError(e, module); + } + } +} // prepare cust request item list [cust request and item Map] def countSequence = 1 Modified: ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListScrumResource.groovy URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListScrumResource.groovy?rev=1797788&r1=1797787&r2=1797788&view=diff ============================================================================== --- ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListScrumResource.groovy (original) +++ ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListScrumResource.groovy Tue Jun 6 13:59:29 2017 @@ -37,11 +37,23 @@ performFindInMap.noConditionFind = "Y" performFindInMap.inputFields = inputFields performFindInMap.orderBy = parameters.sortField if (parameters.sortField) { - performFindInMap.orderBy = "lastName" + performFindInMap.orderBy = "lastName" } performFindResults = runService('performFind', performFindInMap) -resultList = performFindResults.listIt.getCompleteList() -performFindResults.listIt.close() +try { + resultList = performFindResults.listIt.getCompleteList() +} catch (GenericEntityException e) { + Debug.logError(e, "Failure in " + module) +} finally { + if (performFindResults.listIt != null) { + try { + performFindResults.listIt.close() + } catch (GenericEntityException e) { + Debug.logError(e, module); + } + } +} + resultList.each() { result -> if (!"N".equals(result.enabled)) { Modified: ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListTimeSheets.groovy URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListTimeSheets.groovy?rev=1797788&r1=1797787&r2=1797788&view=diff ============================================================================== --- ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListTimeSheets.groovy (original) +++ ofbiz/ofbiz-plugins/trunk/scrum/groovyScripts/ListTimeSheets.groovy Tue Jun 6 13:59:29 2017 @@ -24,6 +24,7 @@ import org.apache.ofbiz.base.util.Debug import org.apache.ofbiz.base.util.UtilDateTime // get all timesheets of all user, including the planned hours +module ="ListTimeSheets.groovy" timesheets = [] inputFields = [:] @@ -33,8 +34,19 @@ if (!parameters.noConditionFind) { inputFields.putAll(parameters) performFindResults = runService('performFind', ["entityName": "Timesheet", "inputFields": inputFields, "orderBy": "fromDate DESC"]) if (performFindResults.listSize > 0) { - timesheetsDb = performFindResults.listIt.getCompleteList() - performFindResults.listIt.close() + try { + timesheetsDb = performFindResults.listIt.getCompleteList() + } catch (GenericEntityException e) { + Debug.logError(e, "Failure in " + module) + } finally { + if (performFindResults.listIt != null) { + try { + performFindResults.listIt.close() + } catch (GenericEntityException e) { + Debug.logError(e, module); + } + } + } timesheetsDb.each { timesheetDb -> //get hours from EmplLeave |
Free forum by Nabble | Edit this page |