From: <hs...@us...> - 2011-01-25 14:43:54
|
Revision: 772 http://treebase.svn.sourceforge.net/treebase/?rev=772&view=rev Author: hshyket Date: 2011-01-25 14:43:48 +0000 (Tue, 25 Jan 2011) Log Message: ----------- Changing the OAI-PMH date search. Using the last modified date (Study table) instead of the created date (Submission table) for the results. Modified Paths: -------------- trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/SubmissionDAO.java trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionHome.java trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionService.java trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/SubmissionServiceImpl.java trunk/treebase-core/src/test/java/org/cipres/treebase/dao/study/SubmissionDAOTest.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/SubmissionDAO.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/SubmissionDAO.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/dao/study/SubmissionDAO.java 2011-01-25 14:43:48 UTC (rev 772) @@ -192,7 +192,17 @@ q.setDate("end", until); return q.list(); } + + public Collection<Submission> findByLastModifiedDateRange(Date from, Date until) { + Query q = getSession().createQuery( + "from Submission sub where sub.study.lastModifiedDate between :begin and :end"); + q.setDate("begin", from); + q.setDate("end", until); + return q.list(); + + } + public Submission findByStudyID(Long pID) { // TODO Auto-generated method stub Submission returnVal = null; Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionHome.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionHome.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionHome.java 2011-01-25 14:43:48 UTC (rev 772) @@ -72,4 +72,5 @@ Collection<Submission> findByInProgressState(); Collection<Submission> findByCreateDateRange(Date from, Date until); + Collection<Submission> findByLastModifiedDateRange(Date from, Date until); } Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionService.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionService.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/domain/study/SubmissionService.java 2011-01-25 14:43:48 UTC (rev 772) @@ -42,6 +42,8 @@ Collection<Submission> findPublishedSubmissions(); Collection<Submission> findSubmissionByCreateDateRange(Date from, Date until); + + Collection<Submission> findSubmissionByLastModifiedDateRange(Date from, Date until); /** * Create a submission, which associates with a new study. A submitter is required. * Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/SubmissionServiceImpl.java =================================================================== --- trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/SubmissionServiceImpl.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-core/src/main/java/org/cipres/treebase/service/study/SubmissionServiceImpl.java 2011-01-25 14:43:48 UTC (rev 772) @@ -934,7 +934,13 @@ return getSubmissionHome().findByCreateDateRange(from, until); } + + public Collection<Submission> findSubmissionByLastModifiedDateRange(Date from, Date until) { + + return getSubmissionHome().findByLastModifiedDateRange(from, until); + } + @Override Modified: trunk/treebase-core/src/test/java/org/cipres/treebase/dao/study/SubmissionDAOTest.java =================================================================== --- trunk/treebase-core/src/test/java/org/cipres/treebase/dao/study/SubmissionDAOTest.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-core/src/test/java/org/cipres/treebase/dao/study/SubmissionDAOTest.java 2011-01-25 14:43:48 UTC (rev 772) @@ -184,6 +184,24 @@ } } + public void testFindByLastModifiedDateRange() { + String testName = "testFindByLastModifiedDateRange"; + if (logger.isInfoEnabled()) { + logger.info("\n\t\tRunning Test: " + testName); + } + + Date from = (new GregorianCalendar(2011,1,1)).getTime(); + Date until = (new GregorianCalendar(2011,3,1)).getTime(); + + Collection<Submission> s = getFixture().findByLastModifiedDateRange(from, until); + + + + assertTrue(s.size() > 0); + if (logger.isInfoEnabled()) { + logger.info("\n\t\tRunning Test: found " + s.size()); + } + } } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java 2011-01-19 19:59:02 UTC (rev 771) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java 2011-01-25 14:43:48 UTC (rev 772) @@ -122,7 +122,7 @@ List<Submission> list=null; try { - list = (List)submissionService.findSubmissionByCreateDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getModifiedFrom()), + list = (List)submissionService.findSubmissionByLastModifiedDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getModifiedFrom()), IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getModifiedUntil())); } catch (ParseException e) { model.put("error_code", "badArgument"); @@ -139,7 +139,7 @@ List<Submission> list=null; try { - list = (List)submissionService.findSubmissionByCreateDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getModifiedFrom()), + list = (List)submissionService.findSubmissionByLastModifiedDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getModifiedFrom()), IdentifyUtil.parseGranularity(identify.getGranularityPattern(), params.getModifiedUntil())); } catch (ParseException e) { model.put("error_code", "badArgument"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |