|
From: <jbo...@li...> - 2005-08-18 11:33:56
|
Author: szimano
Date: 2005-08-17 17:58:37 -0400 (Wed, 17 Aug 2005)
New Revision: 892
Added:
trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/PageInfo.jsp
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/WikiPage.java
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java
Log:
page info prototype
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-17 18:45:39 UTC (rev 891)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-17 21:58:37 UTC (rev 892)
@@ -142,7 +142,24 @@
return null;
}
}
+
+ public WikiPage getByName(String pageName, WikiContext wikiContext, int version) {
+
+ WikiPage ret = null;
+ ret = mediaDataSource.getPageAtVersion(pageName, version);
+
+ if (ret != null) {
+ if (wikiContext != null) {
+ return wikiContext.process(ret);
+ } else {
+ return ret;
+ }
+ } else {
+ return null;
+ }
+ }
+
/**
* <p>
* Does ...
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPage.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPage.java 2005-08-17 18:45:39 UTC (rev 891)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPage.java 2005-08-17 21:58:37 UTC (rev 892)
@@ -189,8 +189,7 @@
* @param version
*/
public WikiPage getPageAtVersion(int version) {
- // your code here
- return null;
+ return mediaDataSource.getPageAtVersion(name,version);
}
/**
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-17 18:45:39 UTC (rev 891)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-17 21:58:37 UTC (rev 892)
@@ -9,6 +9,7 @@
package org.jboss.wiki;
import java.util.Date;
+import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -39,9 +40,9 @@
public void processAction(JBossActionRequest rReq, JBossActionResponse rResp) {
// wikiContext is null - to get refernece to actual page
-
- WikiContext wikiContext = null;
+ WikiContext wikiContext = null;
+
if (rReq.getParameter("action") != null) {
rResp.setRenderParameter("action", rReq.getParameter("action"));
}
@@ -58,11 +59,11 @@
WikiPage edPage = wikiEngine.getByName((String) rReq
.getParameter("editedPage"), wikiContext);
-
- if (edPage != null) { //it may be null if the page isn't saved yet
+ if (edPage != null) { // it may be null if the page isn't saved
+ // yet
edPage.unlock(rReq.getUser());
}
-
+
// saving, previewing or canceling
if (rReq.getParameter("editAction").equals("Save")) {
@@ -75,7 +76,8 @@
if (edPage == null) {
edPage = new WikiPage(rReq.getParameter("editedPage"),
- credentials, "", 0, new Date(), wikiEngine.getMediaDataSource());
+ credentials, "", 0, new Date(), wikiEngine
+ .getMediaDataSource());
}
// set new content
@@ -92,8 +94,9 @@
// save the page
edPage.save();
-
- // and finally remove old page object from memory to force reloading it
+
+ // and finally remove old page object from memory to force
+ // reloading it
wikiEngine.refreshPage(edPage.getName());
}
}
@@ -104,7 +107,8 @@
throws PortletException, java.io.IOException {
WikiPage noSuchPage = new WikiPage("", new Credentials(""),
- "There is no such page. Click on EDIT to start it.", 0, null, wikiEngine.getMediaDataSource());
+ "There is no such page. Click on EDIT to start it.", 0, null,
+ wikiEngine.getMediaDataSource());
String page = "Wiki.jsp";
@@ -130,7 +134,8 @@
// wikiPage = defaultPage;
pageToShow = new WikiPage(wikiPage, new Credentials(rReq
- .getUser().getUserName()), "", 0, new Date(), wikiEngine.getMediaDataSource());
+ .getUser().getUserName()), "", 0, new Date(),
+ wikiEngine.getMediaDataSource());
// wikiEngine.getByName(wikiPage, wikiContext);
}
@@ -147,7 +152,29 @@
+ ".<br> I won't stop you from saving, but you or he can erease each other changes. Lock will expire: ");
}
+ } else if ((rReq.getParameter("action") != null)
+ && (rReq.getParameter("action").equals("Info"))) {
+ page = "PageInfo.jsp";
+ HashMap<Integer, WikiPage> pageVersions = new HashMap<Integer, WikiPage>();
+
+ pageToShow = wikiEngine.getByName(wikiPage, null);
+
+ if (pageToShow == null) { //if somebody entered a link to info non-existing page
+ page = "Wiki.jsp";
+ try {
+ pageToShow = (WikiPage) noSuchPage.clone();
+ } catch (CloneNotSupportedException cnse) {
+ System.out.println(cnse);
+ }
+
+ pageToShow.setName(wikiPage);
+ }
+ else {
+ rReq.setAttribute("pageAtTop", pageToShow);
+ }
+
} else {
+
page = "Wiki.jsp";
wikiContext = new WikiContext(rReq.getUser(), wikiEngine
.getWikiType("HTML"));
Added: trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/PageInfo.jsp
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/PageInfo.jsp 2005-08-17 18:45:39 UTC (rev 891)
+++ trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/PageInfo.jsp 2005-08-17 21:58:37 UTC (rev 892)
@@ -0,0 +1,56 @@
+<!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+ -->
+
+<%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
+<%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="n" %>
+<%@ taglib uri="/WEB-INF/tld/forge.tld" prefix="forge" %>
+<!--<%@ taglib uri="/WEB-INF/tld/wiki.tld" prefix="wiki" %>-->
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<%@ page isELIgnored ="false" %>
+<portlet:defineObjects/>
+
+<%
+ String actionURL = (String)request.getAttribute("actionURL");
+ String wikiName = (String)request.getAttribute("wikiName");
+ //String wikiContent = (String)request.getAttribute("wikiContent");
+ String wikiPage = (String)request.getAttribute("wikiPage");
+ //java.util.Date editDate = (java.util.Date)request.getAttribute("editDate");
+ //org.jboss.wiki.Credentials author = (org.jboss.wiki.Credentials)request.getAttribute("author");
+%>
+
+<h2><%=wikiName%>/ <%=wikiPage%></h2>
+
+<hr />
+
+<div class="wikiTrail">Your trail: <i>TODO</i></div>
+
+<hr />
+
+<table>
+<tr>
+<td class="wikiContent">
+<table border="1">
+<%
+ org.jboss.wiki.WikiPage pageAtTop = (org.jboss.wiki.WikiPage)request.getAttribute("pageAtTop");
+ int topVersion = pageAtTop.getLastVersion();
+
+ out.println("<tr><td>Version</td><td>Date</td><td>Author</td><td>Size</td><td>Changes from previous</td></tr>");
+
+ for (int i = topVersion; i > 0; i--) {
+ org.jboss.wiki.WikiPage prevWikiPage = pageAtTop.getPageAtVersion(i);
+ out.println("<tr><td>"+i+"</td><td>"+prevWikiPage.getEditDate()+"</td><td>"+prevWikiPage.getLastAuthor()+"</td><td>size</td><td>changes</td>");
+ }
+%>
+</table>
+<td>
+</tr>
+<tr>
+<td class="wikiFooter">
+</td>
+</tr>
+
+</table>
+<a href="<%=actionURL%>&page=<%=wikiPage%>">Back to <%=wikiPage%></a>
|