Author: szimano Date: 2005-08-26 06:22:06 -0400 (Fri, 26 Aug 2005) New Revision: 967 Added: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties Removed: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties.sample trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java Modified: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java Log: no host in properties... *nice* Modified: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-26 10:22:06 UTC (rev 967) @@ -24,10 +24,6 @@ <name>friendlyLinks</name> <class>org.jboss.wiki.plugins.FriendlyLinkPlugin</class> </plugin> - <plugin> - <name>secureLinks</name> - <class>org.jboss.wiki.plugins.SecureLinksPlugin</class> - </plugin> </wikiType> <wikiType> <name>DIFF</name> @@ -36,10 +32,6 @@ <name>Diff</name> <class>org.jboss.wiki.plugins.DiffPlugin</class> </plugin> - <plugin> - <name>secureLinks</name> - <class>org.jboss.wiki.plugins.SecureLinksPlugin</class> - </plugin> </wikiType> <wikiType> <name>FIND</name> @@ -52,9 +44,5 @@ <name>wikiToHtmlTranslator</name> <class>org.jboss.wiki.plugins.HTMLTranslator</class> </plugin> - <plugin> - <name>secureLinks</name> - <class>org.jboss.wiki.plugins.SecureLinksPlugin</class> - </plugin> </wikiType> </wikiTypes> \ No newline at end of file Added: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties 2005-08-26 10:22:06 UTC (rev 967) @@ -0,0 +1,7 @@ +# WikiPlugin properties. Use it wise. + +#extensions for images to be inlined, coma-separated +imagePatterns = .png , .jpeg , .gif , .bmp + +#wikiHome part of url. Leave it you use default portlet conifguration +wikiHome = /portal/index.html?ctrl:id=window.default.WikiPortletWindow&ctrl:type=action Deleted: trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties.sample =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties.sample 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties.sample 2005-08-26 10:22:06 UTC (rev 967) @@ -1,24 +0,0 @@ -# WikiPlugin properties. Use it wise. -#specifies base URL for the portal -htmlTranslatorURL = http://forge.sicore.org:8080/ -#htmlTranslatorURL = http://localhost:8080/ - -#extensions for images to be inlined, coma-separated -imagePatterns = .png , .jpeg , .gif , .bmp - -#wikiHome part of url. Leave it you use default portlet conifguration -wikiHome = index.html?ctrl:id=window.default.WikiPortletWindow&ctrl:type=action - -#Replaces for secure connection (of urls): - -#all are coma separated - -#sslReplaces - replace all the links SecureLinksPlugin. -#First one is regex for finding a region to replace in -#then are pairs of: regex(what replace), String(replacement) -#Be carefull with white charachters as they count also (same with sslRedirectReplaces) -sslReplaces=<a href=\"http.+:8080.+>.+</a>,http,https,:8080,:8443 - -#sslRedirectReplaces used by redirector -#pairs of: regex(what replace), String(replacement) -sslRedirectReplaces=http,https,:8080,:8443 \ No newline at end of file Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-26 10:22:06 UTC (rev 967) @@ -44,7 +44,7 @@ } public void processAction(JBossActionRequest rReq, JBossActionResponse rResp) { - + // wikiContext is null - to get refernece to actual page WikiContext wikiContext = null; @@ -197,6 +197,16 @@ public void doView(JBossRenderRequest rReq, JBossRenderResponse rRes) throws PortletException, java.io.IOException { + PortletURL wikiURL = rRes.createActionURL(); + + rReq.setAttribute("actionURL", wikiURL.toString()); + + // Create server host and put it into session for plugins + String hostURL = ((rReq.isSecure()) ? "https" : "http") + "://"+rReq.getServerName()+((rReq.getServerPort() == 80) ? "" : ":"+ rReq.getServerPort()); + + rReq.getPortletSession().setAttribute("hostURL", hostURL); + rReq.getPortletSession().setAttribute("actionURL", wikiURL.toString()); + rReq.getPortletSession().setAttribute("isSecure", new Boolean(rReq.isSecure())); @@ -328,11 +338,7 @@ } } - - PortletURL wikiURL = rRes.createActionURL(); - - rReq.setAttribute("actionURL", wikiURL.toString()); - + rReq .setAttribute( "wikiName", @@ -353,7 +359,7 @@ // FIXME make this more elegant (ie. plugin) // pass friendly link - Properties props = new Properties(); + /*Properties props = new Properties(); props.load(WikiPlugin.class .getResourceAsStream("wikiPlugins.properties")); String href = props.getProperty("htmlTranslatorURL") + "wiki/" @@ -364,9 +370,9 @@ // chage normal url to secure for (int i = 0; i < replaces.length; i += 2) href = href.replaceAll(replaces[i], replaces[i + 1]); - } + }*/ - rReq.setAttribute("friendlyLink", href); + rReq.setAttribute("friendlyLink", hostURL+"/wiki/"+pageToShow.getName()); rRes.setTitle("Wiki"); if (javax.portlet.WindowState.NORMAL.equals(rReq.getWindowState()) Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-08-26 10:22:06 UTC (rev 967) @@ -46,7 +46,7 @@ private String attachementsPath; - private String host; + private String wikiHome; private String[] replaces; @@ -76,11 +76,7 @@ .getResourceAsStream("wikiPlugins.properties")); // get the host - host = props.getProperty("htmlTranslatorURL") + "portal/" - + props.getProperty("wikiHome"); - - // get ssl replaces - replaces = props.getProperty("sslRedirectReplaces").split(","); + wikiHome = props.getProperty("wikiHome"); } catch (IOException e) { System.err.println(e); @@ -105,20 +101,10 @@ System.out.println("length " + tokens.length); if (tokens.length == 3) { - String newHost = host; + String hostURL = ((request.isSecure()) ? "https" : "http") + "://"+request.getServerName()+((request.getServerPort() == 80) ? "" : ":"+ request.getServerPort()); - if ((request.isSecure())&&(replaces.length % 2 == 0)) { - for (int i = 0; i < replaces.length; i+= 2) - newHost = newHost.replaceAll( - replaces[i], replaces[i+1]); - } - - // show page (redirect) - System.out.println("redirecting: " + newHost + "&page=" + httpResponse.sendRedirect(hostURL+wikiHome + "&page=" + tokens[tokens.length - 1]); - - httpResponse.sendRedirect(newHost + "&page=" - + tokens[tokens.length - 1]); } else { // get fileName of attachement and page which is connected to String fileName = tokens[tokens.length - 1]; Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/AttachmentListPlugin.java 2005-08-26 10:22:06 UTC (rev 967) @@ -21,8 +21,10 @@ @Override public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { + host = (String)wikiSession.getAttribute("hostURL")+"/wiki/"; + WikiPage newPage = null; - + try { newPage = (WikiPage) wikiPage.clone(); } catch (CloneNotSupportedException cl) { @@ -50,7 +52,7 @@ @Override public void init() { - host = getProperty("htmlTranslatorURL")+"wiki/"; + } } Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/FriendlyLinkPlugin.java 2005-08-26 10:22:06 UTC (rev 967) @@ -37,6 +37,12 @@ @Override public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { + url = (String)wikiSession.getAttribute("hostURL")+"/wiki/"; + + pattern = "<a href=\""+(((String)wikiSession.getAttribute("hostURL")+(String)wikiSession.getAttribute("actionURL")).replaceAll("\\.","\\\\.").replaceAll("\\?", "\\\\?"))+"&page=\\w+\">"; + + System.out.println(pattern); + WikiPage newPage = null; try { @@ -52,11 +58,7 @@ @Override public void init() { - url = getProperty("htmlTranslatorURL")+"wiki/"; - pattern = "<a href=\""+((getProperty("htmlTranslatorURL")+"portal/"+getProperty("wikiHome")).replaceAll("\\.","\\\\.").replaceAll("\\?", "\\\\?"))+"&page=\\w+\">"; - - System.out.println(pattern); } } Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java 2005-08-26 10:22:06 UTC (rev 967) @@ -928,6 +928,10 @@ public WikiPage process(final WikiPage wikiPage, WikiSession wikiSession) { WikiPage newPage = null; + + portalHome = (String)wikiSession.getAttribute("hostURL")+(String)wikiSession.getAttribute("actionURL"); + wikiHome = ""; + try { newPage = (WikiPage) wikiPage.clone(); } catch (CloneNotSupportedException cnse) { @@ -950,10 +954,10 @@ @Override public void init() { - portalHome = getProperty("htmlTranslatorURL") + "portal/"; + //portalHome = getProperty("htmlTranslatorURL") + "portal/"; mediaPatterns = getProperty("imagePatterns"); - imagePath = getProperty("htmlTranslatorURL") + "wiki"; - wikiHome = getProperty("wikiHome"); + //imagePath = getProperty("htmlTranslatorURL") + "wiki"; + //wikiHome = getProperty("wikiHome"); } } \ No newline at end of file Deleted: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java 2005-08-25 21:12:14 UTC (rev 966) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/SecureLinksPlugin.java 2005-08-26 10:22:06 UTC (rev 967) @@ -1,67 +0,0 @@ -package org.jboss.wiki.plugins; - -import java.util.Vector; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.jboss.wiki.WikiPage; -import org.jboss.wiki.WikiPlugin; -import org.jboss.wiki.WikiSession; - -public class SecureLinksPlugin extends WikiPlugin { - - private String[] replaces; - - @Override - public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { - WikiPage newPage = null; - - try { - newPage = (WikiPage) wikiPage.clone(); - } catch (CloneNotSupportedException cl) { - System.err.println(cl); - } - - if ((replaces.length % 2 == 1) - && (((Boolean) wikiSession.getAttribute("isSecure")))) { - - String pageContent = newPage.getPageContent(); - Vector<String> matches = new Vector<String>(); - - // find the area - Matcher matcher = Pattern.compile(replaces[0]).matcher(pageContent); - - while (matcher.find()) { - // change parts of it - String hrefToChange = pageContent.substring(matcher.start(), - matcher.end()); - - for (int i = 1; i < replaces.length; i += 2) - hrefToChange = hrefToChange.replaceAll(replaces[i], replaces[i + 1]); - - matches.add(hrefToChange); - } - - // replace them in pageContent - for (int i = 0; i < matches.size(); i++) { - pageContent = pageContent.replaceFirst(replaces[0], matches - .get(i)); - } - - // finnaly set new content - newPage.setPageContent(pageContent); - - } else { - System.err - .println("sslReplaces property is not valid. Number of props must be odd (first one is region to change) !"); - } - return newPage; - } - - @Override - public void init() { - // get the replacemen pairs - replaces = getProperty("sslReplaces").split(","); - } - -} |