svn commit: r685937 [1/2] - in /ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort: content/ project/ workeffort/

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

svn commit: r685937 [1/2] - in /ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort: content/ project/ workeffort/

doogie-3
Author: doogie
Date: Thu Aug 14 08:13:17 2008
New Revision: 685937

URL: http://svn.apache.org/viewvc?rev=685937&view=rev
Log:
Generics, StringBuilder, for-loop, Number.valueOf.

Modified:
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/project/ProjectWorker.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearch.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchEvents.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchSession.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortWorker.java

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java Thu Aug 14 08:13:17 2008
@@ -51,7 +51,7 @@
     public static final String module = WorkEffortContentWrapper.class.getName();
     public static final String CACHE_KEY_SEPARATOR = "::";
     
-    public static UtilCache workEffortContentCache = new UtilCache("workeffort.content.rendered", true);
+    public static UtilCache<String, String> workEffortContentCache = new UtilCache<String, String>("workeffort.content.rendered", true);
 
     protected LocalDispatcher dispatcher;
     protected GenericValue workEffort;
@@ -164,7 +164,7 @@
         return null;
     }
     
-    public List getList(String contentTypeId) {
+    public List<String> getList(String contentTypeId) {
         try {
             return getWorkEffortContentTextList(workEffort, contentTypeId, locale, mimeTypeId, workEffort.getDelegator(), dispatcher);
         } catch (Exception e) {
@@ -236,7 +236,7 @@
 
         try {
             if (useCache && workEffortContentCache.get(cacheKey) != null) {
-                return (String) workEffortContentCache.get(cacheKey);
+                return workEffortContentCache.get(cacheKey);
             }
 
             Writer outWriter = new StringWriter();
@@ -304,24 +304,22 @@
         }
         if (workEffortContent != null) {
             // when rendering the product content, always include the Product and ProductContent records that this comes from
-            Map inContext = FastMap.newInstance();
+            Map<String, Object> inContext = FastMap.newInstance();
             inContext.put("workEffort", workEffort);
             inContext.put("workEffortContent", workEffortContent);
             ContentWorker.renderContentAsText(dispatcher, delegator, workEffortContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
         }
     }
 
-    public static List getWorkEffortContentTextList(GenericValue workEffort, String workEffortContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) throws GeneralException, IOException {
-        List partyContentList = delegator.findByAndCache("WorkEffortContent", UtilMisc.toMap("workEffortId", workEffort.getString("partyId"), "workEffortContentTypeId", workEffortContentTypeId), UtilMisc.toList("-fromDate"));
+    public static List<String> getWorkEffortContentTextList(GenericValue workEffort, String workEffortContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) throws GeneralException, IOException {
+        List<GenericValue> partyContentList = delegator.findByAndCache("WorkEffortContent", UtilMisc.toMap("workEffortId", workEffort.getString("partyId"), "workEffortContentTypeId", workEffortContentTypeId), UtilMisc.toList("-fromDate"));
         partyContentList = EntityUtil.filterByDate(partyContentList);
 
-        List contentList = FastList.newInstance();
+        List<String> contentList = FastList.newInstance();
         if (partyContentList != null) {
-            Iterator i = partyContentList.iterator();
-            while (i.hasNext()) {
-                GenericValue workEffortContent = (GenericValue) i.next();
+            for (GenericValue workEffortContent: partyContentList) {
                 StringWriter outWriter = new StringWriter();
-                Map inContext = FastMap.newInstance();
+                Map<String, Object> inContext = FastMap.newInstance();
                 inContext.put("workEffort", workEffort);
                 inContext.put("workEffortContent", workEffortContent);
                 ContentWorker.renderContentAsText(dispatcher, delegator, workEffortContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
@@ -345,7 +343,7 @@
             throw new IllegalArgumentException("GenericDelegator missing");
         }
         
-        List workEffortContentList = null;
+        List<GenericValue> workEffortContentList = null;
         try {
                 workEffortContentList = delegator.findByAndCache("WorkEffortContent", UtilMisc.toMap("workEffortId", workEffortId, "workEffortContentTypeId", workEffortContentTypeId), UtilMisc.toList("-fromDate"));
         } catch (GeneralException e) {

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/project/ProjectWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/project/ProjectWorker.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/project/ProjectWorker.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/project/ProjectWorker.java Thu Aug 14 08:13:17 2008
@@ -19,12 +19,13 @@
 
 package org.ofbiz.workeffort.project;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 
 import javax.servlet.jsp.PageContext;
 
+import javolution.util.FastList;
+
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.entity.GenericDelegator;
@@ -46,7 +47,7 @@
         GenericDelegator delegator = (GenericDelegator) pageContext.getRequest().getAttribute("delegator");
         GenericValue userLogin = (GenericValue) pageContext.getSession().getAttribute("userLogin");
 
-        Collection validWorkEfforts = null;
+        Collection<GenericValue> validWorkEfforts = null;
 
         if (userLogin != null && userLogin.get("partyId") != null) {
             try {
@@ -103,7 +104,7 @@
         if (projectWorkEffortId == null)
             projectWorkEffortId = (String) pageContext.getRequest().getAttribute("projectWorkEffortId");
 
-        Collection relatedWorkEfforts = null;
+        Collection<GenericValue> relatedWorkEfforts = null;
 
         if (userLogin != null && userLogin.get("partyId") != null) {
             try {
@@ -117,14 +118,11 @@
             }
         }
 
-        Collection validWorkEfforts = new ArrayList();
+        Collection<GenericValue> validWorkEfforts = FastList.newInstance();
 
         if (relatedWorkEfforts != null) {
-            Iterator relatedWorkEffortsIter = relatedWorkEfforts.iterator();
-
             try {
-                while (relatedWorkEffortsIter.hasNext()) {
-                    GenericValue workEffortAssoc = (GenericValue) relatedWorkEffortsIter.next();
+                for (GenericValue workEffortAssoc: relatedWorkEfforts) {
                     GenericValue workEffort = workEffortAssoc.getRelatedOne("ToWorkEffort");
 
                     // only get phases
@@ -153,7 +151,7 @@
         if (phaseWorkEffortId == null)
             phaseWorkEffortId = (String) pageContext.getRequest().getAttribute("phaseWorkEffortId");
 
-        Collection relatedWorkEfforts = null;
+        Collection<GenericValue> relatedWorkEfforts = null;
 
         if (userLogin != null && userLogin.get("partyId") != null) {
             try {
@@ -167,14 +165,11 @@
             }
         }
 
-        Collection validWorkEfforts = new ArrayList();
+        Collection<GenericValue> validWorkEfforts = FastList.newInstance();
 
         if (relatedWorkEfforts != null) {
-            Iterator relatedWorkEffortsIter = relatedWorkEfforts.iterator();
-
             try {
-                while (relatedWorkEffortsIter.hasNext()) {
-                    GenericValue workEffortAssoc = (GenericValue) relatedWorkEffortsIter.next();
+                for (GenericValue workEffortAssoc: relatedWorkEfforts) {
                     GenericValue workEffort = workEffortAssoc.getRelatedOne("ToWorkEffort");
 
                     // only get phases
@@ -202,7 +197,7 @@
         if (workEffortId == null)
             workEffortId = (String) pageContext.getRequest().getAttribute("workEffortId");
 
-        Collection notes = null;
+        Collection<GenericValue> notes = null;
 
         if (userLogin != null && userLogin.get("partyId") != null) {
             try {

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortKeywordIndex.java Thu Aug 14 08:13:17 2008
@@ -20,15 +20,15 @@
 package org.ofbiz.workeffort.workeffort;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
+import javolution.util.FastList;
+
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralException;
 import org.ofbiz.base.util.UtilDateTime;
@@ -53,17 +53,17 @@
         String stopWordBagOr = KeywordSearchUtil.getStopWordBagOr();
         String stopWordBagAnd = KeywordSearchUtil.getStopWordBagAnd();
         boolean removeStems = KeywordSearchUtil.getRemoveStems();
-        Set stemSet = KeywordSearchUtil.getStemSet();
+        Set<String> stemSet = KeywordSearchUtil.getStemSet();
         
-        Map keywords = new TreeMap();
-        List strings = new ArrayList(50);
+        Map<String, Long> keywords = new TreeMap<String, Long>();
+        List<String> strings = FastList.newInstance();
         int widWeight = 1;
         try {
             widWeight = Integer.parseInt(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffort.workEffortId", "1"));
         } catch (Exception e) {
             Debug.logWarning("Could not parse weight number: " + e.toString(), module);
         }
-        keywords.put(workEffort.getString("workEffortId").toLowerCase(), new Long(widWeight));
+        keywords.put(workEffort.getString("workEffortId").toLowerCase(), Long.valueOf(widWeight));
         
         addWeightedKeywordSourceString(workEffort, "workEffortName", strings);
         addWeightedKeywordSourceString(workEffort, "workEffortTypeId", strings);
@@ -88,10 +88,7 @@
         }
         
         String workEffortContentTypes = UtilProperties.getPropertyValue("workeffortsearch", "index.include.WorkEffortContentTypes");
-        List workEffortContentTypeList = Arrays.asList(workEffortContentTypes.split(","));
-        Iterator workEffortContentTypeIter = workEffortContentTypeList.iterator();
-        while (workEffortContentTypeIter.hasNext()) {
-            String workEffortContentTypeId = (String) workEffortContentTypeIter.next();            
+        for (String workEffortContentTypeId: workEffortContentTypes.split(",")) {
             int weight = 1;
             try {
                 weight = Integer.parseInt(UtilProperties.getPropertyValue("workeffortsearch", "index.weight.WorkEffortContent." + workEffortContentTypeId, "1"));
@@ -99,31 +96,23 @@
                 Debug.logWarning("Could not parse weight number: " + e.toString(), module);
             }
             
-            List workEffortContentAndInfos = delegator.findByAnd("WorkEffortContentAndInfo", UtilMisc.toMap("workEffortId", workEffortId, "workEffortContentTypeId", workEffortContentTypeId), null);
-            Iterator workEffortContentAndInfoIter = workEffortContentAndInfos.iterator();
-            while (workEffortContentAndInfoIter.hasNext()) {
-                GenericValue workEffortContentAndInfo = (GenericValue) workEffortContentAndInfoIter.next();
+            List<GenericValue> workEffortContentAndInfos = delegator.findByAnd("WorkEffortContentAndInfo", UtilMisc.toMap("workEffortId", workEffortId, "workEffortContentTypeId", workEffortContentTypeId), null);
+            for (GenericValue workEffortContentAndInfo: workEffortContentAndInfos) {
                 addWeightedDataResourceString(workEffortContentAndInfo, weight, strings, delegator, workEffort);                
-                List alternateViews = workEffortContentAndInfo.getRelated("ContentAssocDataResourceViewTo", UtilMisc.toMap("caContentAssocTypeId", "ALTERNATE_LOCALE"), UtilMisc.toList("-caFromDate"));
+                List<GenericValue> alternateViews = workEffortContentAndInfo.getRelated("ContentAssocDataResourceViewTo", UtilMisc.toMap("caContentAssocTypeId", "ALTERNATE_LOCALE"), UtilMisc.toList("-caFromDate"));
                 alternateViews = EntityUtil.filterByDate(alternateViews, UtilDateTime.nowTimestamp(), "caFromDate", "caThruDate", true);
-                Iterator alternateViewIter = alternateViews.iterator();
-                while (alternateViewIter.hasNext()) {
-                    GenericValue thisView = (GenericValue) alternateViewIter.next();
+                for (GenericValue thisView: alternateViews) {
                     addWeightedDataResourceString(thisView, weight, strings, delegator, workEffort);
                 }
             }
         }    
-        Iterator strIter = strings.iterator();
-        while (strIter.hasNext()) {
-            String str = (String) strIter.next();
+        for (String str: strings) {
             // call process keywords method here
             KeywordSearchUtil.processKeywordsForIndex(str, keywords, separators, stopWordBagAnd, stopWordBagOr, removeStems, stemSet);
         }
 
-        List toBeStored = new LinkedList();
-        Iterator kiter = keywords.entrySet().iterator();
-        while (kiter.hasNext()) {
-            Map.Entry entry = (Map.Entry) kiter.next();
+        List<GenericValue> toBeStored = FastList.newInstance();
+        for (Map.Entry<String, Long> entry: keywords.entrySet()) {
             GenericValue workEffortKeyword = delegator.makeValue("WorkEffortKeyword", UtilMisc.toMap("workEffortId", workEffort.getString("workEffortId"), "keyword", entry.getKey(), "relevancyWeight", entry.getValue()));
             toBeStored.add(workEffortKeyword);
         }
@@ -134,8 +123,8 @@
             
     }
 
-    public static void addWeightedDataResourceString(GenericValue dataResource, int weight, List strings, GenericDelegator delegator, GenericValue workEffort) {
-        Map workEffortCtx = UtilMisc.toMap("workEffort", workEffort);
+    public static void addWeightedDataResourceString(GenericValue dataResource, int weight, List<String> strings, GenericDelegator delegator, GenericValue workEffort) {
+        Map<String, Object> workEffortCtx = UtilMisc.<String, Object>toMap("workEffort", workEffort);
         try {
             String contentText = DataResourceWorker.renderDataResourceAsText(delegator, dataResource.getString("dataResourceId"), workEffortCtx, null, null, false);
             for (int i = 0; i < weight; i++) {
@@ -147,7 +136,7 @@
             Debug.logError(e1, "Error getting content text to index", module);
         }
     }
-    public static void addWeightedKeywordSourceString(GenericValue value, String fieldName, List strings) {
+    public static void addWeightedKeywordSourceString(GenericValue value, String fieldName, List<String> strings) {
         if (value.getString(fieldName) != null) {
             int weight = 1;
 

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortPartyAssignmentServices.java Thu Aug 14 08:13:17 2008
@@ -51,14 +51,14 @@
             // TODO: restrict status transitions
 
             String statusId = (String) wepa.get("statusId");
-            Map context = UtilMisc.toMap("workEffortId", wepa.get("workEffortId"), "partyId", wepa.get("partyId"),
+            Map<String, Object> context = UtilMisc.toMap("workEffortId", wepa.get("workEffortId"), "partyId", wepa.get("partyId"),
                     "roleTypeId", wepa.get("roleTypeId"), "fromDate", wepa.get("fromDate"),
                     "userLogin", userLogin);
 
             if ("CAL_ACCEPTED".equals(statusId)) {
                 // accept the activity assignment
                 try {
-                    Map results = dispatcher.runSync("wfAcceptAssignment", context);
+                    Map<String, Object> results = dispatcher.runSync("wfAcceptAssignment", context);
 
                     if (results != null && results.get(ModelService.ERROR_MESSAGE) != null)
                         Debug.logWarning((String) results.get(ModelService.ERROR_MESSAGE), module);
@@ -68,7 +68,7 @@
             } else if ("CAL_COMPLETED".equals(statusId)) {
                 // complete the activity assignment
                 try {
-                    Map results = dispatcher.runSync("wfCompleteAssignment", context);
+                    Map<String, Object> results = dispatcher.runSync("wfCompleteAssignment", context);
 
                     if (results != null && results.get(ModelService.ERROR_MESSAGE) != null)
                         Debug.logWarning((String) results.get(ModelService.ERROR_MESSAGE), module);
@@ -78,7 +78,7 @@
             } else if ("CAL_DECLINED".equals(statusId)) {
                 // decline the activity assignment
                 try {
-                    Map results = dispatcher.runSync("wfDeclineAssignment", context);
+                    Map<String, Object> results = dispatcher.runSync("wfDeclineAssignment", context);
 
                     if (results != null && results.get(ModelService.ERROR_MESSAGE) != null)
                         Debug.logWarning((String) results.get(ModelService.ERROR_MESSAGE), module);

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearch.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearch.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearch.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearch.java Thu Aug 14 08:13:17 2008
@@ -21,9 +21,7 @@
 import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -84,17 +82,17 @@
     public static final String module = WorkEffortSearch.class.getName();
     public static final String resource = "WorkEffortUiLabels";
 
-    public static ArrayList searchWorkEfforts(List workEffortSearchConstraintList, ResultSortOrder resultSortOrder, GenericDelegator delegator, String visitId) {
+    public static ArrayList<String> searchWorkEfforts(List<? extends WorkEffortSearchConstraint> workEffortSearchConstraintList, ResultSortOrder resultSortOrder, GenericDelegator delegator, String visitId) {
         WorkEffortSearchContext workEffortSearchContext = new WorkEffortSearchContext(delegator, visitId);
 
         workEffortSearchContext.addWorkEffortSearchConstraints(workEffortSearchConstraintList);
         workEffortSearchContext.setResultSortOrder(resultSortOrder);
 
-        ArrayList workEffortIds = workEffortSearchContext.doSearch();
+        ArrayList<String> workEffortIds = workEffortSearchContext.doSearch();
         return workEffortIds;
     }
 
-    public static void getAllSubWorkEffortIds(String workEffortId, Set workEffortIdSet, GenericDelegator delegator, Timestamp nowTimestamp) {
+    public static void getAllSubWorkEffortIds(String workEffortId, Set<String> workEffortIdSet, GenericDelegator delegator, Timestamp nowTimestamp) {
         if (nowTimestamp == null) {
             nowTimestamp = UtilDateTime.nowTimestamp();
         }
@@ -105,11 +103,8 @@
         // now find all sub-categories, filtered by effective dates, and call this routine for them
         try {
             // Find WorkEffortAssoc, workEffortAssocTypeId=WORK_EFF_BREAKDOWN
-            List workEffortAssocList = delegator.findByAndCache("WorkEffortAssoc", UtilMisc.toMap("workEffortIdFrom", workEffortId, "workEffortAssocTypeId", "WORK_EFF_BREAKDOWN"));
-            Iterator workEffortAssocIter = workEffortAssocList.iterator();
-            while (workEffortAssocIter.hasNext()) {
-                GenericValue workEffortAssoc = (GenericValue) workEffortAssocIter.next();
-
+            List<GenericValue> workEffortAssocList = delegator.findByAndCache("WorkEffortAssoc", UtilMisc.toMap("workEffortIdFrom", workEffortId, "workEffortAssocTypeId", "WORK_EFF_BREAKDOWN"));
+            for (GenericValue workEffortAssoc: workEffortAssocList) {
                 String subWorkEffortId = workEffortAssoc.getString("workEffortIdTo");
                 if (workEffortIdSet.contains(subWorkEffortId)) {
                     // if this category has already been traversed, no use doing it again; this will also avoid infinite loops
@@ -123,12 +118,9 @@
             }
             
             // Find WorkEffort where current workEffortId = workEffortParentId; only select minimal fields to keep the size low
-            List childWorkEffortList = delegator.findList("WorkEffort", EntityCondition.makeCondition("workEffortParentId", EntityComparisonOperator.EQUALS, workEffortId),
+            List<GenericValue> childWorkEffortList = delegator.findList("WorkEffort", EntityCondition.makeCondition("workEffortParentId", EntityComparisonOperator.EQUALS, workEffortId),
                     UtilMisc.toSet("workEffortId", "workEffortParentId"), null, null, true);
-            Iterator childWorkEffortIter = childWorkEffortList.iterator();
-            while (childWorkEffortIter.hasNext()) {
-                GenericValue childWorkEffort = (GenericValue) childWorkEffortIter.next();
-
+            for (GenericValue childWorkEffort: childWorkEffortList) {
                 String subWorkEffortId = childWorkEffort.getString("workEffortId");
                 if (workEffortIdSet.contains(subWorkEffortId)) {
                     // if this category has already been traversed, no use doing it again; this will also avoid infinite loops
@@ -145,17 +137,17 @@
 
     public static class WorkEffortSearchContext {
         public int index = 1;
-        public List entityConditionList = new LinkedList();
-        public List orderByList = new LinkedList();
-        public List fieldsToSelect = UtilMisc.toList("workEffortId");
+        public List<EntityCondition> entityConditionList = FastList.newInstance();
+        public List<String> orderByList = FastList.newInstance();
+        public List<String> fieldsToSelect = UtilMisc.toList("workEffortId");
         public DynamicViewEntity dynamicViewEntity = new DynamicViewEntity();
         public boolean workEffortIdGroupBy = false;
         public boolean includedKeywordSearch = false;
         public Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
-        public List keywordFixedOrSetAndList = new LinkedList();
-        public Set orKeywordFixedSet = new HashSet();
-        public Set andKeywordFixedSet = new HashSet();
-        public List workEffortSearchConstraintList = new LinkedList();
+        public List<Set<String>> keywordFixedOrSetAndList = FastList.newInstance();
+        public Set<String> orKeywordFixedSet = FastSet.newInstance();
+        public Set<String> andKeywordFixedSet = FastSet.newInstance();
+        public List<GenericValue> workEffortSearchConstraintList = FastList.newInstance();
         public ResultSortOrder resultSortOrder = null;
         public Integer resultOffset = null;
         public Integer maxResults = null;
@@ -173,11 +165,9 @@
             return this.delegator;
         }
 
-        public void addWorkEffortSearchConstraints(List workEffortSearchConstraintList) {
+        public void addWorkEffortSearchConstraints(List<? extends WorkEffortSearchConstraint> workEffortSearchConstraintList) {
             // Go through the constraints and add them in
-            Iterator workEffortSearchConstraintIter = workEffortSearchConstraintList.iterator();
-            while (workEffortSearchConstraintIter.hasNext()) {
-                WorkEffortSearchConstraint constraint = (WorkEffortSearchConstraint) workEffortSearchConstraintIter.next();
+            for (WorkEffortSearchConstraint constraint: workEffortSearchConstraintList) {
                 constraint.addConstraint(this);
             }
         }
@@ -198,12 +188,12 @@
             return this.totalResults;
         }
 
-        public ArrayList doSearch() {
+        public ArrayList<String> doSearch() {
             long startMillis = System.currentTimeMillis();
 
             // do the query
             EntityListIterator eli = this.doQuery(delegator);            
-            ArrayList workEffortIds = this.makeWorkEffortIdList(eli);
+            ArrayList<String> workEffortIds = this.makeWorkEffortIdList(eli);
             if (eli != null) {
                 try {
                     eli.close();
@@ -216,7 +206,7 @@
             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(new Long(workEffortIds.size()), new Double(totalSeconds));
+            this.saveSearchResultInfo(Long.valueOf(workEffortIds.size()), Double.valueOf(totalSeconds));
 
             return workEffortIds;
         }
@@ -236,9 +226,9 @@
             }
 
             // remove all or sets from the or set and list where the or set is size 1 and put them in the and list
-            Iterator keywordFixedOrSetAndTestIter = keywordFixedOrSetAndList.iterator();
+            Iterator<Set<String>> keywordFixedOrSetAndTestIter = keywordFixedOrSetAndList.iterator();
             while (keywordFixedOrSetAndTestIter.hasNext()) {
-                Set keywordFixedOrSet = (Set) keywordFixedOrSetAndTestIter.next();
+                Set<String> keywordFixedOrSet = keywordFixedOrSetAndTestIter.next();
                 if (keywordFixedOrSet.size() == 0) {
                     keywordFixedOrSetAndTestIter.remove();
                 } else if (keywordFixedOrSet.size() == 1) {
@@ -256,10 +246,7 @@
             if (andKeywordFixedSet.size() > 0) {
                 // add up the relevancyWeight fields from all keyword member entities for a total to sort by
 
-                Iterator keywordIter = andKeywordFixedSet.iterator();
-                while (keywordIter.hasNext()) {
-                    String keyword = (String) keywordIter.next();
-
+                for (String keyword: andKeywordFixedSet) {
                     // make index based values and increment
                     String entityAlias = "PK" + index;
                     String prefix = "pk" + index;
@@ -281,9 +268,7 @@
                 }
             }
             if (keywordFixedOrSetAndList.size() > 0) {
-                Iterator keywordFixedOrSetAndIter = keywordFixedOrSetAndList.iterator();
-                while (keywordFixedOrSetAndIter.hasNext()) {
-                    Set keywordFixedOrSet = (Set) keywordFixedOrSetAndIter.next();
+                for (Set<String> keywordFixedOrSet: keywordFixedOrSetAndList) {
                     // make index based values and increment
                     String entityAlias = "PK" + index;
                     String prefix = "pk" + index;
@@ -292,10 +277,8 @@
                     dynamicViewEntity.addMemberEntity(entityAlias, "WorkEffortKeyword");
                     dynamicViewEntity.addAlias(entityAlias, prefix + "Keyword", "keyword", null, null, null, null);
                     dynamicViewEntity.addViewLink("WEFF", entityAlias, Boolean.FALSE, ModelKeyMap.makeKeyMapList("workEffortId"));
-                    List keywordOrList = new LinkedList();
-                    Iterator keywordIter = keywordFixedOrSet.iterator();
-                    while (keywordIter.hasNext()) {
-                        String keyword = (String) keywordIter.next();
+                    List<EntityExpr> keywordOrList = FastList.newInstance();
+                    for (String keyword: keywordFixedOrSet) {
                         keywordOrList.add(EntityCondition.makeCondition(prefix + "Keyword", EntityOperator.LIKE, keyword));
                     }
                     entityConditionList.add(EntityCondition.makeCondition(keywordOrList, EntityOperator.OR));
@@ -322,7 +305,7 @@
             if (resultSortOrder != null) {
                 resultSortOrder.setSortOrder(this);
             }
-            dynamicViewEntity.addAlias("WEFF", "workEffortId", null, null, null, new Boolean(workEffortIdGroupBy), null);
+            dynamicViewEntity.addAlias("WEFF", "workEffortId", null, null, null, Boolean.valueOf(workEffortIdGroupBy), null);
             EntityCondition whereCondition = EntityCondition.makeCondition(entityConditionList, EntityOperator.AND);
             
             // Debug.logInfo("WorkEffortSearch, whereCondition = " + whereCondition.toString(), module);
@@ -342,8 +325,8 @@
             return eli;
         }
 
-        public ArrayList makeWorkEffortIdList(EntityListIterator eli) {
-            ArrayList workEffortIds = new ArrayList(maxResults == null ? 100 : maxResults.intValue());
+        public ArrayList<String> makeWorkEffortIdList(EntityListIterator eli) {
+            ArrayList<String> workEffortIds = new ArrayList<String>(maxResults == null ? 100 : maxResults.intValue());
             if (eli == null) {
                 Debug.logWarning("The eli is null, returning zero results", module);
                 return workEffortIds;
@@ -391,7 +374,7 @@
                     if (this.resultOffset != null) {
                         failTotal = this.resultOffset.intValue() - 1;
                     }
-                    this.totalResults = new Integer(failTotal);
+                    this.totalResults = Integer.valueOf(failTotal);
                     return workEffortIds;
                 }
 
@@ -400,7 +383,7 @@
                 int numRetreived = 1;
                 int duplicatesFound = 0;
 
-                Set workEffortIdSet = new HashSet();
+                Set<String> workEffortIdSet = FastSet.newInstance();
                 
                 workEffortIds.add(searchResult.getString("workEffortId"));
                 workEffortIdSet.add(searchResult.getString("workEffortId"));
@@ -416,10 +399,10 @@
                     }
                     
                     /*
-                    StringBuffer lineMsg = new StringBuffer("Got search result line: ");
-                    Iterator fieldsToSelectIter = fieldsToSelect.iterator();
+                    StringBuilder lineMsg = new StringBuilder("Got search result line: ");
+                    Iterator<String> fieldsToSelectIter = fieldsToSelect.iterator();
                     while (fieldsToSelectIter.hasNext()) {
-                        String fieldName = (String) fieldsToSelectIter.next();
+                        String fieldName = fieldsToSelectIter.next();
                         lineMsg.append(fieldName);
                         lineMsg.append("=");
                         lineMsg.append(searchResult.get(fieldName));
@@ -435,7 +418,7 @@
                     // we weren't at the end, so go to the end and get the index
                     //Debug.logInfo("Getting totalResults from ending index - before last() currentIndex=" + eli.currentIndex(), module);
                     if (eli.last()) {
-                        this.totalResults = new Integer(eli.currentIndex());
+                        this.totalResults = Integer.valueOf(eli.currentIndex());
                         //Debug.logInfo("Getting totalResults from ending index - after last() currentIndex=" + eli.currentIndex(), module);
                     }
                 }
@@ -444,7 +427,7 @@
                     if (this.resultOffset != null) {
                         total += (this.resultOffset.intValue() - 1);
                     }
-                    this.totalResults = new Integer(total);
+                    this.totalResults = Integer.valueOf(total);
                 }
 
                 Debug.logInfo("Got search values, numRetreived=" + numRetreived + ", totalResults=" + totalResults + ", maxResults=" + maxResults + ", resultOffset=" + resultOffset + ", duplicatesFound(in the current results)=" + duplicatesFound, module);
@@ -478,10 +461,8 @@
                     workEffortSearchResult.set("searchDate", nowTimestamp);
                     workEffortSearchResult.create();
 
-                    Iterator workEffortSearchConstraintIter = workEffortSearchConstraintList.iterator();
                     int seqId = 1;
-                    while (workEffortSearchConstraintIter.hasNext()) {
-                        GenericValue workEffortSearchConstraint = (GenericValue) workEffortSearchConstraintIter.next();
+                    for (GenericValue workEffortSearchConstraint: workEffortSearchConstraintList) {
                         workEffortSearchConstraint.set("workEffortSearchResultId", workEffortSearchResultId);
                         workEffortSearchConstraint.set("constraintSeqId", Integer.toString(seqId));
                         workEffortSearchConstraint.create();
@@ -526,7 +507,7 @@
         }
 
         public void addConstraint(WorkEffortSearchContext workEffortSearchContext) {
-            Set workEffortIdSet = FastSet.newInstance();
+            Set<String> workEffortIdSet = FastSet.newInstance();
             if (includeSubWorkEfforts) {
                 // find all sub-categories recursively, make a Set of workEffortId
                 WorkEffortSearch.getAllSubWorkEffortIds(workEffortId, workEffortIdSet, workEffortSearchContext.getDelegator(), workEffortSearchContext.nowTimestamp);
@@ -553,7 +534,7 @@
             workEffortSearchContext.dynamicViewEntity.addAlias(entityAlias, prefix + "ThruDate", "thruDate", null, null, null, null);
             workEffortSearchContext.dynamicViewEntity.addViewLink("WEFF", entityAlias, Boolean.TRUE, ModelKeyMap.makeKeyMapList("workEffortId","workEffortIdFrom"));
             
-            List assocConditionFromTo = FastList.newInstance();
+            List<EntityExpr> assocConditionFromTo = FastList.newInstance();
             assocConditionFromTo.add(EntityCondition.makeCondition(prefix + "WorkEffortIdTo", EntityOperator.IN, workEffortIdSet));
             if (UtilValidate.isNotEmpty(workEffortAssocTypeId)) {
                 assocConditionFromTo.add(EntityCondition.makeCondition(prefix + "WorkEffortAssocTypeId", EntityOperator.EQUALS, workEffortAssocTypeId));
@@ -574,7 +555,7 @@
             workEffortSearchContext.dynamicViewEntity.addAlias(entityAlias, prefix + "ThruDate", "thruDate", null, null, null, null);
             workEffortSearchContext.dynamicViewEntity.addViewLink("WEFF", entityAlias, Boolean.TRUE, ModelKeyMap.makeKeyMapList("workEffortId","workEffortIdTo"));
             
-            List assocConditionToFrom = FastList.newInstance();
+            List<EntityExpr> assocConditionToFrom = FastList.newInstance();
             assocConditionToFrom.add(EntityCondition.makeCondition(prefix + "WorkEffortIdFrom", EntityOperator.IN, workEffortIdSet));
             if (UtilValidate.isNotEmpty(workEffortAssocTypeId)) {
                 assocConditionToFrom.add(EntityCondition.makeCondition(prefix + "WorkEffortAssocTypeId", EntityOperator.EQUALS, workEffortAssocTypeId));
@@ -602,7 +583,7 @@
                 Debug.logError(e, "Error looking up WorkEffortAssocConstraint pretty print info: " + e.toString(), module);
             }
 
-            StringBuffer ppBuf = new StringBuffer();            
+            StringBuilder ppBuf = new StringBuilder();            
             ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortAssoc", locale) + ": ");
             if (workEffort != null) {
                 ppBuf.append(workEffort.getString("workEffortName"));
@@ -623,7 +604,7 @@
                 }
             }
             if (this.includeSubWorkEfforts) {
-                ppBuf.append(" (" + UtilProperties.getMessage(resource, "WorkEffortIncludeAllSubWorkEfforts", locale) + ")");
+                ppBuf.append(" (").append(UtilProperties.getMessage(resource, "WorkEffortIncludeAllSubWorkEfforts", locale)).append(")");
             }
             return ppBuf.toString();
         }
@@ -676,16 +657,16 @@
             workEffortSearchContext.dynamicViewEntity.addAlias(entityAlias, prefix + "ReviewText", "reviewText", null, null, null, null);
             workEffortSearchContext.dynamicViewEntity.addViewLink("WEFF", entityAlias, Boolean.FALSE, ModelKeyMap.makeKeyMapList("workEffortId"));
             workEffortSearchContext.entityConditionList.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD(prefix + "ReviewText"), EntityOperator.LIKE, EntityFunction.UPPER("%" + reviewTextString + "%")));
-            Map valueMap = UtilMisc.toMap("constraintName", constraintName, "infoString", this.reviewTextString);
+            Map<String, String> valueMap = UtilMisc.toMap("constraintName", constraintName, "infoString", this.reviewTextString);
             workEffortSearchContext.workEffortSearchConstraintList.add(workEffortSearchContext.getDelegator().makeValue("WorkEffortSearchConstraint", valueMap));
         }
 
         
         /** pretty print for log messages and even UI stuff */
         public String prettyPrintConstraint(GenericDelegator delegator, boolean detailed, Locale locale) {
-            StringBuffer ppBuf = new StringBuffer();
+            StringBuilder ppBuf = new StringBuilder();
             ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortReviews", locale) + ": \"");
-            ppBuf.append(this.reviewTextString + "\", " + UtilProperties.getMessage(resource, "WorkEffortKeywordWhere", locale) + " ");                        
+            ppBuf.append(this.reviewTextString).append("\", ").append(UtilProperties.getMessage(resource, "WorkEffortKeywordWhere", locale)).append(" ");                        
             return ppBuf.toString();
         }
 
@@ -752,7 +733,7 @@
             } catch (GenericEntityException e) {
                 Debug.logError(e, "Error finding PartyAssignmentConstraint information for constraint pretty print", module);
             }
-            StringBuffer ppBuf = new StringBuffer();
+            StringBuilder ppBuf = new StringBuilder();
             ppBuf.append("WorkEffort Assignment: ");
             if (partyNameView != null) {
                 if (UtilValidate.isNotEmpty(partyNameView.getString("firstName"))) {
@@ -818,10 +799,10 @@
 
     public static class ProductSetConstraint extends WorkEffortSearchConstraint {
         public static final String constraintName = "ProductSet";
-        protected Set productIdSet;
+        protected Set<String> productIdSet;
 
-        public ProductSetConstraint(Collection productIdSet) {
-            this.productIdSet = new HashSet(productIdSet);
+        public ProductSetConstraint(Collection<String> productIdSet) {
+            this.productIdSet = UtilMisc.makeSetWritable(productIdSet);
         }
 
         public void addConstraint(WorkEffortSearchContext workEffortSearchContext) {
@@ -841,10 +822,10 @@
             workEffortSearchContext.entityConditionList.add(EntityCondition.makeCondition(prefix + "FromDate", EntityOperator.LESS_THAN, workEffortSearchContext.nowTimestamp));
 
             // add in workEffortSearchConstraint, don't worry about the workEffortSearchResultId or constraintSeqId, those will be fill in later
-            StringBuffer productIdInfo = new StringBuffer();
-            Iterator productIdIter = this.productIdSet.iterator();
+            StringBuilder productIdInfo = new StringBuilder();
+            Iterator<String> productIdIter = this.productIdSet.iterator();
             while (productIdIter.hasNext()) {
-                String productId = (String) productIdIter.next();
+                String productId = productIdIter.next();
                 productIdInfo.append(productId);
                 if (productIdIter.hasNext()) {
                     productIdInfo.append(",");
@@ -855,11 +836,11 @@
         }
 
         public String prettyPrintConstraint(GenericDelegator delegator, boolean detailed, Locale locale) {
-            StringBuffer infoOut = new StringBuffer();
+            StringBuilder infoOut = new StringBuilder();
             try {
-                Iterator productIdIter = this.productIdSet.iterator();
+                Iterator<String> productIdIter = this.productIdSet.iterator();
                 while (productIdIter.hasNext()) {
-                    String productId = (String) productIdIter.next();
+                    String productId = productIdIter.next();
                     GenericValue product = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", productId));
                     if (product == null) {
                         infoOut.append("[");
@@ -920,15 +901,13 @@
             }
         }
 
-        public Set makeFullKeywordSet(GenericDelegator delegator) {
-            Set keywordSet = KeywordSearchUtil.makeKeywordSet(this.keywordsString, null, true);
-            Set fullKeywordSet = new TreeSet();
+        public Set<String> makeFullKeywordSet(GenericDelegator delegator) {
+            Set<String> keywordSet = KeywordSearchUtil.makeKeywordSet(this.keywordsString, null, true);
+            Set<String> fullKeywordSet = new TreeSet<String>();
 
             // expand the keyword list according to the thesaurus and create a new set of keywords
-            Iterator keywordIter = keywordSet.iterator();
-            while (keywordIter.hasNext()) {
-                String keyword = (String) keywordIter.next();
-                Set expandedSet = new TreeSet();
+            for (String keyword: keywordSet) {
+                Set<String> expandedSet = new TreeSet<String>();
                 boolean replaceEntered = KeywordSearchUtil.expandKeywordForSearch(keyword, expandedSet, delegator);
                 fullKeywordSet.addAll(expandedSet);
                 if (!replaceEntered) {
@@ -948,31 +927,29 @@
                 //but then the sets should be and'ed to produce the overall expression; create the SQL for this
                 //needs some work as the current method only support a list of and'ed words and a list of or'ed words, not
                 //a list of or'ed sets to be and'ed together
-                Set keywordSet = KeywordSearchUtil.makeKeywordSet(this.keywordsString, null, true);
+                Set<String> keywordSet = KeywordSearchUtil.makeKeywordSet(this.keywordsString, null, true);
 
                 // expand the keyword list according to the thesaurus and create a new set of keywords
-                Iterator keywordIter = keywordSet.iterator();
-                while (keywordIter.hasNext()) {
-                    String keyword = (String) keywordIter.next();
-                    Set expandedSet = new TreeSet();
+                for (String keyword: keywordSet) {
+                    Set<String> expandedSet = new TreeSet<String>();
                     boolean replaceEntered = KeywordSearchUtil.expandKeywordForSearch(keyword, expandedSet, workEffortSearchContext.getDelegator());
                     if (!replaceEntered) {
                         expandedSet.add(keyword);
                     }
-                    Set fixedSet = KeywordSearchUtil.fixKeywordsForSearch(expandedSet, anyPrefix, anySuffix, removeStems, isAnd);
-                    Set fixedKeywordSet = new HashSet();
+                    Set<String> fixedSet = KeywordSearchUtil.fixKeywordsForSearch(expandedSet, anyPrefix, anySuffix, removeStems, isAnd);
+                    Set<String> fixedKeywordSet = FastSet.newInstance();
                     fixedKeywordSet.addAll(fixedSet);
                     workEffortSearchContext.keywordFixedOrSetAndList.add(fixedKeywordSet);
                 }
             } else {
                 // when isAnd is false, just add all of the new entries to the big list
-                Set keywordFirstPass = makeFullKeywordSet(workEffortSearchContext.getDelegator()); // includes keyword expansion, etc
-                Set keywordSet = KeywordSearchUtil.fixKeywordsForSearch(keywordFirstPass, anyPrefix, anySuffix, removeStems, isAnd);
+                Set<String> keywordFirstPass = makeFullKeywordSet(workEffortSearchContext.getDelegator()); // includes keyword expansion, etc
+                Set<String> keywordSet = KeywordSearchUtil.fixKeywordsForSearch(keywordFirstPass, anyPrefix, anySuffix, removeStems, isAnd);
                 workEffortSearchContext.orKeywordFixedSet.addAll(keywordSet);
             }
 
             // add in workEffortSearchConstraint, don't worry about the workEffortSearchResultId or constraintSeqId, those will be fill in later
-            Map valueMap = UtilMisc.toMap("constraintName", constraintName, "infoString", this.keywordsString);
+            Map<String, String> valueMap = UtilMisc.toMap("constraintName", constraintName, "infoString", this.keywordsString);
             valueMap.put("anyPrefix", this.anyPrefix ? "Y" : "N");
             valueMap.put("anySuffix", this.anySuffix ? "Y" : "N");
             valueMap.put("isAnd", this.isAnd ? "Y" : "N");
@@ -982,9 +959,9 @@
 
         /** pretty print for log messages and even UI stuff */
         public String prettyPrintConstraint(GenericDelegator delegator, boolean detailed, Locale locale) {
-            StringBuffer ppBuf = new StringBuffer();
-            ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortKeywords", locale) + ": \"");
-            ppBuf.append(this.keywordsString + "\", " + UtilProperties.getMessage(resource, "WorkEffortKeywordWhere", locale) + " ");
+            StringBuilder ppBuf = new StringBuilder();
+            ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortKeywords", locale)).append(": \"");
+            ppBuf.append(this.keywordsString).append("\", ").append(UtilProperties.getMessage(resource, "WorkEffortKeywordWhere", locale)).append(" ");
             ppBuf.append(isAnd ? UtilProperties.getMessage(resource, "WorkEffortKeywordAllWordsMatch", locale) : UtilProperties.getMessage(resource, "WorkEffortKeywordAnyWordMatches", locale));            
             return ppBuf.toString();
         }
@@ -1034,7 +1011,7 @@
         public void addConstraint(WorkEffortSearchContext workEffortSearchContext) {
             workEffortSearchContext.dynamicViewEntity.addAlias("WEFF", "lastModifiedDate", "lastModifiedDate", null, null, null, null);
             
-            EntityConditionList dateConditions = null;
+            EntityConditionList<EntityExpr> dateConditions = null;
             EntityExpr dateCondition=null;
             if(fromDate !=null && thruDate!=null) {
             dateConditions= EntityCondition.makeCondition(UtilMisc.toList(
@@ -1045,7 +1022,7 @@
             } else if (thruDate != null) {
                 dateCondition = EntityCondition.makeCondition("lastModifiedDate", EntityOperator.LESS_THAN_EQUAL_TO, thruDate);
             }
-            EntityConditionList conditions = null;
+            EntityConditionList<? extends EntityCondition> conditions = null;
             if(fromDate !=null && thruDate!=null) {
                 conditions=EntityCondition.makeCondition(UtilMisc.toList(
                     dateConditions,
@@ -1066,9 +1043,9 @@
 
         /** pretty print for log messages and even UI stuff */
         public String prettyPrintConstraint(GenericDelegator delegator, boolean detailed, Locale locale) {
-            StringBuffer ppBuf = new StringBuffer();
-            ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortLastModified", locale) + ": \"");
-            ppBuf.append(fromDate +"-" +thruDate + "\", " + UtilProperties.getMessage(resource, "WorkEffortLastModified", locale) + " ");                        
+            StringBuilder ppBuf = new StringBuilder();
+            ppBuf.append(UtilProperties.getMessage(resource, "WorkEffortLastModified", locale)).append(": \"");
+            ppBuf.append(fromDate).append("-").append(thruDate).append("\", ").append(UtilProperties.getMessage(resource, "WorkEffortLastModified", locale)).append(" ");                        
             return ppBuf.toString();
         }
         

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchEvents.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchEvents.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchEvents.java Thu Aug 14 08:13:17 2008
@@ -19,16 +19,18 @@
 package org.ofbiz.workeffort.workeffort;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import javolution.util.FastMap;
+
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.webapp.stats.VisitHandler;
 import org.ofbiz.workeffort.workeffort.WorkEffortSearch.ResultSortOrder;
+import org.ofbiz.workeffort.workeffort.WorkEffortSearch.WorkEffortSearchConstraint;
 import org.ofbiz.workeffort.workeffort.WorkEffortSearch.WorkEffortSearchContext;
 import org.ofbiz.workeffort.workeffort.WorkEffortSearchSession.WorkEffortSearchOptions;
 
@@ -58,13 +60,13 @@
         highIndex = (viewIndex + 1) * viewSize;
 
         // setup resultOffset and maxResults, noting that resultOffset is 1 based, not zero based as these numbers
-        Integer resultOffset = new Integer(lowIndex + 1);
-        Integer maxResults = new Integer(viewSize);
+        Integer resultOffset = Integer.valueOf(lowIndex + 1);
+        Integer maxResults = Integer.valueOf(viewSize);
 
         // ========== Do the actual search
         ArrayList workEffortIds = null;
         String visitId = VisitHandler.getVisitId(session);
-        List workEffortSearchConstraintList = WorkEffortSearchOptions.getConstraintList(session);
+        List<WorkEffortSearchConstraint> workEffortSearchConstraintList = WorkEffortSearchOptions.getConstraintList(session);
         // if no constraints, don't do a search...
         if (workEffortSearchConstraintList != null && workEffortSearchConstraintList.size() > 0) {
             // if the search options have changed since the last search, put at the beginning of the options history list
@@ -92,18 +94,18 @@
         }
 
         // ========== Setup other display info
-        List searchConstraintStrings = WorkEffortSearchSession.searchGetConstraintStrings(false, session, delegator);
+        List<String> searchConstraintStrings = WorkEffortSearchSession.searchGetConstraintStrings(false, session, delegator);
         String searchSortOrderString = WorkEffortSearchSession.searchGetSortOrderString(false, request);
 
         // ========== populate the result Map
-        Map result = new HashMap();
+        Map<String, Object> result = FastMap.newInstance();
 
         result.put("workEffortIds", workEffortIds);
-        result.put("viewIndex", new Integer(viewIndex));
-        result.put("viewSize", new Integer(viewSize));
-        result.put("listSize", new Integer(listSize));
-        result.put("lowIndex", new Integer(lowIndex));
-        result.put("highIndex", new Integer(highIndex));
+        result.put("viewIndex", Integer.valueOf(viewIndex));
+        result.put("viewSize", Integer.valueOf(viewSize));
+        result.put("listSize", Integer.valueOf(listSize));
+        result.put("lowIndex", Integer.valueOf(lowIndex));
+        result.put("highIndex", Integer.valueOf(highIndex));
         result.put("searchConstraintStrings", searchConstraintStrings);
         result.put("searchSortOrderString", searchSortOrderString);
 

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchSession.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchSession.java?rev=685937&r1=685936&r2=685937&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchSession.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortSearchSession.java Thu Aug 14 08:13:17 2008
@@ -19,9 +19,7 @@
 package org.ofbiz.workeffort.workeffort;
 
 import java.sql.Timestamp;
-import java.util.ArrayList;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -29,8 +27,12 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+import javolution.util.FastList;
+
 import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilGenerics;
 import org.ofbiz.base.util.UtilHttp;
+import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.workeffort.workeffort.WorkEffortSearch.ResultSortOrder;
@@ -41,7 +43,7 @@
 
     public static final String module = WorkEffortSearchSession.class.getName();
     public static class WorkEffortSearchOptions implements java.io.Serializable {
-        protected List constraintList = null;
+        protected List<WorkEffortSearchConstraint> constraintList = null;
         protected ResultSortOrder resultSortOrder = null;
         protected Integer viewIndex = null;
         protected Integer viewSize = null;
@@ -50,23 +52,23 @@
 
         /** Basic copy constructor */
         public WorkEffortSearchOptions(WorkEffortSearchOptions workEffortSearchOptions) {
-            this.constraintList = new LinkedList(workEffortSearchOptions.constraintList);
+            this.constraintList = UtilMisc.makeListWritable(workEffortSearchOptions.constraintList);
             this.resultSortOrder = workEffortSearchOptions.resultSortOrder;
             this.viewIndex = workEffortSearchOptions.viewIndex;
             this.viewSize = workEffortSearchOptions.viewSize;
             this.changed = workEffortSearchOptions.changed;
         }
 
-        public List getConstraintList() {
+        public List<WorkEffortSearchConstraint> getConstraintList() {
             return this.constraintList;
         }
-        public static List getConstraintList(HttpSession session) {
+        public static List<WorkEffortSearchConstraint> getConstraintList(HttpSession session) {
             return getWorkEffortSearchOptions(session).constraintList;
         }
         public static void addConstraint(WorkEffortSearchConstraint workEffortSearchConstraint, HttpSession session) {
             WorkEffortSearchOptions workEffortSearchOptions = getWorkEffortSearchOptions(session);
             if (workEffortSearchOptions.constraintList == null) {
-                workEffortSearchOptions.constraintList = new LinkedList();
+                workEffortSearchOptions.constraintList = FastList.newInstance();
             }
             if (!workEffortSearchOptions.constraintList.contains(workEffortSearchConstraint)) {
                 workEffortSearchOptions.constraintList.add(workEffortSearchConstraint);
@@ -127,15 +129,13 @@
             this.viewSize = viewSize;
         }
         
-        public List searchGetConstraintStrings(boolean detailed, GenericDelegator delegator, Locale locale) {
-            List workEffortSearchConstraintList = this.getConstraintList();
-            List constraintStrings = new ArrayList();
+        public List<String> searchGetConstraintStrings(boolean detailed, GenericDelegator delegator, Locale locale) {
+            List<WorkEffortSearchConstraint> workEffortSearchConstraintList = this.getConstraintList();
+            List<String> constraintStrings = FastList.newInstance();
             if (workEffortSearchConstraintList == null) {
                 return constraintStrings;
             }
-            Iterator workEffortSearchConstraintIter = workEffortSearchConstraintList.iterator();
-            while (workEffortSearchConstraintIter.hasNext()) {
-                WorkEffortSearchConstraint workEffortSearchConstraint = (WorkEffortSearchConstraint) workEffortSearchConstraintIter.next();
+            for (WorkEffortSearchConstraint workEffortSearchConstraint: workEffortSearchConstraintList) {
                 if (workEffortSearchConstraint == null) continue;
                 String constraintString = workEffortSearchConstraint.prettyPrintConstraint(delegator, detailed, locale);
                 if (UtilValidate.isNotEmpty(constraintString)) {
@@ -157,7 +157,7 @@
         return workEffortSearchOptions;
     }
     
-    public static void processSearchParameters(Map parameters, HttpServletRequest request) {
+    public static void processSearchParameters(Map<String, Object> parameters, HttpServletRequest request) {
         Boolean alreadyRun = (Boolean) request.getAttribute("processSearchParametersAlreadyRun");
         if (Boolean.TRUE.equals(alreadyRun)) {
             return;
@@ -208,10 +208,10 @@
         
 //      add a Product Set to the search
         if (UtilValidate.isNotEmpty((String) parameters.get("productId_1"))) {
-            List productSet = new ArrayList();
-            productSet.add(parameters.get("productId_1"));
+            List<String> productSet = FastList.newInstance();
+            productSet.add((String) parameters.get("productId_1"));
             if (UtilValidate.isNotEmpty((String) parameters.get("productId_2"))) {
-                productSet.add(parameters.get("productId_2"));    
+                productSet.add((String) parameters.get("productId_2"));    
             }            
             searchAddConstraint(new WorkEffortSearch.ProductSetConstraint(productSet), session);
             constraintsChanged = true;
@@ -267,7 +267,7 @@
             } catch (Exception e) {
                 Debug.logError(e, "Error formatting VIEW_INDEX, setting to 0", module);
                 // we could just do nothing here, but we know something was specified so we don't want to use the previous value from the session
-                workEffortSearchOptions.setViewIndex(new Integer(0));
+                workEffortSearchOptions.setViewIndex(Integer.valueOf(0));
             }
         }
 
@@ -277,7 +277,7 @@
                 workEffortSearchOptions.setViewSize(Integer.valueOf(viewSizeStr));
             } catch (Exception e) {
                 Debug.logError(e, "Error formatting VIEW_SIZE, setting to 20", module);
-                workEffortSearchOptions.setViewSize(new Integer(20));
+                workEffortSearchOptions.setViewSize(Integer.valueOf(20));
             }
         }
     }
@@ -288,16 +288,16 @@
     public static void searchSetSortOrder(ResultSortOrder resultSortOrder, HttpSession session) {
         WorkEffortSearchOptions.setResultSortOrder(resultSortOrder, session);
     }
-    public static List getSearchOptionsHistoryList(HttpSession session) {
-        List optionsHistoryList = (List) session.getAttribute("_WORK_EFFORT_SEARCH_OPTIONS_HISTORY_");
+    public static List<WorkEffortSearchOptions> getSearchOptionsHistoryList(HttpSession session) {
+        List<WorkEffortSearchOptions> optionsHistoryList = UtilGenerics.checkList(session.getAttribute("_WORK_EFFORT_SEARCH_OPTIONS_HISTORY_"));
         if (optionsHistoryList == null) {
-            optionsHistoryList = new LinkedList();
+            optionsHistoryList = FastList.newInstance();
             session.setAttribute("_WORK_EFFORT_SEARCH_OPTIONS_HISTORY_", optionsHistoryList);
         }
         return optionsHistoryList;
     }
     
-    public static List searchGetConstraintStrings(boolean detailed, HttpSession session, GenericDelegator delegator) {
+    public static List<String> searchGetConstraintStrings(boolean detailed, HttpSession session, GenericDelegator delegator) {
         Locale locale = UtilHttp.getLocale(session);
         WorkEffortSearchOptions workEffortSearchOptions = getWorkEffortSearchOptions(session);
         return workEffortSearchOptions.searchGetConstraintStrings(detailed, delegator, locale);
@@ -312,13 +312,13 @@
         WorkEffortSearchOptions workEffortSearchOptions = WorkEffortSearchSession.getWorkEffortSearchOptions(session);
         // if the options have changed since the last search, add it to the beginning of the search options history
         if (workEffortSearchOptions.changed) {
-            List optionsHistoryList = WorkEffortSearchSession.getSearchOptionsHistoryList(session);
+            List<WorkEffortSearchOptions> optionsHistoryList = WorkEffortSearchSession.getSearchOptionsHistoryList(session);
             optionsHistoryList.add(0, new WorkEffortSearchOptions(workEffortSearchOptions));
             workEffortSearchOptions.changed = false;
         }
     }
     public static void searchRemoveConstraint(int index, HttpSession session) {
-        List workEffortSearchConstraintList = WorkEffortSearchOptions.getConstraintList(session);
+        List<WorkEffortSearchConstraint> workEffortSearchConstraintList = WorkEffortSearchOptions.getConstraintList(session);
         if (workEffortSearchConstraintList == null) {
             return;
         } else if (index >= workEffortSearchConstraintList.size()) {