|
From: <rv...@us...> - 2009-11-17 16:21:58
|
Revision: 273
http://treebase.svn.sourceforge.net/treebase/?rev=273&view=rev
Author: rvos
Date: 2009-11-17 16:21:50 +0000 (Tue, 17 Nov 2009)
Log Message:
-----------
Don't handle empty CQL queries.
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2009-11-17 16:08:08 UTC (rev 272)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2009-11-17 16:21:50 UTC (rev 273)
@@ -93,21 +93,7 @@
LOGGER.info("formName is '" + formName + "'");
- if ( ! TreebaseUtil.isEmpty(query) ) {
- /*
- CQLParser parser = new CQLParser();
- CQLNode root = parser.parse(query);
- root = normalizeParseTree(root);
- Set<Study> queryResults = doCQLQuery(root, new HashSet<Study>(),request, response, errors);
- StudySearchResults tsr = new StudySearchResults(queryResults);
- saveSearchResults(request, tsr);
- if ( TreebaseUtil.isEmpty(request.getParameter("format")) || ! request.getParameter("format").equals("rss1") ) {
- return new ModelAndView("search/studySearch", Constants.RESULT_SET, tsr);
- }
- else {
- return this.searchResultsAsRDF(tsr, request, root);
- }
- */
+ if ( ! TreebaseUtil.isEmpty(query) && ! query.equals("")) {
return this.handleQueryRequest(request, response, errors);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2009-11-17 16:47:48
|
Revision: 274
http://treebase.svn.sourceforge.net/treebase/?rev=274&view=rev
Author: rvos
Date: 2009-11-17 16:47:32 +0000 (Tue, 17 Nov 2009)
Log Message:
-----------
Added log line for CQL query
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2009-11-17 16:21:50 UTC (rev 273)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2009-11-17 16:47:32 UTC (rev 274)
@@ -94,6 +94,7 @@
LOGGER.info("formName is '" + formName + "'");
if ( ! TreebaseUtil.isEmpty(query) && ! query.equals("")) {
+ LOGGER.info("query is '" + query + "'");
return this.handleQueryRequest(request, response, errors);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2010-03-12 23:25:18
|
Revision: 559
http://treebase.svn.sourceforge.net/treebase/?rev=559&view=rev
Author: rvos
Date: 2010-03-12 23:25:12 +0000 (Fri, 12 Mar 2010)
Log Message:
-----------
Added mapping from CQL search predicate prism.publicationName to Study.findByJournal functionality.
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2010-03-12 23:23:11 UTC (rev 558)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2010-03-12 23:25:12 UTC (rev 559)
@@ -77,6 +77,7 @@
byLegacyID,
byTitle,
byKeyword,
+ byJournal
}
protected ModelAndView onSubmit(
@@ -191,6 +192,8 @@
results.addAll(doSearch(request, response, SearchType.inCitation, errors, term.getTerm()));
} else if ( index.equals("tb.identifier.study.tb1") ) {
results.addAll(doSearch(request, response, SearchType.byLegacyID, errors, term.getTerm()));
+ } else if ( index.startsWith("prism.publicationName") ) {
+ results.addAll(doSearch(request, response, SearchType.byJournal, errors, term.getTerm()));
} else {
// issue warnings
addMessage(request, "Unsupported index: " + index);
@@ -279,6 +282,9 @@
case byKeyword:
matches = studyService.findByKeyword(keywordSearchTerm);
break;
+ case byJournal:
+ matches = studyService.findByJournal(keywordSearchTerm, false);
+ break;
default:
throw new Error ("Unknown search type '" + searchType + "'");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2011-05-12 12:14:01
|
Revision: 844
http://treebase.svn.sourceforge.net/treebase/?rev=844&view=rev
Author: rvos
Date: 2011-05-12 12:13:55 +0000 (Thu, 12 May 2011)
Log Message:
-----------
The submission creation date (prism.creationDate), study last modification date (tb.lastModifiedDate) and the citation publication date (prism.publicationDate) can now also be used as search predicates. A query must be phrased either as before, i.e. <index> < <date>, or after, i.e. <index> > <date>. The date string must be parseable using DateFormat.parse(s).
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-05-12 12:09:30 UTC (rev 843)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-05-12 12:13:55 UTC (rev 844)
@@ -2,7 +2,9 @@
package org.cipres.treebase.web.controllers;
import java.io.IOException;
+import java.text.ParseException;
import java.util.Collection;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -20,6 +22,8 @@
import org.cipres.treebase.domain.search.StudySearchResults;
import org.cipres.treebase.domain.study.Study;
import org.cipres.treebase.domain.study.StudyService;
+import org.cipres.treebase.domain.study.Submission;
+import org.cipres.treebase.domain.study.SubmissionService;
import org.cipres.treebase.web.Constants;
import org.cipres.treebase.web.util.RequestMessageSetter;
import org.springframework.validation.BindException;
@@ -31,8 +35,11 @@
import org.z3950.zing.cql.CQLOrNode;
import org.z3950.zing.cql.CQLParseException;
import org.z3950.zing.cql.CQLParser;
+import org.z3950.zing.cql.CQLRelation;
import org.z3950.zing.cql.CQLTermNode;
+import com.ibm.icu.text.DateFormat;
+
/**
* StudySearchController.java
*
@@ -78,7 +85,11 @@
byLegacyID,
byTitle,
byKeyword,
- byJournal
+ byJournal,
+ byCreationDate,
+ byPublicationDate,
+ byReleaseDate,
+ byLastModifiedDate
}
protected ModelAndView onSubmit(
@@ -132,7 +143,7 @@
}
// XXX we now never do an exact match with terms provided through the web app. We can change
// this, e.g. by adding a check box whose value is the boolean argument of doSearch()
- Collection<Study> matches = doSearch(request, response, searchType, errors,searchTerm,false);
+ Collection<Study> matches = doSearch(request, response, searchType, errors,searchTerm,false,null);
if ( TreebaseUtil.isEmpty(request.getParameter("format")) || ! request.getParameter("format").equals("rss1") ) {
SearchResults<Study> newRes = intersectSearchResults(oldRes, new StudySearchResults(matches),
new RequestMessageSetter(request), "No matching studies found");
@@ -154,7 +165,7 @@
HttpServletRequest request,
HttpServletResponse response,
BindException errors
- ) throws InstantiationException {
+ ) throws InstantiationException, ParseException {
if ( node instanceof CQLBooleanNode ) {
Set<Study> resultsLeft = doCQLQuery(((CQLBooleanNode)node).left,results, request, response, errors);
Set<Study> resultsRight = doCQLQuery(((CQLBooleanNode)node).right,results, request, response, errors);
@@ -182,23 +193,32 @@
else if ( node instanceof CQLTermNode ) {
CQLTermNode term = (CQLTermNode)node;
boolean exactMatch = term.getRelation().getBase().equals("==");
+ CQLRelation relation = term.getRelation();
String index = term.getIndex();
if ( index.startsWith("tb.title") ) {
- results.addAll(doSearch(request, response, SearchType.byTitle, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byTitle, errors, term.getTerm(),exactMatch,relation));
} else if ( index.equals("tb.identifier.study") ) {
- results.addAll(doSearch(request, response, SearchType.byID, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byID, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("dcterms.contributor") ) {
- results.addAll(doSearch(request, response, SearchType.byAuthorName, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byAuthorName, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("dcterms.abstract") ) {
- results.addAll(doSearch(request, response, SearchType.inAbstract, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.inAbstract, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("dcterms.subject") ) {
- results.addAll(doSearch(request, response, SearchType.byKeyword, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byKeyword, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("dcterms.bibliographicCitation") ) {
- results.addAll(doSearch(request, response, SearchType.inCitation, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.inCitation, errors, term.getTerm(),exactMatch,relation));
} else if ( index.equals("tb.identifier.study.tb1") ) {
- results.addAll(doSearch(request, response, SearchType.byLegacyID, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byLegacyID, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("prism.publicationName") ) {
- results.addAll(doSearch(request, response, SearchType.byJournal, errors, term.getTerm(),exactMatch));
+ results.addAll(doSearch(request, response, SearchType.byJournal, errors, term.getTerm(),exactMatch,relation));
+ } else if ( index.startsWith("dc.date") ) {
+ results.addAll(doSearch(request,response, SearchType.byReleaseDate, errors, term.getTerm(),exactMatch,relation));
+ } else if ( index.startsWith("prism.creationDate") ) {
+ results.addAll(doSearch(request,response, SearchType.byCreationDate, errors, term.getTerm(),exactMatch,relation));
+ } else if ( index.startsWith("prism.publicationDate") ) {
+ results.addAll(doSearch(request,response, SearchType.byPublicationDate, errors, term.getTerm(),exactMatch,relation));
+ } else if ( index.startsWith("tb.lastModifiedDate") ) {
+ results.addAll(doSearch(request,response, SearchType.byLastModifiedDate, errors, term.getTerm(),exactMatch,relation));
} else {
// issue warnings
addMessage(request, "Unsupported index: " + index);
@@ -215,11 +235,12 @@
SearchType searchType,
BindException errors,
String searchTerm,
- boolean exactMatch) throws InstantiationException {
+ boolean exactMatch, CQLRelation relation) throws InstantiationException, ParseException {
String keywordSearchTerm = "%" + searchTerm + "%";
Collection<Study> matches;
- StudyService studyService = getSearchService().getStudyService();
+ StudyService studyService = getSearchService().getStudyService();
+ SubmissionService submissionService = getSearchService().getSubmissionService();
switch (searchType) {
case byID:
@@ -257,6 +278,15 @@
case byKeyword:
matches = studyService.findByKeyword(keywordSearchTerm);
break;
+ case byLastModifiedDate:
+ matches = findByLastModified(searchTerm, relation, submissionService);
+ break;
+ case byPublicationDate:
+ matches = findByPublicationDate(searchTerm, relation, studyService);
+ break;
+ case byCreationDate:
+ matches = findByCreationDate(searchTerm, relation, submissionService);
+ break;
case byJournal:
{
if ( exactMatch ) {
@@ -273,6 +303,67 @@
return matches;
}
+ private Collection<Study> findByCreationDate(String searchTerm,
+ CQLRelation relation, SubmissionService submissionService) throws ParseException {
+ Collection<Study> matches;
+ Date from = null;
+ Date until = null;
+ DateFormat df = DateFormat.getDateInstance();
+ if ( relation.getBase().startsWith(">") ) {
+ from = df.parse(searchTerm);
+ until = new Date(); // i.e. now
+ }
+ else if ( relation.getBase().startsWith("<") ) {
+ from = new Date(0); // i.e. epoch
+ until = df.parse(searchTerm);
+ }
+ Collection<Submission> submissions = submissionService.findSubmissionByCreateDateRange(from, until);
+ matches = new HashSet<Study>();
+ for ( Submission submission : submissions ) {
+ matches.add(submission.getStudy());
+ }
+ return matches;
+ }
+
+ private Collection<Study> findByPublicationDate(String searchTerm,
+ CQLRelation relation, StudyService studyService) throws ParseException {
+ Date from = null;
+ Date until = null;
+ DateFormat df = DateFormat.getDateInstance();
+ if ( relation.getBase().startsWith(">") ) {
+ from = df.parse(searchTerm);
+ until = new Date(); // i.e. now
+ }
+ else if ( relation.getBase().startsWith("<") ) {
+ from = new Date(0); // i.e. epoch
+ until = df.parse(searchTerm);
+ }
+ return studyService.findByPublicationDateRange(from, until);
+ }
+
+ private Collection<Study> findByLastModified(String searchTerm,
+ CQLRelation relation, SubmissionService submissionService)
+ throws ParseException {
+ Collection<Study> matches;
+ Date from = null;
+ Date until = null;
+ DateFormat df = DateFormat.getDateInstance();
+ if ( relation.getBase().startsWith(">") ) {
+ from = df.parse(searchTerm);
+ until = new Date(); // i.e. now
+ }
+ else if ( relation.getBase().startsWith("<") ) {
+ from = new Date(0); // i.e. epoch
+ until = df.parse(searchTerm);
+ }
+ Collection<Submission> submissions = submissionService.findSubmissionByLastModifiedDateRange(from, until);
+ matches = new HashSet<Study>();
+ for ( Submission submission : submissions ) {
+ matches.add(submission.getStudy());
+ }
+ return matches;
+ }
+
@Override
SearchResultsType currentSearchType() {
return SearchResultsType.STUDY;
@@ -286,7 +377,7 @@
@Override
protected ModelAndView handleQueryRequest(HttpServletRequest request,
HttpServletResponse response, BindException errors,String query)
- throws CQLParseException, IOException, InstantiationException {
+ throws CQLParseException, IOException, InstantiationException, ParseException {
//String query = request.getParameter("query");
CQLParser parser = new CQLParser();
CQLNode root = parser.parse(query);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2011-05-12 12:38:19
|
Revision: 846
http://treebase.svn.sourceforge.net/treebase/?rev=846&view=rev
Author: rvos
Date: 2011-05-12 12:38:13 +0000 (Thu, 12 May 2011)
Log Message:
-----------
Now using prism.modificationDate instead of tb.lastModifiedDate as search predicate to indicate when a study record was last modified.
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-05-12 12:37:33 UTC (rev 845)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-05-12 12:38:13 UTC (rev 846)
@@ -217,7 +217,7 @@
results.addAll(doSearch(request,response, SearchType.byCreationDate, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("prism.publicationDate") ) {
results.addAll(doSearch(request,response, SearchType.byPublicationDate, errors, term.getTerm(),exactMatch,relation));
- } else if ( index.startsWith("tb.lastModifiedDate") ) {
+ } else if ( index.startsWith("prism.modificationDate") ) {
results.addAll(doSearch(request,response, SearchType.byLastModifiedDate, errors, term.getTerm(),exactMatch,relation));
} else {
// issue warnings
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2011-05-26 19:36:34
|
Revision: 888
http://treebase.svn.sourceforge.net/treebase/?rev=888&view=rev
Author: rvos
Date: 2011-05-26 19:36:28 +0000 (Thu, 26 May 2011)
Log Message:
-----------
This class was using the wrong DateFormat, we're using the one from java.text.* instead
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-05-26 19:06:26 UTC (rev 887)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-05-26 19:36:28 UTC (rev 888)
@@ -38,7 +38,7 @@
import org.z3950.zing.cql.CQLRelation;
import org.z3950.zing.cql.CQLTermNode;
-import com.ibm.icu.text.DateFormat;
+import java.text.DateFormat;
/**
* StudySearchController.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hs...@us...> - 2011-06-08 19:44:21
|
Revision: 904
http://treebase.svn.sourceforge.net/treebase/?rev=904&view=rev
Author: hshyket
Date: 2011-06-08 19:44:15 +0000 (Wed, 08 Jun 2011)
Log Message:
-----------
Updating the allowed date format that is parsed to be ISO 8601 compliant
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-06-08 14:02:50 UTC (rev 903)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-06-08 19:44:15 UTC (rev 904)
@@ -25,7 +25,9 @@
import org.cipres.treebase.domain.study.Submission;
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;
import org.z3950.zing.cql.CQLAndNode;
@@ -54,6 +56,7 @@
*/
private static final Logger LOGGER = Logger.getLogger(StudySearchController.class);
protected String mValidateTaxaView;
+ private Identify identify;
public String getValidateTaxaView() {
return mValidateTaxaView;
@@ -308,14 +311,17 @@
Collection<Study> matches;
Date from = null;
Date until = null;
- DateFormat df = DateFormat.getDateInstance();
+ //DateFormat df = DateFormat.getDateInstance();
if ( relation.getBase().startsWith(">") ) {
- from = df.parse(searchTerm);
+ //from = df.parse(searchTerm);
+ from = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
until = new Date(); // i.e. now
}
else if ( relation.getBase().startsWith("<") ) {
from = new Date(0); // i.e. epoch
- until = df.parse(searchTerm);
+ //until = df.parse(searchTerm);
+ until = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
+
}
Collection<Submission> submissions = submissionService.findSubmissionByCreateDateRange(from, until);
matches = new HashSet<Study>();
@@ -329,14 +335,17 @@
CQLRelation relation, StudyService studyService) throws ParseException {
Date from = null;
Date until = null;
- DateFormat df = DateFormat.getDateInstance();
+ //DateFormat df = DateFormat.getDateInstance();
+
if ( relation.getBase().startsWith(">") ) {
- from = df.parse(searchTerm);
+ //from = df.parse(searchTerm);
+ from = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
until = new Date(); // i.e. now
}
else if ( relation.getBase().startsWith("<") ) {
from = new Date(0); // i.e. epoch
- until = df.parse(searchTerm);
+ //until = df.parse(searchTerm);
+ until = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
}
return studyService.findByPublicationDateRange(from, until);
}
@@ -347,14 +356,16 @@
Collection<Study> matches;
Date from = null;
Date until = null;
- DateFormat df = DateFormat.getDateInstance();
+ //DateFormat df = DateFormat.getDateInstance();
if ( relation.getBase().startsWith(">") ) {
- from = df.parse(searchTerm);
+ from = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
+ //from = df.parse(searchTerm);
until = new Date(); // i.e. now
}
else if ( relation.getBase().startsWith("<") ) {
from = new Date(0); // i.e. epoch
- until = df.parse(searchTerm);
+ //until = df.parse(searchTerm);
+ until = IdentifyUtil.parseGranularity(identify.getGranularityPattern(), searchTerm);
}
Collection<Submission> submissions = submissionService.findSubmissionByLastModifiedDateRange(from, until);
matches = new HashSet<Study>();
@@ -415,4 +426,12 @@
mapping.put("dcterms.identifier", "tb.identifier.study");
return mapping;
}
+
+ public Identify getIdentify() {
+ return identify;
+ }
+
+ public void setIdentify(Identify identify) {
+ this.identify = identify;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hs...@us...> - 2011-09-15 14:20:41
|
Revision: 953
http://treebase.svn.sourceforge.net/treebase/?rev=953&view=rev
Author: hshyket
Date: 2011-09-15 14:20:34 +0000 (Thu, 15 Sep 2011)
Log Message:
-----------
Search using the dc.date parameter (in the URL) will not do a search by last modified date (exactly like prism.modificationDate)
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-09-12 07:10:22 UTC (rev 952)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-09-15 14:20:34 UTC (rev 953)
@@ -215,7 +215,7 @@
} else if ( index.startsWith("prism.publicationName") ) {
results.addAll(doSearch(request, response, SearchType.byJournal, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("dc.date") ) {
- results.addAll(doSearch(request,response, SearchType.byReleaseDate, errors, term.getTerm(),exactMatch,relation));
+ results.addAll(doSearch(request,response, SearchType.byLastModifiedDate, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("prism.creationDate") ) {
results.addAll(doSearch(request,response, SearchType.byCreationDate, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("prism.publicationDate") ) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hs...@us...> - 2011-09-15 17:30:58
|
Revision: 957
http://treebase.svn.sourceforge.net/treebase/?rev=957&view=rev
Author: hshyket
Date: 2011-09-15 17:30:52 +0000 (Thu, 15 Sep 2011)
Log Message:
-----------
Updating it so that any data provided in RSS format is not saved in the memory search results.
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-09-15 15:50:53 UTC (rev 956)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-09-15 17:30:52 UTC (rev 957)
@@ -395,7 +395,9 @@
root = normalizeParseTree(root);
Set<Study> queryResults = doCQLQuery(root, new HashSet<Study>(),request, response, errors);
StudySearchResults tsr = new StudySearchResults(queryResults);
- saveSearchResults(request, tsr);
+ if (! request.getParameter("format").equals("rss1")) {
+ saveSearchResults(request, tsr);
+ }
if ( TreebaseUtil.isEmpty(request.getParameter("format")) || ! request.getParameter("format").equals("rss1") ) {
return new ModelAndView("search/studySearch", Constants.RESULT_SET, tsr);
}
@@ -414,7 +416,9 @@
res = tsr.convertToTaxa();
}
}
- this.saveSearchResults(request, res);
+ if (! request.getParameter("format").equals("rss1")) {
+ this.saveSearchResults(request, res);
+ }
return this.searchResultsAsRDF(res, request, root, schema, "study");
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hs...@us...> - 2011-09-26 12:57:17
|
Revision: 964
http://treebase.svn.sourceforge.net/treebase/?rev=964&view=rev
Author: hshyket
Date: 2011-09-26 12:57:11 +0000 (Mon, 26 Sep 2011)
Log Message:
-----------
Fixing API query calls with no format
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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 2011-09-23 17:15:15 UTC (rev 963)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2011-09-26 12:57:11 UTC (rev 964)
@@ -395,10 +395,8 @@
root = normalizeParseTree(root);
Set<Study> queryResults = doCQLQuery(root, new HashSet<Study>(),request, response, errors);
StudySearchResults tsr = new StudySearchResults(queryResults);
- if (! request.getParameter("format").equals("rss1")) {
+ if ( TreebaseUtil.isEmpty(request.getParameter("format")) || ! request.getParameter("format").equals("rss1") ) {
saveSearchResults(request, tsr);
- }
- if ( TreebaseUtil.isEmpty(request.getParameter("format")) || ! request.getParameter("format").equals("rss1") ) {
return new ModelAndView("search/studySearch", Constants.RESULT_SET, tsr);
}
else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rv...@us...> - 2012-02-17 18:18:21
|
Revision: 1073
http://treebase.svn.sourceforge.net/treebase/?rev=1073&view=rev
Author: rvos
Date: 2012-02-17 18:18:14 +0000 (Fri, 17 Feb 2012)
Log Message:
-----------
The search controller can now return results for a DOI, for which the PhyloWS predicate is prism.doi
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java
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-17 18:17:16 UTC (rev 1072)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/StudySearchController.java 2012-02-17 18:18:14 UTC (rev 1073)
@@ -92,7 +92,8 @@
byCreationDate,
byPublicationDate,
byReleaseDate,
- byLastModifiedDate
+ byLastModifiedDate,
+ byDOI
}
protected ModelAndView onSubmit(
@@ -141,7 +142,10 @@
searchType = SearchType.inCitation;
} else if (buttonName.equals("abstractKeyword")) {
searchType = SearchType.inAbstract;
- } else {
+ } else if (buttonName.equals("doiKeyword")) {
+ searchType = SearchType.byDOI;
+ }
+ else {
throw new Error("Unknown search button name '" + buttonName + "'");
}
// XXX we now never do an exact match with terms provided through the web app. We can change
@@ -222,7 +226,10 @@
results.addAll(doSearch(request,response, SearchType.byPublicationDate, errors, term.getTerm(),exactMatch,relation));
} else if ( index.startsWith("prism.modificationDate") ) {
results.addAll(doSearch(request,response, SearchType.byLastModifiedDate, errors, term.getTerm(),exactMatch,relation));
- } else {
+ } else if ( index.startsWith("prism.doi") ) {
+ results.addAll(doSearch(request,response,SearchType.byDOI, errors, term.getTerm(), exactMatch,relation));
+ }
+ else {
// issue warnings
addMessage(request, "Unsupported index: " + index);
}
@@ -241,7 +248,7 @@
boolean exactMatch, CQLRelation relation) throws InstantiationException, ParseException {
String keywordSearchTerm = "%" + searchTerm + "%";
- Collection<Study> matches;
+ Collection<Study> matches = new HashSet<Study>();
StudyService studyService = getSearchService().getStudyService();
SubmissionService submissionService = getSearchService().getSubmissionService();
@@ -290,6 +297,14 @@
case byCreationDate:
matches = findByCreationDate(searchTerm, relation, submissionService);
break;
+ case byDOI:
+ {
+ Study result = studyService.findByDOI(searchTerm);
+ if ( null != result ) {
+ matches.add(result);
+ }
+ break;
+ }
case byJournal:
{
if ( exactMatch ) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|