From: <rv...@us...> - 2010-01-15 12:41:39
|
Revision: 443 http://treebase.svn.sourceforge.net/treebase/?rev=443&view=rev Author: rvos Date: 2010-01-15 12:41:32 +0000 (Fri, 15 Jan 2010) Log Message: ----------- Added x-access-code parameter to phylows redirect Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/PhyloWSController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/PhyloWSController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/PhyloWSController.java 2010-01-15 12:18:59 UTC (rev 442) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/PhyloWSController.java 2010-01-15 12:41:32 UTC (rev 443) @@ -28,15 +28,30 @@ private static String format = "format"; private static String[] classesWithPages = { "tree", "study", "matrix" }; - private String createUrl(String prefix, Long objectId) throws Exception { + private String createUrl(String prefix, Long objectId,HttpServletRequest request) throws Exception { String url = ""; - String base = "/treebase-web/search/study"; + StringBuffer base = new StringBuffer("/treebase-web/search/study"); if ( prefix.equals(TreebaseIDString.getPrefixForClass(Study.class)) ) { Study study = getStudyService().findByID(objectId); if ( study == null ) { throw new ObjectNotFoundException("Can't find study " + objectId); - } - return base + "/summary.html?id=" + objectId; + } + if ( ! TreebaseUtil.isEmpty(request.getParameter(Constants.X_ACCESS_CODE))) { + return base + .append("/summary.html?id=") + .append(objectId) + .append('&') + .append(Constants.X_ACCESS_CODE) + .append('=') + .append(request.getParameter(Constants.X_ACCESS_CODE)) + .toString(); + } + else { + return base + .append("/summary.html?id=") + .append(objectId) + .toString(); + } } else if ( prefix.equals(TreebaseIDString.getPrefixForClass(Matrix.class)) ) { Matrix matrix = getMatrixService().findByID(objectId); @@ -44,7 +59,12 @@ throw new ObjectNotFoundException("Can't find matrix " + objectId); } Study study = matrix.getStudy(); - return base + "/matrix.html?id=" + study.getId() + "&matrixid=" + objectId; + return base + .append("/matrix.html?id=") + .append(study.getId()) + .append("&matrixid=") + .append(objectId) + .toString(); } else if ( prefix.equals(TreebaseIDString.getPrefixForClass(PhyloTree.class)) ) { PhyloTree phyloTree = getPhyloTreeService().findByID(objectId); @@ -52,7 +72,12 @@ throw new ObjectNotFoundException("Can't find tree " + objectId); } Study study = phyloTree.getStudy(); - return base + "/tree.html?id=" + study.getId() + "&treeid=" + objectId; + return base + .append("/tree.html?id=") + .append(study.getId()) + .append("&treeid=") + .append(objectId) + .toString(); } return url; } @@ -94,7 +119,7 @@ url = domain + "/treebase-web/search/study/anyObjectAsRDF.html?namespacedGUID=" + namespacedGUID.toString(); } else if ( req.getParameter(format).equals("html") ) { - url = domain + createUrl(tbID.getTypePrefix(),tbID.getId()); + url = domain + createUrl(tbID.getTypePrefix(),tbID.getId(),req); } else { url = domain + createDownloadUrl(tbID.getTypePrefix(),tbID.getId(),req.getParameter(format)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |