From: <jbo...@li...> - 2005-11-17 22:17:04
|
Author: szimano Date: 2005-11-17 17:16:54 -0500 (Thu, 17 Nov 2005) New Revision: 1587 Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java Log: added support of alone wiki/Wiki.jsp http://jira.jboss.com/jira/browse/JBWIKI-68 Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-11-17 21:44:11 UTC (rev 1586) +++ trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-11-17 22:16:54 UTC (rev 1587) @@ -75,19 +75,19 @@ private String wikiHome; private WikiEngine wikiEngine; - + private static final String oldLink = "Wiki.jsp?page="; /* * private ForgeHelper forgeHelper; private ContentManager contentManager; */ private MimetypesFileTypeMap mimeTypes; - + private Logger log; public void init(FilterConfig conf) { // get wikiEnigne form wikiMenagement - + log = Logger.getLogger(WikiFileAccessFilter.class); WikiCommon wikiCommon = new WikiCommon(); @@ -123,8 +123,7 @@ log.error(e); } - log.info("Loaded attachements path: " - + attachementsPath); + log.info("Loaded attachements path: " + attachementsPath); } public void doFilter(ServletRequest request, ServletResponse response, @@ -145,16 +144,21 @@ wikiSession.setAttribute("hostURL", hostURL); String requestURI = httpRequest.getRequestURI(); - + // get off "/wiki/" from the begining requestURI = requestURI.substring("/wiki/".length()); - + // support old type link with Wiki.jsp?page= - if (requestURI.equals("Wiki.jsp") && httpRequest.getParameter("page") != null) { - httpResponse.sendRedirect(hostURL + wikiHome + "&page=" + httpRequest.getParameter("page")); + if (requestURI.equals("Wiki.jsp")) { + if (httpRequest.getParameter("page") != null) + httpResponse.sendRedirect(hostURL + wikiHome + "&page=" + + httpRequest.getParameter("page")); + else + httpResponse.sendRedirect(hostURL + wikiHome); + return; } - + while (requestURI.endsWith("/")) { // get rid of ending "/" character(s) requestURI = requestURI.substring(0, requestURI.length() - 1); @@ -172,12 +176,12 @@ // Parse URI to get filename and page name String[] tokens = requestURI.split("[/]"); - if ((tokens.length == 1)&&(tokens[0].equals(""))) { - //show Main page - as there is no place to go specified :) - httpResponse.sendRedirect(hostURL + wikiHome ); + if ((tokens.length == 1) && (tokens[0].equals(""))) { + // show Main page - as there is no place to go specified :) + httpResponse.sendRedirect(hostURL + wikiHome); return; } - + // check if all tokens are UpperCase (meanins they are all wiki // pages) boolean isAllUpperCase = true; @@ -209,7 +213,8 @@ } else if (tokens[0].equals(WikiCommon.wikiButtons)) { // show apropriate buttons InputStream imageIS = WikiFileAccessFilter.class - .getResourceAsStream("/images/" + tokens[tokens.length - 1]); + .getResourceAsStream("/images/" + + tokens[tokens.length - 1]); ServletOutputStream os = response.getOutputStream(); @@ -231,7 +236,8 @@ imageIS.close(); } - } else if ((Character.isLowerCase(tokens[0].charAt(0)))&&(tokens.length > 1)) { + } else if ((Character.isLowerCase(tokens[0].charAt(0))) + && (tokens.length > 1)) { boolean isPageNameUC = true; for (int i = 1; i < tokens.length; i++) @@ -254,11 +260,12 @@ pageName = pageName.substring(1); WikiPage page = wikiEngine.getByName(pageName, - new WikiContext(new SimpleCredentials(""), wikiEngine - .getWikiType(wikiTypeName), wikiSession)); + new WikiContext(new SimpleCredentials(""), + wikiEngine.getWikiType(wikiTypeName), + wikiSession)); - httpResponse.setContentType(wikiEngine - .getWikiType(wikiTypeName).getContentType()); + httpResponse.setContentType(wikiEngine.getWikiType( + wikiTypeName).getContentType()); httpResponse.setContentLength(page.getPageContent() .length()); @@ -288,9 +295,11 @@ WikiAttachment wikiAttachment; if (version == -1) { - wikiAttachment = wikiEngine.getAttachment(pageName, fileName); + wikiAttachment = wikiEngine.getAttachment(pageName, + fileName); } else { - wikiAttachment = wikiEngine.getAttachment(pageName, fileName, version); + wikiAttachment = wikiEngine.getAttachment(pageName, + fileName, version); } if (wikiAttachment != null) { @@ -323,8 +332,7 @@ os .println("<html><body><h3>ERROR</h3><br />\nThere is no such file or there is no such version of file</body></html>"); } - } - else { + } else { ServletOutputStream os = response.getOutputStream(); response.setContentType("text/html"); |