From: <jbo...@li...> - 2005-08-18 16:51:12
|
Author: szimano Date: 2005-08-18 12:50:55 -0400 (Thu, 18 Aug 2005) New Revision: 895 Added: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/PortletWikiSession.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSession.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/TrailPlugin.java 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/wikiPlugins.properties trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiContext.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPlugin.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/DiffPlugin.java trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp Log: added wiki session + trail plugin 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-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/WikiTypes.xml 2005-08-18 16:50:55 UTC (rev 895) @@ -9,6 +9,10 @@ <name>HTML</name> <class>org.jboss.wiki.plugins.DefaultWikiType</class> <plugin> + <name>trail</name> + <class>org.jboss.wiki.plugins.TrailPlugin</class> + </plugin> + <plugin> <name>wikiToHtmlTranslator</name> <class>org.jboss.wiki.plugins.HTMLTranslator</class> </plugin> Modified: 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-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/etc/org/jboss/wiki/wikiPlugins.properties 2005-08-18 16:50:55 UTC (rev 895) @@ -1,3 +1,4 @@ # WikiPlugin properties. Use it wise. #specifies base URL for the portal htmlTranslatorURL = http://forge.sicore.org:8080/portal/ +# htmlTranslatorURL = http://loclahost:8080/portal/ \ No newline at end of file Added: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/PortletWikiSession.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/PortletWikiSession.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/PortletWikiSession.java 2005-08-18 16:50:55 UTC (rev 895) @@ -0,0 +1,25 @@ +package org.jboss.wiki; + +import javax.portlet.PortletSession; + +public class PortletWikiSession implements WikiSession { + + PortletSession portletSession; + + public Object getAttribute(String attributeName) { + return portletSession.getAttribute(attributeName); + } + + public void setAttribute(String attributeName, Object attribute) { + portletSession.setAttribute(attributeName, attribute); + } + + public void removeAttribute(String attributeName) { + portletSession.removeAttribute(attributeName); + } + + public PortletWikiSession(PortletSession portletSession) { + this.portletSession = portletSession; + } + +} Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiContext.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiContext.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiContext.java 2005-08-18 16:50:55 UTC (rev 895) @@ -40,10 +40,12 @@ * <p></p> * */ + private WikiSession wikiSession; - public WikiContext(User user, WikiType requestedType) { + public WikiContext(User user, WikiType requestedType, WikiSession wikiSession) { this.user = user; this.requestedType = requestedType; + this.wikiSession = wikiSession; } public WikiType getRequestedType() { @@ -57,7 +59,7 @@ public WikiPage process(WikiPage wikiPage) { - return requestedType.process(wikiPage); + return requestedType.process(wikiPage, wikiSession); } Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-18 16:50:55 UTC (rev 895) @@ -312,7 +312,7 @@ WikiType wt = we.getWikiType("HTML"); - WikiContext wc = new WikiContext(null, wt); + WikiContext wc = new WikiContext(null, wt, null); WikiPage wp = new WikiPage("name", new Credentials("tomek"), "[content|ble sme]", 1, 1, new Date(), we.getMediaDataSource()); Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPlugin.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPlugin.java 2005-08-18 16:50:55 UTC (rev 895) @@ -43,7 +43,7 @@ * @return * @param content */ - public abstract WikiPage process(final WikiPage wikiPage); + public abstract WikiPage process(final WikiPage wikiPage, WikiSession wikiSession); /** * <p>Does ...</p> 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-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-18 16:50:55 UTC (rev 895) @@ -131,8 +131,20 @@ && (rReq.getUser() != null)) { page = "Edit.jsp"; - pageToShow = wikiEngine.getByName(wikiPage, wikiContext); - + pageToShow = wikiEngine.getByName(wikiPage, null); + + if (rReq.getParameter("version") != null) { + // show previous version of page + System.out.println("Getting page " + wikiPage + " at version " + + rReq.getParameter("version")); + pageToShow = wikiEngine.getByName(wikiPage, null, + Integer.valueOf(rReq.getParameter("version"))); + rReq.setAttribute("showedVersion", Integer.valueOf(rReq + .getParameter("version"))); + } else { + pageToShow = wikiEngine.getByName(wikiPage, null); + } + if (pageToShow == null) { // start editing new page // wikiPage = defaultPage; @@ -182,10 +194,10 @@ if ((rReq.getParameter("action") != null) && (rReq.getParameter("action").equals("Diff"))) { wikiContext = new WikiContext(rReq.getUser(), wikiEngine - .getWikiType("DIFF")); + .getWikiType("DIFF"), new PortletWikiSession(rReq.getPortletSession())); } else { wikiContext = new WikiContext(rReq.getUser(), wikiEngine - .getWikiType("HTML")); + .getWikiType("HTML"), new PortletWikiSession(rReq.getPortletSession())); } if (rReq.getParameter("version") != null) { Added: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSession.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSession.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiSession.java 2005-08-18 16:50:55 UTC (rev 895) @@ -0,0 +1,9 @@ +package org.jboss.wiki; + +public interface WikiSession { + public Object getAttribute(String attributeName); + + public void setAttribute(String attributeName, Object attribute); + + public void removeAttribute(String attributeName); +} Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiType.java 2005-08-18 16:50:55 UTC (rev 895) @@ -123,7 +123,7 @@ * @return * @param content */ - public WikiPage process(WikiPage wikiPage) { + public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { WikiPage newPage = null; try { @@ -135,7 +135,7 @@ for (int i = 0; i < plugins.size(); i++) { System.out.println("Executing plugin: "+plugins.get(i).getName()); - newPage = (plugins.get(i)).process(newPage); + newPage = (plugins.get(i)).process(newPage, wikiSession); } return newPage; Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/DiffPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/DiffPlugin.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/DiffPlugin.java 2005-08-18 16:50:55 UTC (rev 895) @@ -4,13 +4,14 @@ import org.jboss.wiki.WikiPage; import org.jboss.wiki.WikiPlugin; +import org.jboss.wiki.WikiSession; public class DiffPlugin extends WikiPlugin { private DifferenceEngine differenceEngine; @Override - public WikiPage process(WikiPage wikiPage) { + public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { WikiPage newPage = null, prevNewPage = null; 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-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/HTMLTranslator.java 2005-08-18 16:50:55 UTC (rev 895) @@ -25,6 +25,7 @@ import org.jboss.wiki.WikiEngine; import org.jboss.wiki.WikiPage; import org.jboss.wiki.WikiPlugin; +import org.jboss.wiki.WikiSession; public class HTMLTranslator extends WikiPlugin { @@ -767,8 +768,9 @@ public void next() {} - public WikiPage process(final WikiPage wikiPage) { + public WikiPage process(final WikiPage wikiPage, WikiSession wikiSession) { //System.out.println("propertu: "+getProperty("htmlTranslatorURL")); + WikiPage newPage = null; try { Added: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/TrailPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/TrailPlugin.java 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/plugins/TrailPlugin.java 2005-08-18 16:50:55 UTC (rev 895) @@ -0,0 +1,51 @@ +package org.jboss.wiki.plugins; + +import org.jboss.wiki.WikiPage; +import org.jboss.wiki.WikiPlugin; +import org.jboss.wiki.WikiSession; + +public class TrailPlugin extends WikiPlugin { + + @Override + public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { + WikiPage newPage = null; + try { + newPage = (WikiPage) wikiPage.clone(); + } catch (CloneNotSupportedException e) { + System.err.println(e); + } + + String trail = "["+newPage.getName()+"] "; + + if (wikiSession.getAttribute("TRAIL") != null) { + String oldTrail = (String)wikiSession.getAttribute("TRAIL"); + + if (oldTrail.endsWith(trail)) { + // do not add trail if page reloads + trail = oldTrail; + } + else { + trail = oldTrail + trail; + } + } + + wikiSession.setAttribute("TRAIL", trail); + + newPage.setPageContent("Your trail: "+trail+"\n----"+newPage.getContent()); + + return newPage; + } + + @Override + public void next() { + // TODO Auto-generated method stub + + } + + @Override + public void init() { + // TODO Auto-generated method stub + + } + +} Modified: trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp =================================================================== --- trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-18 16:44:30 UTC (rev 894) +++ trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-18 16:50:55 UTC (rev 895) @@ -32,9 +32,6 @@ <hr /> -<div class="wikiTrail">Your trail: <i>TODO</i></div> - -<hr /> <% Integer showedVersion = (Integer)request.getAttribute("showedVersion"); @@ -46,7 +43,7 @@ "<td></table>\n<hr />"); } %> -<table> +<table style="width: 100%"> <tr> <td class="wikiContent"> |