Author: taylor Date: Tue Sep 20 11:19:00 2005 New Revision: 290507 URL: http://svn.apache.org/viewcvs?rev=290507&view=rev Log: demo for:
http://issues.apache.org/jira/browse/JS2-363 Document Resources: Profiler mapping criteria to associated pages The FilePortlet can now optionally look at the path i.e. /content/Constitution.html and map that to a PSML page, where the PSML page is never referenced in the URL this feature is useful for Graffito Modified: portals/jetspeed-2/trunk/applications/gems/src/java/org/apache/portals/gems/file/FilePortlet.java Modified: portals/jetspeed-2/trunk/applications/gems/src/java/org/apache/portals/gems/file/FilePortlet.java URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/applications/gems/src/java/org/apache/portals/gems/file/FilePortlet.java?rev=290507&r1=290506&r2=290507&view=diff ============================================================================== --- portals/jetspeed-2/trunk/applications/gems/src/java/org/apache/portals/gems/file/FilePortlet.java (original) +++ portals/jetspeed-2/trunk/applications/gems/src/java/org/apache/portals/gems/file/FilePortlet.java Tue Sep 20 11:19:00 2005 @@ -15,6 +15,7 @@ */ package org.apache.portals.gems.file; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -24,6 +25,7 @@ import javax.portlet.RenderResponse; import javax.portlet.PortletPreferences; +import org.apache.jetspeed.PortalReservedParameters; import org.apache.portals.bridges.common.GenericServletPortlet; @@ -36,22 +38,42 @@ public class FilePortlet extends GenericServletPortlet { - public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException + public void doView(RenderRequest request, RenderResponse response) + throws PortletException, IOException { response.setContentType("text/html"); - PortletPreferences prefs = request.getPreferences(); - String fileName = prefs.getValue("file", null); - if (fileName != null) + + // NOTE: this is Jetspeed specific + String path = (String)request.getAttribute(PortalReservedParameters.PATH_ATTRIBUTE); + + if (path != null && path.endsWith(".html")) { - InputStream is = this.getPortletContext().getResourceAsStream(fileName); - drain(is, response.getPortletOutputStream()); - is.close(); + File temp = new File(path); + renderFile(response, "/WEB-INF/content/" + temp.getPath()); } else { - response.getWriter().println("Could not find file preference "); + PortletPreferences prefs = request.getPreferences(); + String fileName = prefs.getValue("file", null); + if (fileName != null) + { + renderFile(response, fileName); + } + else + { + response.getWriter().println("Could not find file preference "); + } } } + + protected void renderFile(RenderResponse response, String fileName) + throws PortletException, IOException + { + InputStream is = this.getPortletContext().getResourceAsStream(fileName); + drain(is, response.getPortletOutputStream()); + is.close(); + } + static final int BLOCK_SIZE=4096; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
