|
From: <jbo...@li...> - 2005-08-10 16:28:23
|
Author: szimano
Date: 2005-08-10 12:27:00 -0400 (Wed, 10 Aug 2005)
New Revision: 804
Modified:
trunk/forge/portal-extensions/forge-wiki/maven.xml
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/Credentials.java
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.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/WikiPage.java
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java
trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Edit.jsp
trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp
Log:
file data source for reading from the jsp structure
Modified: trunk/forge/portal-extensions/forge-wiki/maven.xml
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/maven.xml 2005-08-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/maven.xml 2005-08-10 16:27:00 UTC (rev 804)
@@ -16,4 +16,10 @@
</ant:fileset>
</ant:copy>
</goal>
+
+ <goal name="all">
+ <attainGoal name="build" />
+ <attainGoal name="deploy" />
+ </goal>
+
</project>
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/Credentials.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/Credentials.java 2005-08-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/Credentials.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -5,4 +5,17 @@
*
*/
public class Credentials {
+ private String name;
+
+ public Credentials(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
}
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -1,54 +1,255 @@
- package org.jboss.wiki;
+package org.jboss.wiki;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.util.Date;
+import java.util.Properties;
+
/**
- * <p></p>
+ * <p>
+ * </p>
*
*/
public class FileDataSource implements MediaDataSource {
-/**
- * <p>Represents ...</p>
- *
- */
- private String pathToMedia;
+ /**
+ * <p>
+ * Represents ...
+ * </p>
+ *
+ */
+ private final String propFileName = "/home/tomek/java/sandbox/new_svn/trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/filedatasource.properties";
-public boolean preSave() {
- // TODO Auto-generated method stub
- return false;
-}
+ private String pathToMedia;
-public boolean savePage(WikiPage page, String languageCode) {
- // TODO Auto-generated method stub
- return false;
-}
+ private Properties fileDSProps;
-public boolean postSave() {
- // TODO Auto-generated method stub
- return false;
-}
+ public FileDataSource() {
+ System.out.println("Looking for props file");
-public boolean preGet() {
- // TODO Auto-generated method stub
- return false;
-}
+ fileDSProps = new Properties();
-public boolean getPage(String pageName) {
- // TODO Auto-generated method stub
- return false;
-}
+ try {
+ fileDSProps.load(new FileInputStream(new File(propFileName)));
+ } catch (IOException ioe) {
+ System.err.println("Can't load the file " + propFileName + "\n"
+ + ioe);
+ }
-public boolean postGet() {
- // TODO Auto-generated method stub
- return false;
-}
+ loadProperties();
-public boolean getPage(String pageName, String languageCode) {
- // TODO Auto-generated method stub
- return false;
-}
+ }
-public boolean save(Media media) {
- // TODO Auto-generated method stub
- return false;
+ public void loadProperties() {
+ if (fileDSProps.getProperty("pathToMedia") != null) {
+ pathToMedia = fileDSProps.getProperty("pathToMedia");
+ System.out.println("Path to media is: " + pathToMedia);
+ } else {
+ System.err
+ .println("Your properties file lacks of pathToMedia property. It will not run properly ! Please update "
+ + propFileName);
+ }
+ }
+
+ public boolean preSave() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean savePage(WikiPage page, String languageCode) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean postSave() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean preGet() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Properties getPageProps(String pageName) {
+ Properties pageProps = new Properties();
+
+ try {
+ pageProps.load(new FileInputStream(new File(pathToMedia + "/OLD/"
+ + pageName + "/page.properties")));
+ } catch (IOException ioe) {
+ System.err.println("Cannot read page.properties for page: "
+ + pageName + " file: " + pathToMedia + "/OLD/" + pageName
+ + "/page.properties\n" + ioe);
+ return null;
+ }
+
+ return pageProps;
+ }
+
+ public WikiPage getPage(String pageName) {
+ WikiPage page = null;
+
+ File pageFile = new File(pathToMedia + "/" + pageName + ".txt");
+
+ if (pageFile.exists()) {
+
+ Properties pageProps = getPageProps(pageName);
+
+ if (pageProps != null) {
+
+ int i = 1;
+
+ // get the author of the latest version of page
+ while (pageProps.getProperty(String.valueOf(i + 1) + ".author") != null) {
+ i++;
+ }
+
+ Credentials author = new Credentials(pageProps
+ .getProperty(String.valueOf(i) + ".author"));
+
+ String pageContent = "";
+
+ try {
+ FileInputStream input = new FileInputStream(pageFile);
+
+ int nextChr = input.read();
+
+ while (nextChr != -1) {
+ pageContent += (char) nextChr;
+ nextChr = input.read();
+ }
+ } catch (IOException ioe) {
+ System.err.println(ioe);
+ }
+
+ page = new WikiPage(pageName, author, pageContent, i,
+ new Date());
+ }
+ }
+
+ return page;
+
+ }
+
+ public boolean postGet() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public WikiPage getPage(String pageName, String languageCode) {
+ if (languageCode != null) {
+ System.out
+ .println("As for now, languages aren't supported in the wiki. Please do not use language codes");
+ }
+ // TODO Auto-generated method stub
+ return getPage(pageName);
+ }
+
+ public boolean save(Media media) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public WikiPage getPageAtVersion(String pageName, String languageCode,
+ int version) {
+ if (languageCode != null) {
+ System.out
+ .println("As for now, languages aren't supported in the wiki. Please do not use language codes");
+ }
+
+ return getPageAtVersion(pageName, version);
+ }
+
+ public WikiPage getPageAtVersion(String pageName, int version) {
+ WikiPage page = getPage(pageName);
+
+ if (page != null) {
+ if (page.getLastVersion() < version) {
+ System.out.println("There is no version " + version + " of page "
+ + pageName);
+ return null;
+ }
+
+ page.setPageContent(getContentAtVersion(pageName, version));
+
+ page.setLastAuthor(getAuthorAtVersion(pageName, version));
+
+ }
+ return page;
+ }
+
+ public String getContentAtVersion(String pageName, int version) {
+ String ret = null;
+
+ try {
+ FileInputStream input = new FileInputStream(new File(pathToMedia
+ + "/OLD/" + pageName + "/" + version + ".txt"));
+
+ int nextChr = input.read();
+
+ ret = "";
+
+ while (nextChr != -1) {
+ ret += (char) nextChr;
+ nextChr = input.read();
+ }
+ } catch (IOException ioe) {
+ System.err.println(ioe);
+ }
+
+ return ret;
+ }
+
+ public Credentials getAuthorAtVersion(String pageName, int version) {
+ return new Credentials(getPageProps(pageName).getProperty(
+ version + ".author"));
+ }
+
+ public static void main(String[] args) {
+ MediaDataSource fds = new FileDataSource();
+
+ String[] pageName = { "Rali", "Tomek", "Adam", "Dupa",
+ "WhatIsJBossForge" };
+
+ for (int i = 0; i < Array.getLength(pageName); i++) {
+ WikiPage page = fds.getPage(pageName[i]);
+
+ if (page != null) {
+ page.showPage();
+ } else {
+ System.out.println("Page " + pageName[i] + " doesn't exist");
+ }
+ }
+
+ WikiPage page = fds.getPageAtVersion("WhatIsJBossForge", 7);
+
+ if (page != null) {
+ page.showPage();
+ } else {
+ System.out
+ .println("Page WhatIsJBossForge doesn't exist at version 7");
+ }
+
+ page = fds.getPageAtVersion("Dupa", 7);
+
+ if (page != null) {
+ page.showPage();
+ } else {
+ System.out
+ .println("Page Dupa doesn't exist at version 7");
+ }
+
+ page = fds.getPageAtVersion("WhatIsJBossForge", 70);
+
+ if (page != null) {
+ page.showPage();
+ } else {
+ System.out
+ .println("Page WhatIsJBossForge doesn't exist at version 70");
+ }
+ }
+
}
- }
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -50,7 +50,7 @@
* @return
* @param pageName
*/
- public boolean getPage(String pageName);
+ public WikiPage getPage(String pageName);
/**
* <p>Does ...</p>
*
@@ -66,7 +66,11 @@
* @return
* @param languageCode
*/
- public boolean getPage(String pageName, String languageCode);
+ public WikiPage getPage(String pageName, String languageCode);
+
+ public WikiPage getPageAtVersion(String pageName, String languageCode, int version);
+
+ public WikiPage getPageAtVersion(String pageName, int version);
}
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-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiEngine.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -108,7 +108,7 @@
* @return
*/
public void init() {
- readPlugins();
+
}
/**
@@ -198,10 +198,7 @@
//return null;
}
- public void readPlugins() {
-
- }
-/**
+ /**
* <p></p>
*
*/
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-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPage.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -1,6 +1,7 @@
package org.jboss.wiki;
import java.io.Serializable;
+import java.util.Date;
/**
* <p></p>
@@ -40,7 +41,7 @@
* the plugin _must_ be the same as in the
* plugin name in plugin.xml
*/
- private String lastAuthor;
+ private Credentials lastAuthor;
/**
* <p>Represents ...</p>
@@ -52,7 +53,7 @@
* <p>Represents ...</p>
*
*/
- private java.util.Date editDate;
+ private Date editDate;
/**
* <p>Represents ...</p>
@@ -74,6 +75,8 @@
*
*/
public WikiEngine wikiEngine_1;
+
+ private String pageContent;
/**
* <p>Does ...</p>
@@ -98,8 +101,12 @@
* @param pageAuthor
* @param path
*/
- public WikiPage(String pageName, Credentials pageAuthor, String path) {
- // your code here
+ public WikiPage(String pageName, Credentials pageAuthor, String pageContent, int pageVersion, Date editDate) {
+ name = pageName;
+ lastAuthor = pageAuthor;
+ this.pageContent = pageContent;
+ lastVersion = pageVersion;
+ this.editDate = editDate;
}
/**
@@ -175,8 +182,7 @@
* @return
*/
public String getContent() {
- // your code here
- return null;
+ return getPageContent();
}
/**
@@ -201,10 +207,58 @@
// your code here
//return null;
}
+
+ public void showPage() {
+ System.out.println("Page name: "+getName());
+ System.out.println("Page author: "+getLastAuthor().getName());
+ System.out.println("Page version: "+getLastVersion());
+ System.out.println("Page editdate: "+getEditDate());
+ System.out.println("Page Content: \n"+getContent());
+ }
/**
* <p></p>
*
*/
public MediaInternalization mediaInternalization;
+
+public java.util.Date getEditDate() {
+ return editDate;
+}
+
+public void setEditDate(java.util.Date editDate) {
+ this.editDate = editDate;
+}
+
+public Credentials getLastAuthor() {
+ return lastAuthor;
+}
+
+public void setLastAuthor(Credentials lastAuthor) {
+ this.lastAuthor = lastAuthor;
+}
+
+public int getLastVersion() {
+ return lastVersion;
+}
+
+public void setLastVersion(int lastVersion) {
+ this.lastVersion = lastVersion;
+}
+
+public String getName() {
+ return name;
+}
+
+public void setName(String name) {
+ this.name = name;
+}
+
+public String getPageContent() {
+ return pageContent;
+}
+
+public void setPageContent(String pageContent) {
+ this.pageContent = pageContent;
+}
}
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-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-08-10 16:27:00 UTC (rev 804)
@@ -54,9 +54,10 @@
PortletURL newAgreementURL = rRes.createActionURL();
- rReq.setAttribute("actionURL", newAgreementURL.toString());
- rReq.setAttribute("name", "ble ble");
+ rReq.setAttribute("actionURL", newAgreementURL.toString());
+ rReq.setAttribute("wikiName", "Szimano Wiki");
+
Enumeration en = rReq.getParameterNames();
System.out.println("Parametry:");
Modified: trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Edit.jsp
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Edit.jsp 2005-08-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Edit.jsp 2005-08-10 16:27:00 UTC (rev 804)
@@ -5,15 +5,16 @@
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<%@ page isELIgnored ="false" %>
<portlet:defineObjects/>
-
-<h2>JBoss Wiki: Main</h2>
-<hr />
-
<%
String actionURL = (String)request.getAttribute("actionURL");
+ String wikiName = (String)request.getAttribute("wikiName");
%>
+<h2><%=wikiName%>: Main</h2>
+
+<hr />
+
<form method="post" action="<%=actionURL%>">
<textarea name="wikiContent" rows="40" cols="80" style="width:100%;">
<H3>Welcome to JBoss Labs</H3>
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-10 16:24:30 UTC (rev 803)
+++ trunk/forge/portal-extensions/forge-wiki/src/web/WEB-INF/jsp/Wiki.jsp 2005-08-10 16:27:00 UTC (rev 804)
@@ -6,16 +6,16 @@
<%@ page isELIgnored ="false" %>
<portlet:defineObjects/>
-<h2>JBoss Wiki: Main</h2>
+<%
+ String actionURL = (String)request.getAttribute("actionURL");
+ String wikiName = (String)request.getAttribute("wikiName");
+%>
-<h3>Page name</h3>
+<h2><%=wikiName%>: Main</h2>
+
<div class="wikiTrail">Your trail:</div>
<hr />
-<%
- String actionURL = (String)request.getAttribute("actionURL");
-%>
-
<table>
<tr>
<td class="wikiContent">
|