From: <rv...@us...> - 2011-05-12 14:45:48
|
Revision: 848 http://treebase.svn.sourceforge.net/treebase/?rev=848&view=rev Author: rvos Date: 2011-05-12 14:45:41 +0000 (Thu, 12 May 2011) Log Message: ----------- re-implemented using a range expression Modified Paths: -------------- trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java 2011-05-12 13:38:45 UTC (rev 847) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java 2011-05-12 14:45:41 UTC (rev 848) @@ -9,6 +9,7 @@ import java.util.Set; import org.apache.log4j.Logger; +import org.cipres.treebase.RangeExpression.MalformedRangeExpression; import org.cipres.treebase.TreebaseUtil; import org.cipres.treebase.dao.AbstractDAO; import org.cipres.treebase.domain.admin.Person; @@ -402,19 +403,20 @@ } public Collection<Study> findByPublicationDateRange(Date from, Date until) { - int begin = from.getYear(); - int end = until.getYear(); - if ( begin != end ) { - Query q = getSession().createQuery("select study from Citation where publishyear between :begin and :end"); - q.setInteger("begin", begin); - q.setInteger("end", end); - return q.list(); + int begin = from.getYear() + 1900; + int end = until.getYear() + 1900; + String range = begin + ".." + end; + Collection<Citation> citations = null; + try { + citations = this.findSomethingByRangeExpression(Citation.class, "publishYear", range); + } catch (MalformedRangeExpression e) { + e.printStackTrace(); } - else { - Query q = getSession().createQuery("select study from Citation where publishyear = :begin"); - q.setInteger("begin",begin); - return q.list(); + Collection<Study> studies = new HashSet<Study>(); + for ( Citation citation : citations ) { + studies.add(citation.getStudy()); } + return studies; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |