|
From: <rv...@us...> - 2010-01-19 18:04:17
|
Revision: 475
http://treebase.svn.sourceforge.net/treebase/?rev=475&view=rev
Author: rvos
Date: 2010-01-19 18:04:11 +0000 (Tue, 19 Jan 2010)
Log Message:
-----------
Added a child override of handleRequest which verifies access rights before handing over to super.handleRequest or redirection to an authorization violation view.
Modified Paths:
--------------
trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/SearchMapToPhyloWidgetController.java
Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/SearchMapToPhyloWidgetController.java
===================================================================
--- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/SearchMapToPhyloWidgetController.java 2010-01-19 18:02:17 UTC (rev 474)
+++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/SearchMapToPhyloWidgetController.java 2010-01-19 18:04:11 UTC (rev 475)
@@ -1,5 +1,61 @@
package org.cipres.treebase.web.controllers;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.cipres.treebase.domain.study.Study;
+import org.cipres.treebase.domain.study.StudyService;
+import org.cipres.treebase.domain.study.SubmissionHome;
+import org.cipres.treebase.domain.tree.PhyloTree;
+import org.cipres.treebase.domain.tree.TreeBlock;
+import org.cipres.treebase.web.util.ControllerUtil;
+import org.springframework.web.servlet.ModelAndView;
+
class SearchMapToPhyloWidgetController extends DirectMapToPhyloWidgetController {
- // Empty subclass
+ private SubmissionHome mSubmissionHome;
+ private StudyService mStudyService;
+
+ public SubmissionHome getSubmissionHome() {
+ return mSubmissionHome;
+ }
+
+ public void setSubmissionHome(SubmissionHome pSubmissionHome) {
+ mSubmissionHome = pSubmissionHome;
+ }
+
+ public ModelAndView handleRequest(HttpServletRequest pRequest, HttpServletResponse pResponse)
+ throws Exception {
+ Study study = null;
+ if (pRequest.getParameter("treeid") != null) {
+ String treeId = pRequest.getParameter("treeid");
+ PhyloTree tree = getPhyloTreeService().findByID(Long.parseLong(treeId));
+ study = tree.getStudy();
+ }
+ if (pRequest.getParameter("treeblockid") != null) {
+ String treeBlockId = pRequest.getParameter("treeblockid");
+ Long value = Long.parseLong(treeBlockId);
+ TreeBlock treeBlock = getPhyloTreeHome().findTreeBlockById(value);
+ study = getSubmissionHome().findByTreeBlock(treeBlock).getStudy();
+ }
+ if ( ControllerUtil.isReviewerAccessGranted(pRequest) || ( study != null && study.isPublished() ) ) {
+ return super.handleRequest(pRequest, pResponse);
+ }
+ else {
+ return new ModelAndView("redirect:/accessviolation.html");
+ }
+ }
+
+ /**
+ * @param mStudyService the mStudyService to set
+ */
+ public void setStudyService(StudyService mStudyService) {
+ this.mStudyService = mStudyService;
+ }
+
+ /**
+ * @return the mStudyService
+ */
+ public StudyService getStudyService() {
+ return mStudyService;
+ }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|