Author: stianh
Date: 2007-05-22 11:38:43 +0200 (Tue, 22 May 2007)
New Revision: 5132

Modified:
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AddressSearchCommand.java
Log:
SEARCH-2182 Removed duplicates in SearchResult

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AddressSearchCommand.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AddressSearchCommand.java
    2007-05-22 08:45:38 UTC (rev 5131)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AddressSearchCommand.java
    2007-05-22 09:38:43 UTC (rev 5132)
@@ -5,9 +5,10 @@
 
 package no.schibstedsok.searchportal.mode.command;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
-import java.util.Map;
+import java.util.List;
 
 import no.fast.ds.search.ISearchParameters;
 import no.fast.ds.search.SearchParameter;
@@ -43,12 +44,12 @@
     public final ResultList<? extends ResultItem> execute() {
         
         final ResultList<ResultItem> sr = (ResultList<ResultItem>) 
super.execute();
-
+        List<ResultItem> itemsToRemove = new ArrayList<ResultItem>();
         if (getSearchConfiguration().isCollapsing()) {
             String prevCollapseId = "";
             for (ResultItem item : sr.getResults()) {
                 if (item.getField("collapseid").equals(prevCollapseId)) {
-                    sr.removeResult(item);
+                    itemsToRemove.add(item);
                 } else if (item.getField("streetHash") != null) {
                     final HashMap<String,String> streetNumbers = new 
LinkedHashMap<String,String>();
                     for (String record : 
item.getField("streetHash").split(";")) {
@@ -56,8 +57,13 @@
                         streetNumbers.put(values[0], values[1]);
                     }
                     sr.replaceResult(item, 
item.addObjectField("streetHashList", streetNumbers));
+                    prevCollapseId = item.getField("collapseid");
                 }
             }
+            
+            for(ResultItem item : itemsToRemove){
+                sr.removeResult(item);
+            }
         }
         
         return sr;

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to