From: <rv...@us...> - 2010-03-12 18:25:10
|
Revision: 553 http://treebase.svn.sourceforge.net/treebase/?rev=553&view=rev Author: rvos Date: 2010-03-12 18:24:41 +0000 (Fri, 12 Mar 2010) Log Message: ----------- Added findByJournal search method, which is needed so that we can create RSS feeds for journals. Modified Paths: -------------- trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyHome.java trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyService.java trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/StudyServiceImpl.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 2010-03-12 11:38:21 UTC (rev 552) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/StudyDAO.java 2010-03-12 18:24:41 UTC (rev 553) @@ -19,6 +19,7 @@ import org.cipres.treebase.domain.taxon.TaxonLabelHome; import org.cipres.treebase.domain.tree.PhyloTree; import org.hibernate.Criteria; +import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.criterion.Expression; import org.hibernate.criterion.Restrictions; @@ -364,5 +365,19 @@ return studies; } + /* + * (non-Javadoc) + * @see org.cipres.treebase.domain.study.StudyHome#findByJournal(java.lang.String) + */ + public Collection<Study> findByJournal(String pJournal) { + Collection<Study> returnVal = new ArrayList<Study>(); + if (pJournal != null) { + Query q = getSession().createQuery("select study from Citation where lower(journal) like :mStr"); + q.setString("mStr", pJournal.trim().toLowerCase() + '%'); + returnVal = q.list(); + } + return returnVal; + } + } Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyHome.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyHome.java 2010-03-12 11:38:21 UTC (rev 552) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyHome.java 2010-03-12 18:24:41 UTC (rev 553) @@ -45,6 +45,14 @@ * @return Set<Study> */ Collection<Study> findByAuthor(Person pAuthor); + + /** + * Find studies by journal name. + * + * @param pJournal + * @return Collection<Study> + */ + Collection<Study> findByJournal(String pJournal); /** * Find studies submitted by an user. Return an empty set if no match is found. Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyService.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyService.java 2010-03-12 11:38:21 UTC (rev 552) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/StudyService.java 2010-03-12 18:24:41 UTC (rev 553) @@ -50,6 +50,15 @@ * @return Collection<Study> */ Collection<Study> findByName(String pStudyName, boolean pCaseSensitive); + + + /** + * Find studies by journal name. Return an empty set if no match is found. + * @param pJournal + * @param pCaseSensitive + * @return Collection<Study> + */ + Collection<Study> findByJournal(String pJournal, boolean pCaseSensitive); /** * Advanced study query by criteria. Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/StudyServiceImpl.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/StudyServiceImpl.java 2010-03-12 11:38:21 UTC (rev 552) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/StudyServiceImpl.java 2010-03-12 18:24:41 UTC (rev 553) @@ -8,6 +8,7 @@ import java.io.IOException; import java.sql.Clob; import java.util.Collection; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; @@ -529,4 +530,9 @@ public Class defaultResultClass() { return Study.class; } + + public Collection<Study> findByJournal(String pJournal, + boolean pCaseSensitive) { + return getStudyHome().findByJournal(pJournal); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |