search fix
authorzapata <zapata>
Wed, 2 Apr 2003 22:15:03 +0000 (22:15 +0000)
committerzapata <zapata>
Wed, 2 Apr 2003 22:15:03 +0000 (22:15 +0000)
source/mircoders/servlet/ServletModuleOpenIndy.java

index 8c3eebe..d15578a 100755 (executable)
@@ -39,6 +39,7 @@ import java.io.IOException;
 import java.io.PrintWriter;\r
 import java.io.StringWriter;\r
 import java.util.ArrayList;\r
+import java.util.Arrays;\r
 import java.util.Collections;\r
 import java.util.Date;\r
 import java.util.Enumeration;\r
@@ -69,7 +70,6 @@ import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;\r
 import org.apache.lucene.search.Searcher;\r
 import org.apache.struts.util.MessageResources;\r
-\r
 import mir.entity.Entity;\r
 import mir.entity.EntityList;\r
 import mir.generator.Generator;\r
@@ -83,6 +83,7 @@ import mir.servlet.ServletModuleFailure;
 import mir.servlet.ServletModuleUserExc;\r
 import mir.storage.StorageObjectFailure;\r
 import mir.util.ExceptionFunctions;\r
+import mir.util.HTTPRequestParser;\r
 import mir.util.StringRoutines;\r
 import mircoders.entity.EntityComment;\r
 import mircoders.entity.EntityContent;\r
@@ -116,7 +117,7 @@ import mircoders.storage.DatabaseTopics;
  *    open-postings to the newswire\r
  *\r
  * @author mir-coders group\r
- * @version $Id: ServletModuleOpenIndy.java,v 1.69 2003/03/17 20:47:04 zapata Exp $\r
+ * @version $Id: ServletModuleOpenIndy.java,v 1.70 2003/04/02 22:15:03 zapata Exp $\r
  *\r
  */\r
 \r
@@ -655,6 +656,11 @@ public class ServletModuleOpenIndy extends ServletModule
   public void search(HttpServletRequest req, HttpServletResponse res)\r
       throws ServletModuleExc, ServletModuleUserExc, ServletModuleFailure {\r
     try {\r
+      final String[] search_variables = { "search_content", "search_boolean", "search_creator",\r
+          "search_topic", "search_hasImages", "search_hasAudio", "search_hasVideo", "search_sort",\r
+          "search_submit", "search_back", "search_forward" };\r
+      HTTPRequestParser requestParser = new HTTPRequestParser(req);\r
+\r
       int increment=10;\r
 \r
       HttpSession session = req.getSession(false);\r
@@ -676,11 +682,11 @@ public class ServletModuleOpenIndy extends ServletModule
 \r
       //make the query available to subsequent iterations\r
 \r
-      for (Enumeration theParams = req.getParameterNames(); theParams.hasMoreElements() ;) {\r
-        String pName=(String)theParams.nextElement();\r
-        if (pName.startsWith("search_")){\r
-          mergeData.put(pName, req.getParameter(pName) );\r
-        }\r
+      Iterator j = Arrays.asList(search_variables).iterator();\r
+      while (j.hasNext()) {\r
+        String variable = (String) j.next();\r
+\r
+        mergeData.put(variable, requestParser.getParameter(variable));\r
       }\r
 \r
       try{\r
@@ -875,9 +881,15 @@ public class ServletModuleOpenIndy extends ServletModule
           if (!(pIR+increment>=numHits)){\r
             mergeData.put("hasNext","y");\r
           }\r
+          else {\r
+            mergeData.put("hasNext", null);\r
+          }\r
           if (pIR>0){\r
             mergeData.put("hasPrevious","y");\r
           }\r
+          else {\r
+            mergeData.put("hasPrevious", null);\r
+          }\r
 \r
           if ((pIR+increment)>numHits){\r
             terminus=numHits;\r