[jboss-svn-commits] JBL Code SVN: r9461 - in labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki: src/java/org and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 12 18:43:47 EST 2007


Author: szimano
Date: 2007-02-12 18:43:47 -0500 (Mon, 12 Feb 2007)
New Revision: 9461

Added:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_attach.xhtml
Removed:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/apache/
Modified:
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/project.xml
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/helper/WikiHelper.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/faces-config.xml
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/web.xml
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_template.xhtml
   labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml
Log:
wiki attach

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/project.xml	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/project.xml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -65,8 +65,11 @@
 	    <dependency>
 	        <groupId>commons-fileupload</groupId>
 	        <artifactId>commons-fileupload.jar</artifactId>
-	        <version>1.0</version>
-	        <jar>commons-fileupload-1.0.jar</jar>
+	        <version>1.1</version>
+	        <jar>commons-fileupload-1.1.jar</jar>
+	        <properties>
+      			<war.bundle>true</war.bundle>
+      		</properties>
 	    </dependency>
 	    
 	    <dependency>
@@ -139,12 +142,20 @@
       		<groupId>myfaces</groupId>
       		<artifactId>myfaces-api</artifactId>
       		<version>1.1.4</version>
-    		</dependency>
+    	</dependency>
 	    <dependency>
 	      	<groupId>myfaces</groupId>
 	      	<artifactId>myfaces-impl</artifactId>
 	      	<version>1.1.4</version>
 	    </dependency>
+	    <dependency>
+	      	<groupId>myfaces</groupId>
+	      	<artifactId>tomahawk</artifactId>
+	      	<version>1.1.3</version>
+	      	<properties>
+      			<war.bundle>true</war.bundle>
+      		</properties>
+	    </dependency>
 	    
 	    <dependency>
 	      	<groupId>myfaces</groupId>

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortletOld.java	2007-02-12 23:43:47 UTC (rev 9461)
@@ -41,7 +41,7 @@
 
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.PortletDiskFileUpload;
+import org.apache.commons.fileupload.portlet.PortletFileUpload;
 import org.jboss.logging.Logger;
 import org.jboss.wiki.exceptions.EditSessionExpired;
 import org.jboss.wiki.exceptions.EditingNotAllowedException;
@@ -121,15 +121,12 @@
 
 		WikiContext wikiContext = null;
 
