From: <rv...@us...> - 2012-02-23 18:59:17
|
Revision: 1089 http://treebase.svn.sourceforge.net/treebase/?rev=1089&view=rev Author: rvos Date: 2012-02-23 18:59:11 +0000 (Thu, 23 Feb 2012) Log Message: ----------- Correcting a bug I introduced: onSubmit() is also visited when buttons that modify the results set are pressed (i.e. there is no CQL query to run). In such cases handling the request should be delegated to super.onSubmit(). Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/MatrixSearchController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TaxonSearchController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TreeSearchController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/MatrixSearchController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/MatrixSearchController.java 2012-02-23 15:43:14 UTC (rev 1088) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/MatrixSearchController.java 2012-02-23 18:59:11 UTC (rev 1089) @@ -21,8 +21,6 @@ import org.cipres.treebase.domain.search.SearchResults; import org.cipres.treebase.domain.search.SearchResultsType; import org.cipres.treebase.web.Constants; -import org.cipres.treebase.web.util.RequestMessageSetter; -import org.cipres.treebase.web.util.SearchMessageSetter; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; import org.z3950.zing.cql.CQLAndNode; @@ -57,14 +55,16 @@ byTB1ID } - protected ModelAndView onSubmit( - HttpServletRequest request, - HttpServletResponse response, - Object command, - BindException errors) throws Exception { + protected ModelAndView onSubmit(HttpServletRequest req,HttpServletResponse res,Object comm,BindException err) throws Exception { LOGGER.info("in matrixSearchController.onSubmit"); - clearMessages(request); - return handleQueryRequest(request, response, errors, request.getParameter("query")); + clearMessages(req); + String query = req.getParameter("query"); + if ( null != query ) { + return handleQueryRequest(req, res, err, query); + } + else { + return super.onSubmit(req, res, comm, err); + } } protected Set<Matrix> doCQLQuery( Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2012-02-23 15:43:14 UTC (rev 1088) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2012-02-23 18:59:11 UTC (rev 1089) @@ -26,7 +26,6 @@ import org.cipres.treebase.domain.study.SubmissionService; import org.cipres.treebase.web.Constants; import org.cipres.treebase.web.model.Identify; -import org.cipres.treebase.web.util.RequestMessageSetter; import org.cipres.treebase.web.util.IdentifyUtil; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; @@ -40,8 +39,6 @@ import org.z3950.zing.cql.CQLRelation; import org.z3950.zing.cql.CQLTermNode; -import java.text.DateFormat; - /** * StudySearchController.java * @@ -96,14 +93,16 @@ byDOI } - protected ModelAndView onSubmit( - HttpServletRequest request, - HttpServletResponse response, - Object command, - BindException errors) throws Exception { + protected ModelAndView onSubmit(HttpServletRequest req,HttpServletResponse res,Object comm,BindException err) throws Exception { LOGGER.info("in StudySearchController.onSubmit"); - clearMessages(request); - return handleQueryRequest(request, response, errors, request.getParameter("query")); + clearMessages(req); + String query = req.getParameter("query"); + if ( null != query ) { + return handleQueryRequest(req, res, err, query); + } + else { + return super.onSubmit(req, res, comm, err); + } } protected Set<Study> doCQLQuery( Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TaxonSearchController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TaxonSearchController.java 2012-02-23 15:43:14 UTC (rev 1088) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TaxonSearchController.java 2012-02-23 18:59:11 UTC (rev 1089) @@ -47,11 +47,15 @@ private enum NamingAuthority { TREEBASE, UBIO, NCBI }; @Override - protected ModelAndView onSubmit(HttpServletRequest request, - HttpServletResponse response, Object searchCommand, BindException errors) - throws Exception { - clearMessages(request); - return handleQueryRequest(request, response, errors, request.getParameter("query")); + protected ModelAndView onSubmit(HttpServletRequest req, HttpServletResponse res, Object comm, BindException err) throws Exception { + clearMessages(req); + String query = req.getParameter("query"); + if ( null != query ) { + return handleQueryRequest(req, res, err, query); + } + else { + return super.onSubmit(req, res, comm, err); + } } protected Set<Taxon> doCQLQuery(CQLNode node, Set<Taxon> results, HttpServletRequest request) { @@ -125,31 +129,6 @@ logger.debug(node); return results; } - - private ModelAndView modifySearchResults(HttpServletRequest request, - HttpServletResponse response, BindException errors) throws InstantiationException { - TaxonSearchResults results = searchResults(request).convertToTaxa(); - - String buttonName = request.getParameter("taxonResultsaction"); - if (buttonName.equals("addCheckedToResults")) { -// Map<String,String> parameterMap = request.getParameterMap(); - Collection<Taxon> newTaxa = new HashSet<Taxon> (); - for (String taxonIdString : request.getParameterValues("selection")) { - Taxon tx; - try { - tx = getTaxonLabelService().findTaxonByIDString(taxonIdString); - } catch (MalformedTreebaseIDString e) { - // This can only occur if the ID numbers in our web form are - // malformed, so it represents a programming error. 20090312 MJD - throw new Error(e); - } - if (tx != null) newTaxa.add(tx); - } - results.union(newTaxa); - saveSearchResults(request, results); - } - return samePage(request); - } protected Collection<Taxon> doTaxonSearch(HttpServletRequest request, SearchCommand searchCommand, String searchTerm, SearchIndex searchIndex, NamingAuthority namingAuthority) throws Exception { @@ -182,9 +161,6 @@ getTaxonLabelService().resurrectAll(taxa); LOGGER.debug("Found " + taxa.size() + " taxa"); return taxa; -// TaxonSearchResults tsr = new TaxonSearchResults(taxa); -// saveSearchResults(request, tsr); -// return samePage(request); } /** Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TreeSearchController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TreeSearchController.java 2012-02-23 15:43:14 UTC (rev 1088) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/TreeSearchController.java 2012-02-23 18:59:11 UTC (rev 1089) @@ -14,14 +14,12 @@ import org.apache.log4j.Logger; import org.cipres.treebase.TreebaseUtil; import org.cipres.treebase.RangeExpression.MalformedRangeExpression; -import org.cipres.treebase.domain.matrix.Matrix; import org.cipres.treebase.domain.search.SearchResults; import org.cipres.treebase.domain.search.SearchResultsType; import org.cipres.treebase.domain.search.TreeSearchResults; import org.cipres.treebase.domain.tree.PhyloTree; import org.cipres.treebase.domain.tree.PhyloTreeService; import org.cipres.treebase.web.Constants; -import org.cipres.treebase.web.util.RequestMessageSetter; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; import org.z3950.zing.cql.CQLAndNode; @@ -56,16 +54,16 @@ byNTAX } - protected ModelAndView onSubmit( - HttpServletRequest request, - HttpServletResponse response, - Object command, - BindException errors) throws Exception { - + protected ModelAndView onSubmit(HttpServletRequest req,HttpServletResponse res,Object comm,BindException err) throws Exception { LOGGER.info("in TreeSearchController.onSubmit"); - - clearMessages(request); - return handleQueryRequest(request, response, errors, request.getParameter("query")); + clearMessages(req); + String query = req.getParameter("query"); + if ( null != query ) { + return handleQueryRequest(req, res, err, query); + } + else { + return super.onSubmit(req, res, comm, err); + } } protected Set<PhyloTree> doCQLQuery( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |