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"> |