-		if (PortletDiskFileUpload.isMultipartContent(rReq)) {
-			PortletDiskFileUpload dfu = new PortletDiskFileUpload();
+		if (PortletFileUpload.isMultipartContent(rReq)) {
+			PortletFileUpload dfu = new PortletFileUpload();
 
 			// maximum allowed file upload size (10 MB)
 			dfu.setSizeMax(10 * 1000 * 1000);
 
-			// maximum size in memory (vs disk) (100 KB)
-			dfu.setSizeThreshold(100 * 1000);
-
 			try {
 				// get the FileItems
 				List fileItems = dfu.parseRequest(rReq);

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/helper/WikiHelper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/helper/WikiHelper.java	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/helper/WikiHelper.java	2007-02-12 23:43:47 UTC (rev 9461)
@@ -22,6 +22,10 @@
 
 package org.jboss.wiki.helper;
 
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIOutput;
 import javax.faces.component.html.HtmlOutputText;
@@ -54,6 +58,8 @@
 
 	private static final String WIKI_COMMON_SESSION = "#{wikiCommon}";
 
+	private static final String BUNDLE_NAME = "Messages";
+
 	public static WikiEngine getWikiEngine() {
 		if (wikiEngine == null) {
 			try {
@@ -111,4 +117,24 @@
 		return (WikiCommonSession) fc.getApplication().createValueBinding(
 				WIKI_COMMON_SESSION).getValue(fc);
 	}
+	
+	public static void addMessage(String message) {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		facesContext.addMessage(null, new FacesMessage(message));
+	}
+	
+	public static String getMessage(String key) {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		String resourceStr;
+		
+		try {
+			ResourceBundle messages = ResourceBundle.getBundle(BUNDLE_NAME, facesContext.getViewRoot().getLocale());
+			resourceStr = messages.getString(key);
+		} catch (MissingResourceException e) {
+			log.error(e.getMessage(), e);
+			return key;
+		}
+		
+		return resourceStr;
+	}	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiCommonSession.java	2007-02-12 23:43:47 UTC (rev 9461)
@@ -44,8 +44,10 @@
 	
 	private int pageToDiff;
 	
+	private AttributesExtractor attrExtractor;
+	
 	public WikiCommonSession() {
-		AttributesExtractor attrExtractor = WikiHelper.getAttributesExtractor(WikiHelper.getRequest(),
+		attrExtractor = WikiHelper.getAttributesExtractor(WikiHelper.getRequest(),
 				WikiHelper.getResponse());
 		
 		update(attrExtractor);
@@ -83,4 +85,8 @@
 	public void setPageToDiff(int pageToDiff) {
 		this.pageToDiff = pageToDiff;
 	}
+	
+	public boolean isUserLoggedIn() {
+		return attrExtractor.getCredentials().isLoggedIn();
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java	2007-02-12 23:43:47 UTC (rev 9461)
@@ -22,6 +22,9 @@
 
 package org.jboss.wiki.ui;
 
+import java.io.IOException;
+
+import org.apache.myfaces.custom.fileupload.UploadedFile;
 import org.jboss.logging.Logger;
 import org.jboss.wiki.WikiContext;
 import org.jboss.wiki.WikiEngine;
@@ -47,6 +50,8 @@
 	private Integer editSessionId;
 
 	private String pageContent;
+	
+	private UploadedFile newFile;
 
 	public WikiEdit() {
 		attributesExtractor = WikiHelper.getAttributesExtractor(WikiHelper
@@ -107,4 +112,26 @@
 	public void setEditSessionId(String editSessionId) {
 		this.editSessionId = Integer.valueOf(editSessionId);
 	}
+
+	public UploadedFile getNewFile() {
+		return newFile;
+	}
+
+	public void setNewFile(UploadedFile newFile) {
+		this.newFile = newFile;
+	}
+	
+	public String addFile() {
+		WikiEngine wikiEngine = WikiHelper.getWikiEngine();
+		
+		try {
+			wikiEngine.addAttachment(newFile.getInputStream(), newFile.getName(), getWikiPage(), attributesExtractor.getCredentials().getName(), WikiHelper.getWikiCommonSession()
+					.getLangCode());
+		} catch (IOException e) {
+			log.error(e);
+			WikiHelper.addMessage(WikiHelper.getMessage("upload_error"));
+		}
+		
+		return "goback";
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiView.java	2007-02-12 23:43:47 UTC (rev 9461)
@@ -25,6 +25,9 @@
 import java.util.List;
 import java.util.Vector;
 
+import javax.faces.context.FacesContext;
+
+import org.apache.myfaces.config.impl.digester.elements.FacesConfig;
 import org.jboss.logging.Logger;
 import org.jboss.wiki.WikiCommon;
 import org.jboss.wiki.WikiContext;
@@ -43,6 +46,8 @@
 public class WikiView {
 	private static final Logger log = Logger.getLogger(WikiView.class);
 
+	private static final Object TYPE_PARAM = "type";
+
 	private AttributesExtractor attrExtractor;
 
 	private WikiPage currentPage;
@@ -52,6 +57,8 @@
 				.getRequest(), WikiHelper.getResponse());
 
 		WikiHelper.getWikiCommonSession().update(attrExtractor);
+		
+		getCurrentPage();
 	}
 
 	public String getWikiImagesURL() {
@@ -59,6 +66,21 @@
 				+ WikiCommon.wikiButtons + "/";
 	}
 
+	public String getRssURL() {
+		return attrExtractor.getHostURL() + attrExtractor.getAppContext() + "/"
+				+ "rss" + "/" + currentPage.getName();
+	}
+
+	public String getRdfURL() {
+		return attrExtractor.getHostURL() + attrExtractor.getAppContext() + "/"
+				+ "rdf" + "/" + currentPage.getName();
+	}
+
+	public String getAtomURL() {
+		return attrExtractor.getHostURL() + attrExtractor.getAppContext() + "/"
+				+ "atom" + "/" + currentPage.getName();
+	}
+
 	public String getWikiFriendlyURL() {
 		return attrExtractor.getHostURL() + attrExtractor.getAppContext() + "/"
 				+ WikiHelper.getWikiCommonSession().getPageName();
@@ -87,13 +109,13 @@
 	}
 
 	private WikiPage getCurrentPage() {
-		
-		String type = "html";
-		
+
+		String type = getType();
+
 		if (attrExtractor.getType() != null) {
 			type = attrExtractor.getType();
 		}
-		
+
 		if (currentPage == null) {
 			WikiType wikiType = WikiHelper.getWikiEngine().getWikiType(type);
 			WikiContext wikiContext = new WikiContext(attrExtractor
@@ -118,6 +140,19 @@
 		return currentPage;
 	}
 
+	private String getType() {
+		String type = "html";
+
+		if (FacesContext.getCurrentInstance().getExternalContext()
+				.getRequestParameterMap().get(TYPE_PARAM) != null) {
+			type = (String) FacesContext.getCurrentInstance()
+					.getExternalContext().getRequestParameterMap().get(
+							TYPE_PARAM);
+		}
+
+		return type;
+	}
+
 	public List<HistoryElement> getHistoryTable() {
 		List<HistoryElement> hisList = new Vector<HistoryElement>();
 
@@ -137,12 +172,13 @@
 
 	public boolean isOtherVersion() {
 		if (WikiHelper.getWikiCommonSession().getPageVersion() != null) {
-			if (getCurrentPage().getLastVersion() != WikiHelper.getWikiCommonSession().getPageVersion()) {
+			if (getCurrentPage().getLastVersion() != WikiHelper
+					.getWikiCommonSession().getPageVersion()) {
 				return true;
 			}
 		}
-		
+
 		return false;
 	}
-	
+
 }

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/Messages.properties	2007-02-12 23:43:47 UTC (rev 9461)
@@ -2,8 +2,17 @@
 edit_cancel = Cancel
 edit_save = Save
 permaLinkButton = permaLinkButton.png
+
 editButton = editButton.png
+recentButton = recentChanges.gif
 historyButton = historyButton.png
+attachButton = attachButton.png
+
+rssButton = RSSButton.gif
+rdfButton = RDFButton.gif
+atomButton = ATOMButton.gif
+
+
 historytitle = History of page :
 version = Version
 date = Date
@@ -14,4 +23,7 @@
 thisIsVer = This is version
 ofPage = of page
 changesBetween = Changes between versions
-andChng = and
\ No newline at end of file
+andChng = and
+
+addFile = Add file
+upload_error = File couldn't have been uploaded

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/faces-config.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/faces-config.xml	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/faces-config.xml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -14,7 +14,6 @@
         <locale-config>
             <default-locale>en</default-locale>
         </locale-config>
-        <action-listener>org.jboss.wiki.autorization.AuthorizationListener</action-listener>
     </application>
     
     <managed-bean>
@@ -47,14 +46,14 @@
             <from-outcome>edit</from-outcome>
             <to-view-id>/views/wiki_edit.xhtml</to-view-id>
         </navigation-case>
-    </navigation-rule>
-    
-    <navigation-rule>
-        <from-view-id>/views/wiki_view.xhtml</from-view-id>
         <navigation-case>
             <from-outcome>history</from-outcome>
             <to-view-id>/views/wiki_history.xhtml</to-view-id>
         </navigation-case>
+        <navigation-case>
+        	<from-outcome>attach</from-outcome>
+        	<to-view-id>/views/wiki_attach.html</to-view-id>
+        </navigation-case>
     </navigation-rule>
     
     <navigation-rule>

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/web.xml	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/WEB-INF/web.xml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -7,6 +7,35 @@
 
 
 <web-app>
+
+	<filter>
+		<filter-name>MyFacesExtensionsFilter</filter-name>
+		<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
+	    <init-param>
+	        <param-name>maxFileSize</param-name>
+	        <param-value>20m</param-value>
+	        <description>Set the size limit for uploaded files.
+	            Format: 10 - 10 bytes
+	                    10k - 10 KB
+	                    10m - 10 MB
+	                    1g - 1 GB
+	        </description>
+	    </init-param>
+	</filter>
+	
+	<!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  -->
+	<filter-mapping>
+	    <filter-name>MyFacesExtensionsFilter</filter-name>
+	    <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
+	    <servlet-name>Faces Servlet</servlet-name>
+	</filter-mapping>
+	
+	<!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->
+	<filter-mapping>
+	    <filter-name>MyFacesExtensionsFilter</filter-name>
+	    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
+	</filter-mapping>
+
 	<!-- Use Documents Saved as *.xhtml -->
     <context-param>
         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>

Added: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_attach.xhtml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_attach.xhtml	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_attach.xhtml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -0,0 +1,30 @@
+<div  xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:c="http://java.sun.com/jstl/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:t="http://myfaces.apache.org/tomahawk">
+<ui:composition template="wiki_template.xhtml">
+	
+    <ui:define name="content">
+    	<h:panelGroup styleClass="wikiDiff">
+       		<h:outputText value="#{wikiDiff.diff}" escape="false"/>
+		</h:panelGroup>
+		
+		<h:form>
+			<t:inputFileUpload id="file"
+            	value="#{wikiEdit.newFile}"
+            	storage="file"
+            	required="true"/>
+            <h:commandButton value="#{msg.addFile}" action="#{wikiEdit.addFile}" />
+		</h:form>
+		
+		<h:form>
+			<h:commandLink action="goback">
+				<h:outputText value="#{msg.goback}" />
+			</h:commandLink>
+		</h:form>
+    </ui:define>
+
+</ui:composition>
+</div>

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_template.xhtml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_template.xhtml	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_template.xhtml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -23,7 +23,8 @@
 	
     <f:loadBundle basename="Messages" var="msg"/>
 	
-
+	<h:messages />
+	
     <ui:insert name="content" />
     
 </body>

Modified: labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml	2007-02-12 22:59:12 UTC (rev 9460)
+++ labs/jbosslabs/trunk/portal-extensions/jbosswiki/forge-wiki/src/web/views/wiki_view.xhtml	2007-02-12 23:43:47 UTC (rev 9461)
@@ -17,7 +17,25 @@
 				</h:outputLink>
 			</h:panelGroup>
 			<h:panelGroup>
+				<h:outputLink value="#{wikiView.rssURL}">  
+					<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.rssButton}"/>
+				</h:outputLink>
+				<h:outputLink value="#{wikiView.rdfURL}">  
+					<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.rdfButton}"/>
+				</h:outputLink>
+				<h:outputLink value="#{wikiView.atomURL}">  
+					<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.atomButton}"/>
+				</h:outputLink>
 				<h:form>
+					<h:commandLink action="recentChanges">
+						<f:param name="type" value="recentChanges" />
+						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.recentButton}"/>
+					</h:commandLink>
+				</h:form>
+				<h:form rendered="#{wikiCommon.userLoggedIn}">
+					<h:commandLink action="attach">
+						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.attachButton}"/>	
+					</h:commandLink>
 					<h:commandLink action="edit">
 						<h:graphicImage value="#{wikiView.wikiImagesURL}#{msg.editButton}"/>	
 					</h:commandLink>




More information about the jboss-svn-commits mailing list