From: <rv...@us...> - 2009-06-25 02:28:47
|
Revision: 99 http://treebase.svn.sourceforge.net/treebase/?rev=99&view=rev Author: rvos Date: 2009-06-25 02:28:46 +0000 (Thu, 25 Jun 2009) Log Message: ----------- Adding AnyObjectAsRDFController, which creates request attributes for populating the anyObjectAsRDF.jsp template. Added Paths: ----------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Added: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java (rev 0) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2009-06-25 02:28:46 UTC (rev 99) @@ -0,0 +1,63 @@ +/** + * + */ +package org.cipres.treebase.web.controllers; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.cipres.treebase.NamespacedGUID; +import org.cipres.treebase.TreebaseIDString; +import org.cipres.treebase.domain.matrix.Matrix; +import org.cipres.treebase.domain.study.Study; +import org.cipres.treebase.domain.tree.PhyloTree; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.Controller; + +/** + * @author rvosa + * + */ +public class AnyObjectAsRDFController implements Controller { + + public ModelAndView handleRequest(HttpServletRequest request, + HttpServletResponse response) throws Exception { + NamespacedGUID namespacedGUID = new NamespacedGUID(request.getParameter("namespacedGUID")); + TreebaseIDString treebaseIDString = null; + request.setAttribute("hasWebPage", false); + request.setAttribute("hasNexus", false); + request.setAttribute("hasNeXML", false); + request.setAttribute("hasRdf", false); + try { + treebaseIDString = namespacedGUID.getTreebaseIDString(); + } catch ( Exception e ) { + e.printStackTrace(); + } + if ( null != treebaseIDString ) { + if ( null != treebaseIDString.getTypePrefix() ) { + Class<?> theClass = TreebaseIDString.getClassForPrefix(treebaseIDString.getTypePrefix()); + if ( null != theClass ) { + if ( theClass.isAssignableFrom(PhyloTree.class) + || theClass.isAssignableFrom(Matrix.class) + || theClass.isAssignableFrom(Study.class) ) { + request.setAttribute("hasWebPage", true); + request.setAttribute("hasNexus", true); + request.setAttribute("hasNeXML", true); + request.setAttribute("hasRdf", true); + } + } + } + } + request.getSession().setAttribute("namespacedGUID", namespacedGUID.toString()); + // <c:set var="baseURL" value="http://localhost:8080/treebase-web/PhyloWS"/> + StringBuffer url = new StringBuffer("http://"); + url + .append(request.getServerName()) + .append(':') + .append(request.getServerPort()) + .append("/treebase-web/PhyloWS"); + request.getSession().setAttribute("baseURL", url.toString()); + return new ModelAndView("anyObjectAsRDF"); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rv...@us...> - 2009-06-28 10:19:51
|
Revision: 143 http://treebase.svn.sourceforge.net/treebase/?rev=143&view=rev Author: rvos Date: 2009-06-28 10:18:51 +0000 (Sun, 28 Jun 2009) Log Message: ----------- Now uses PhyloWSPath object to manage whatever url fragments come between /phylows/ and NamespacedGUID Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2009-06-28 10:17:15 UTC (rev 142) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2009-06-28 10:18:51 UTC (rev 143) @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletResponse; import org.cipres.treebase.NamespacedGUID; +import org.cipres.treebase.PhyloWSPath; import org.cipres.treebase.TreebaseIDString; import org.cipres.treebase.domain.matrix.Matrix; import org.cipres.treebase.domain.study.Study; @@ -24,6 +25,7 @@ HttpServletResponse response) throws Exception { NamespacedGUID namespacedGUID = new NamespacedGUID(request.getParameter("namespacedGUID")); TreebaseIDString treebaseIDString = null; + PhyloWSPath phyloWSPath = null; request.setAttribute("hasWebPage", false); request.setAttribute("hasNexus", false); request.setAttribute("hasNeXML", false); @@ -45,18 +47,22 @@ request.setAttribute("hasNeXML", true); request.setAttribute("hasRdf", true); } + phyloWSPath = new PhyloWSPath(theClass.getPackage(),namespacedGUID); } } } request.getSession().setAttribute("namespacedGUID", namespacedGUID.toString()); // <c:set var="baseURL" value="http://localhost:8080/treebase-web/PhyloWS"/> - StringBuffer url = new StringBuffer("http://"); - url + StringBuffer domainAddress = new StringBuffer("http://"); + domainAddress .append(request.getServerName()) .append(':') - .append(request.getServerPort()) - .append("/treebase-web/PhyloWS"); - request.getSession().setAttribute("baseURL", url.toString()); + .append(request.getServerPort()); + StringBuffer baseURL = new StringBuffer(domainAddress); + baseURL.append("/treebase-web/phylows"); + request.getSession().setAttribute("baseURL", baseURL.toString()); + request.getSession().setAttribute("domainAddress", domainAddress.toString()); + request.getSession().setAttribute("phyloWSPath", phyloWSPath); return new ModelAndView("anyObjectAsRDF"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rv...@us...> - 2010-03-12 23:31:45
|
Revision: 563 http://treebase.svn.sourceforge.net/treebase/?rev=563&view=rev Author: rvos Date: 2010-03-12 23:31:38 +0000 (Fri, 12 Mar 2010) Log Message: ----------- Removed unused template variables (we use purl domain instead of runtime-computed domain). Started sketching out functionality for generic annotations in rss feeds. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-12 23:29:53 UTC (rev 562) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-12 23:31:38 UTC (rev 563) @@ -6,6 +6,8 @@ import org.cipres.treebase.NamespacedGUID; import org.cipres.treebase.PhyloWSPath; import org.cipres.treebase.TreebaseIDString; +import org.cipres.treebase.TreebaseUtil; +import org.cipres.treebase.domain.Annotatable; import org.cipres.treebase.domain.matrix.Matrix; import org.cipres.treebase.domain.study.Study; import org.cipres.treebase.domain.tree.PhyloTree; @@ -45,20 +47,16 @@ request.setAttribute("hasRdf", true); } phyloWSPath = new PhyloWSPath(theClass.getPackage(),namespacedGUID); +// if ( theClass.isAssignableFrom(Annotatable.class) ) { +// request.setAttribute(arg0, arg1) +// } } } } request.getSession().setAttribute("namespacedGUID", namespacedGUID.toString()); // <c:set var="baseURL" value="http://localhost:8080/treebase-web/PhyloWS"/> - StringBuffer domainAddress = new StringBuffer("http://"); - domainAddress - .append(request.getServerName()) - .append(':') - .append(request.getServerPort()); - StringBuffer baseURL = new StringBuffer(domainAddress); - baseURL.append("/treebase-web/phylows"); - request.getSession().setAttribute("baseURL", baseURL.toString()); - request.getSession().setAttribute("domainAddress", domainAddress.toString()); + // treebase.purl.domain=http://purl.org/phylo/treebase/phylows/ + request.getSession().setAttribute("baseURL", TreebaseUtil.getPurlDomain()); request.getSession().setAttribute("phyloWSPath", phyloWSPath); return new ModelAndView("anyObjectAsRDF"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rv...@us...> - 2010-03-15 01:44:55
|
Revision: 593 http://treebase.svn.sourceforge.net/treebase/?rev=593&view=rev Author: rvos Date: 2010-03-15 01:44:48 +0000 (Mon, 15 Mar 2010) Log Message: ----------- Removed unused import. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-15 01:43:07 UTC (rev 592) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-15 01:44:48 UTC (rev 593) @@ -7,7 +7,6 @@ import org.cipres.treebase.PhyloWSPath; import org.cipres.treebase.TreebaseIDString; import org.cipres.treebase.TreebaseUtil; -import org.cipres.treebase.domain.Annotatable; import org.cipres.treebase.domain.matrix.Matrix; import org.cipres.treebase.domain.study.Study; import org.cipres.treebase.domain.tree.PhyloTree; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rv...@us...> - 2010-03-16 16:55:10
|
Revision: 605 http://treebase.svn.sourceforge.net/treebase/?rev=605&view=rev Author: rvos Date: 2010-03-16 16:55:00 +0000 (Tue, 16 Mar 2010) Log Message: ----------- Now retrieves the specified object and saves it in the session so that the template can use it to fetch annotations and context links. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-16 16:53:37 UTC (rev 604) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2010-03-16 16:55:00 UTC (rev 605) @@ -3,12 +3,15 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.log4j.Logger; import org.cipres.treebase.NamespacedGUID; import org.cipres.treebase.PhyloWSPath; import org.cipres.treebase.TreebaseIDString; import org.cipres.treebase.TreebaseUtil; +import org.cipres.treebase.domain.TBPersistable; import org.cipres.treebase.domain.matrix.Matrix; import org.cipres.treebase.domain.study.Study; +import org.cipres.treebase.domain.study.StudyService; import org.cipres.treebase.domain.tree.PhyloTree; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; @@ -18,7 +21,18 @@ * */ public class AnyObjectAsRDFController implements Controller { + private static final Logger LOGGER = Logger.getLogger(AnyObjectAsRDFController.class); + private StudyService mStudyService; + + public StudyService getStudyService() { + return mStudyService; + } + + public void setStudyService(StudyService studyService) { + mStudyService = studyService; + } + public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { NamespacedGUID namespacedGUID = new NamespacedGUID(request.getParameter("namespacedGUID")); @@ -34,9 +48,16 @@ e.printStackTrace(); } if ( null != treebaseIDString ) { - if ( null != treebaseIDString.getTypePrefix() ) { - Class<?> theClass = TreebaseIDString.getClassForPrefix(treebaseIDString.getTypePrefix()); + LOGGER.info("TreeBASE ID String: "+treebaseIDString); + + String typePrefix = treebaseIDString.getTypePrefix(); + if ( null != typePrefix ) { + LOGGER.info("Type prefix: "+typePrefix); + + Class<?> theClass = TreebaseIDString.getClassForPrefix(typePrefix); if ( null != theClass ) { + LOGGER.info("Class: "+theClass); + if ( theClass.isAssignableFrom(PhyloTree.class) || theClass.isAssignableFrom(Matrix.class) || theClass.isAssignableFrom(Study.class) ) { @@ -46,12 +67,27 @@ request.setAttribute("hasRdf", true); } phyloWSPath = new PhyloWSPath(theClass.getPackage(),namespacedGUID); -// if ( theClass.isAssignableFrom(Annotatable.class) ) { -// request.setAttribute(arg0, arg1) -// } + + TBPersistable theObject = getStudyService().findByID(theClass, treebaseIDString.getId()); + if ( null != theObject ) { + request.getSession().setAttribute("theObject", theObject); + LOGGER.info("Object: "+theObject); + } + else { + LOGGER.info("Couldn't instantiate object of type "+theClass+" with ID "+treebaseIDString.getId()); + } } + else { + LOGGER.info("Couldn't get class for prefix "+typePrefix); + } } + else { + LOGGER.info("Couldn't get prefix for ID string" + treebaseIDString); + } } + else { + LOGGER.info("Couldn't get ID String"); + } request.getSession().setAttribute("namespacedGUID", namespacedGUID.toString()); // <c:set var="baseURL" value="http://localhost:8080/treebase-web/PhyloWS"/> // treebase.purl.domain=http://purl.org/phylo/treebase/phylows/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rv...@us...> - 2012-01-19 22:41:46
|
Revision: 1015 http://treebase.svn.sourceforge.net/treebase/?rev=1015&view=rev Author: rvos Date: 2012-01-19 22:41:40 +0000 (Thu, 19 Jan 2012) Log Message: ----------- In the previous revision, line 73 assumed that all objects are studies, such that we can check whether they are under embargo. This doesn't make sense as this controller operates on any object, whether study or otherwise. Hence I've added getStudy() methods to all domain objects, which either return the containing study or null in the case that the focal object doesn't logically belong to a study (e.g. in the case of a genetic code symbol). If the object does belong to a study we can then test whether it is published or not. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2012-01-19 22:38:16 UTC (rev 1014) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/AnyObjectAsRDFController.java 2012-01-19 22:41:40 UTC (rev 1015) @@ -70,7 +70,8 @@ TBPersistable theObject = getStudyService().findByID(theClass, treebaseIDString.getId()); if ( null != theObject ) { - if (! getStudyService().findByID(treebaseIDString.getId()).isPublished()) { + Study theContainingStudy = theObject.getStudy(); + if (null != theContainingStudy && ! theContainingStudy.isPublished()) { response.setContentType("text/plain"); response.setStatus(HttpServletResponse.SC_SEE_OTHER); response.setHeader("Location", "/treebase-web/accessviolation.html"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |