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
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
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
* 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
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
\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
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