From: <jbo...@li...> - 2005-08-30 15:59:13
|
Author: ral...@jb... Date: 2005-08-30 11:59:01 -0400 (Tue, 30 Aug 2005) New Revision: 1010 Modified: trunk/forge/portal-extensions/forge-prj-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java Log: fixed "./" issue in freezone html parser Modified: trunk/forge/portal-extensions/forge-prj-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java =================================================================== --- trunk/forge/portal-extensions/forge-prj-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java 2005-08-30 15:49:22 UTC (rev 1009) +++ trunk/forge/portal-extensions/forge-prj-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java 2005-08-30 15:59:01 UTC (rev 1010) @@ -94,8 +94,6 @@ // modifies path to page/resource so folder structure can be supported private String modifyPath(String path, String element) { - // System.out.println("element is: "+ element); - // System.out.println("path is: "+ path); int start, end; String mainPath = ""; if (element.startsWith("#")) @@ -103,6 +101,11 @@ return path+element; } + else if (element.startsWith("./")) + { System.out.println("found a match"); + element = element.substring(2); + System.out.println("and element is now "+ element); + }//ignore ./ only clutters the code int pre = path.lastIndexOf('/'); if(pre== -1)//we are in root dir @@ -115,10 +118,8 @@ if (element.startsWith("/")) - return element.substring(1); //base path, start with WEB-root - - if (element.startsWith("./")) - element = element.substring(1);//ignore ./ only clutters the code + return element.substring(1); //base path, start with WEB-root + if (element.indexOf('/') != -1) { if (element.indexOf("../") != -1)//need to go up a few levels { @@ -180,6 +181,8 @@ String nextRef; String nextRef2; + String imagePrepend = "/file-access/" + portalName + "/" + + ProjectsHelper.MEMBERS_DIR + "/" + projectId + "/"+ProjectsHelper.FREEZONE_DIR+"/"; while(pageContent.indexOf("HREF=")!= -1) { pageContent = forgeHelper.replace(pageContent,"HREF=", "href="); @@ -196,10 +199,17 @@ { //it would be relative not outside link nextRef2 = modifyPath(pagePath, nextRef); + if(nextRef2.endsWith(".png")) + { + nextRef2=imagePrepend+nextRef2+"\" target=\"_blank\""; + pageContent = forgeHelper.replace(pageContent,"href=" + + '"' + nextRef + '"', "*ref="+'"'+ nextRef2); + } + else pageContent = forgeHelper.replace(pageContent, "href=" + '"' + nextRef + '"', projectsHelper.createFreezonePageLink(portalName, - projectId, nextRef2) + '"'); + projectId, nextRef2+'"')); } else { pageContent = forgeHelper.replace(pageContent, "href=" @@ -208,8 +218,6 @@ } // Replacing images - String imagePrepend = "/file-access/" + portalName + "/" - + ProjectsHelper.MEMBERS_DIR + "/" + projectId + "/"+ProjectsHelper.FREEZONE_DIR+"/"; while ((nextRef = findNextReference(pageContent, "image")) != null) { nextRef2 = modifyPath(pagePath, nextRef); @@ -217,6 +225,10 @@ + nextRef+'"', "*img src="+'"'+imagePrepend + nextRef2+'"');} //fix back internal links + while (pageContent.indexOf("*ref=") != -1) + pageContent = forgeHelper.replace(pageContent, + "*ref=", " href=" ); + while (pageContent.indexOf(" /portal/index.html?ctrl:id") != -1) pageContent = forgeHelper.replace(pageContent, " /portal/index.html?ctrl:id", " href=" + '"' @@ -241,8 +253,7 @@ } catch (Exception e) { e.printStackTrace(); response.getWriter().write( - "The page you requested cannot be accessed due to " - + e.toString()); + "The page you requested cannot be accessed "); } } } |