From: <rv...@us...> - 2010-01-19 18:07:58
|
Revision: 477 http://treebase.svn.sourceforge.net/treebase/?rev=477&view=rev Author: rvos Date: 2010-01-19 18:07:52 +0000 (Tue, 19 Jan 2010) Log Message: ----------- Implemented getStudy in the download controllers. Each controller has its own way of reconstructing the focal study, but they all need to return it somehow so that access rights to the study can be established, either by it having been published or access having been granted to it explicitly through the reviewer access control system. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAMatrixController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusFileController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusRCTFileController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAStudyController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeBlockController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAnAnalysisStepController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAMatrixController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAMatrixController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAMatrixController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -115,4 +115,10 @@ } } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + Matrix matrix = getMatrixService().findByID(objectId); + return matrix.getStudy(); + } + } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusFileController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusFileController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusFileController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -140,6 +140,11 @@ return nexusString != null ? nexusString : "File Not Found. File Name is: " + nexusFileName; + } + + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + return ControllerUtil.findStudy(request, mStudyService); } } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusRCTFileController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusRCTFileController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadANexusRCTFileController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -98,4 +98,9 @@ } } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + return ControllerUtil.findStudy(request, mStudyService); + } + } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAStudyController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAStudyController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAStudyController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -89,4 +89,9 @@ return null; } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + return getStudyService().findByID(objectId); + } + } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeBlockController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeBlockController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeBlockController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -8,6 +8,10 @@ import org.springframework.web.servlet.mvc.Controller; import org.cipres.treebase.domain.nexus.NexusDataSet; +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.SubmissionHome; import org.cipres.treebase.domain.tree.PhyloTreeHome; import org.cipres.treebase.domain.tree.TreeBlock; @@ -20,8 +24,44 @@ public class DownloadATreeBlockController extends AbstractDownloadController implements Controller { private PhyloTreeHome mPhyloTreeHome; + private StudyService mStudyService; + private SubmissionHome mSubmissionHome; + + /** + * Return the SubmissionHome field + * + * @return + */ + public SubmissionHome getSubmissionHome() { + return mSubmissionHome; + } + + /** + * Set the SubmissionHome field + * + * @param pSubmissionHome + */ + public void setSubmissionHome(SubmissionHome pSubmissionHome) { + mSubmissionHome = pSubmissionHome; + } /** + * Return the StudyService field. + * + * @return StudyService mStudyService + */ + public StudyService getStudyService() { + return mStudyService; + } + + /** + * Set the StudyService field. + */ + public void setStudyService(StudyService pNewStudyService) { + mStudyService = pNewStudyService; + } + + /** * @return the phyloTreeHome */ public PhyloTreeHome getPhyloTreeHome() { @@ -77,4 +117,11 @@ } } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + TreeBlock treeBlock = getPhyloTreeHome().findTreeBlockById(objectId); + Submission submission = getSubmissionHome().findByTreeBlock(treeBlock); + return submission.getStudy(); + } + } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadATreeController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -125,4 +125,10 @@ } } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + PhyloTree tree = getPhyloTreeService().findByID(objectId); + return tree.getStudy(); + } + } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAnAnalysisStepController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAnAnalysisStepController.java 2010-01-19 18:05:40 UTC (rev 476) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DownloadAnAnalysisStepController.java 2010-01-19 18:07:52 UTC (rev 477) @@ -17,6 +17,8 @@ import org.cipres.treebase.domain.study.AnalysisStep; import org.cipres.treebase.domain.study.AnalysisStepService; import org.cipres.treebase.domain.study.AnalyzedData; +import org.cipres.treebase.domain.study.Study; +import org.cipres.treebase.domain.study.StudyService; import org.cipres.treebase.domain.taxon.TaxonLabelSet; import org.cipres.treebase.domain.tree.PhyloTree; import org.cipres.treebase.domain.tree.PhyloTreeService; @@ -34,8 +36,25 @@ private MatrixService mMatrixService; private PhyloTreeService mPhyloTreeService; private AnalysisStepService mAnalysisStepService; + private StudyService mStudyService; /** + * Return the StudyService field. + * + * @return StudyService mStudyService + */ + public StudyService getStudyService() { + return mStudyService; + } + + /** + * Set the StudyService field. + */ + public void setStudyService(StudyService pNewStudyService) { + mStudyService = pNewStudyService; + } + + /** * Return the PhyloTreeService field * * @return PhyloTreeService mPhyloTreeService @@ -95,7 +114,7 @@ if ( request.getParameter("analysisid") == null ) { return null; } - long analysisId = Long.parseLong(request.getParameter("analysisid")); + long analysisId = Long.parseLong(request.getParameter("analysisid")); generateAFileDynamically(request, response, analysisId); return null; } @@ -151,4 +170,10 @@ return stepContent.toString(); } + @Override + protected Study getStudy(long objectId, HttpServletRequest request) { + AnalysisStep step = getAnalysisStepService().findByID(objectId); + return step.getAnalysis().getStudy(); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |