Author: jleroux
Date: Wed May 31 17:25:36 2017
New Revision: 1797079
URL:
http://svn.apache.org/viewvc?rev=1797079&view=revLog:
Fixed: Find Projects throw "EntityListIterator Not Closed for Entity" error
(OFBIZ-7406)
Steps to regenerate issue:
1. Go to PROJECTS component
2. Click on sub-menu "Projects"
3. Click on find button
________________________________________________
#Browse the link:
https://localhost:8443/projectmgr/control/FindProjectThis is similar with OFBIZ-9385 but the case is one of the convoluted.
The fix is though rather simple: use try-with-ressources and refactor around
Thanks: Vaibhav Jain for report
Modified:
ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortSearch.java
Modified: ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortSearch.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortSearch.java?rev=1797079&r1=1797078&r2=1797079&view=diff==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortSearch.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/WorkEffortSearch.java Wed May 31 17:25:36 2017
@@ -188,23 +188,18 @@ public class WorkEffortSearch {
long startMillis = System.currentTimeMillis();
// do the query
- EntityListIterator eli = this.doQuery(delegator);
- ArrayList<String> workEffortIds = this.makeWorkEffortIdList(eli);
- if (eli != null) {
- try {
- eli.close();
- } catch (GenericEntityException e) {
- Debug.logError(e, "Error closing WorkEffortSearch EntityListIterator");
- }
- }
-
- long endMillis = System.currentTimeMillis();
- double totalSeconds = ((double)endMillis - (double)startMillis)/1000.0;
+ try (EntityListIterator eli = this.doQuery(delegator)) {
+ ArrayList<String> workEffortIds = this.makeWorkEffortIdList(eli);
+ long endMillis = System.currentTimeMillis();
+ double totalSeconds = ((double)endMillis - (double)startMillis)/1000.0;
- // store info about results in the database, attached to the user's visitId, if specified
- this.saveSearchResultInfo(Long.valueOf(workEffortIds.size()), Double.valueOf(totalSeconds));
-
- return workEffortIds;
+ // store info about results in the database, attached to the user's visitId, if specified
+ this.saveSearchResultInfo(Long.valueOf(workEffortIds.size()), Double.valueOf(totalSeconds));
+ return workEffortIds;
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ return null;
+ }
}
public void finishKeywordConstraints() {