[jboss-svn-commits] JBL Code SVN: r19517 - in labs/jbosslabs/qa/portal-extensions: binaries/maven-repo-addons/jboss and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 10 12:32:18 EDT 2008


Author: szimano
Date: 2008-04-10 12:32:18 -0400 (Thu, 10 Apr 2008)
New Revision: 19517

Added:
   labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/
   labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/
   labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/jbossweb.jar
   labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml
   labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/
   labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java
Removed:
   labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/
   labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/jbossweb.jar
   labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/LoginServlet.java
   labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java
Modified:
   labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml
   labs/jbosslabs/qa/portal-extensions/forge-ejb3/project.xml
   labs/jbosslabs/qa/portal-extensions/forge-portal-attr/project.xml
   labs/jbosslabs/qa/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java
   labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml
   labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java
   labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java
   labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiTypeLoader.java
   labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-test/.classpath
Log:
svn merge -r 19491:19516 https://svn.labs.jboss.org/labs/jbosslabs/trunk/portal-extensions .

Copied: labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss (from rev 19516, labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/jboss)

Copied: labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars (from rev 19516, labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/jboss/jars)

Deleted: labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/jbossweb.jar
===================================================================
(Binary files differ)

Copied: labs/jbosslabs/qa/portal-extensions/binaries/maven-repo-addons/jboss/jars/jbossweb.jar (from rev 19516, labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/jboss/jars/jbossweb.jar)
===================================================================
(Binary files differ)

Copied: labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml (from rev 19516, labs/jbosslabs/trunk/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml)
===================================================================
--- labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml	                        (rev 0)
+++ labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/context.xml	2008-04-10 16:32:18 UTC (rev 19517)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<Context>
+
+	<Valve className="org.jboss.forge.portal.login.LabsFormAuthenticator" authType="FORM" />
+
+   <!--
+     | Uncomment to enable CAS server based SSO authentication.
+   -->
+
+   <!--
+   <Valve className="org.jboss.portal.identity.sso.cas.CASAuthenticationValve"
+   	casLogin="https://localhost/cas/login"
+   	casValidate="https://localhost/cas/serviceValidate"
+   	casServerName="localhost"
+   	authType="FORM"
+   />
+    -->
+
+   <!--
+     | Uncomment to enable JOSSO server based SSO authentication.
+   -->
+
+   <!--
+   <Valve className="org.jboss.portal.identity.sso.josso.JOSSOLogoutValve"/>
+   -->
+
+   <!--
+     | Uncomment to enable OpenSSO server based SSO authentication.
+   -->
+
+   <!--
+   <Valve className="org.jboss.portal.identity.sso.opensso.OpenSSOAuthenticationValve"
+   	loginURL="http://www.domain.com/opensso"
+   	logoutURL="http://www.domain.com/opensso/UI/Logout"
+   	appendLoginGoto="true"
+   	appendLogoutGoto="true"
+   	authType="FORM"
+   />
+   -->
+   
+</Context>
\ No newline at end of file

Modified: labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml	2008-04-10 16:32:18 UTC (rev 19517)
@@ -32,17 +32,7 @@
    -->
 
     <!-- LABS FILTERS -->   
-    
-   <servlet>
-   	<servlet-name>loginServlet</servlet-name>
-   	<servlet-class>org.jboss.forge.portal.LoginServlet</servlet-class>
-   </servlet>
 
-   <servlet-mapping>
-   	<servlet-name>loginServlet</servlet-name>
-   	<url-pattern>/loginAction</url-pattern>
-   </servlet-mapping>
-
    <servlet>
    	<servlet-name>wrongLoginServlet</servlet-name>
    	<servlet-class>org.jboss.forge.portal.WrongLoginServlet</servlet-class>
@@ -108,7 +98,7 @@
    	<url-pattern>/*</url-pattern>
    </filter-mapping> 
 
-  <!--filter>
+<filter>
         <filter-name>wikiComRedirect</filter-name>
         <filter-class>org.jboss.forge.portal.WikiComRedirectFilter</filter-class>
         <init-param>
@@ -127,7 +117,7 @@
         <filter-name>wikiComRedirect</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping> 
-   -->
+   
     <filter>
       <filter-name>redirectFilter</filter-name>
       <filter-class>org.jboss.forge.redirect.RootRedirectFilter</filter-class>

Modified: labs/jbosslabs/qa/portal-extensions/forge-ejb3/project.xml
===================================================================
--- labs/jbosslabs/qa/portal-extensions/forge-ejb3/project.xml	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/forge-ejb3/project.xml	2008-04-10 16:32:18 UTC (rev 19517)
@@ -116,5 +116,11 @@
             <artifactId>jgroups</artifactId>
             <jar>jgroups.jar</jar>
         </dependency>
+    	
+    	<dependency>
+    		<groupId>jboss</groupId>
+    		<artifactId>jboss-jaxws</artifactId>
+    		<jar>jboss-jaxws.jar</jar>
+    	</dependency>
     </dependencies>
 </project>

Modified: labs/jbosslabs/qa/portal-extensions/forge-portal-attr/project.xml
===================================================================
--- labs/jbosslabs/qa/portal-extensions/forge-portal-attr/project.xml	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/forge-portal-attr/project.xml	2008-04-10 16:32:18 UTC (rev 19517)
@@ -5,71 +5,81 @@
   See terms of license at gnu.org. 
  -->
 <project>
-    <pomVersion>3</pomVersion>
-    <id>portal-attr</id>
-    <name>Portal attributes</name>
-    <extend>../common.xml</extend>
-    <currentVersion>1.0</currentVersion>
-    <organization>
-        <name>Adam Warski</name>
-        <url>http://mamut.net.pl</url>
-    </organization>
-    <description></description>
-    
-    <dependencies>
-        <dependency>
-	    <groupId>jboss-forge</groupId>
-	    <artifactId>forge-common</artifactId>
-	    <version>1.0</version>
-	</dependency>
-    
-	<dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>jsp-api</artifactId>
-            <version>2.0</version>
-        </dependency>
+	<pomVersion>3</pomVersion>
+	<id>portal-attr</id>
+	<name>Portal attributes</name>
+	<extend>../common.xml</extend>
+	<currentVersion>1.0</currentVersion>
+	<organization>
+		<name>Adam Warski</name>
+		<url>http://mamut.net.pl</url>
+	</organization>
+	<description>
+	</description>
 
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>2.4</version>
-        </dependency>
-	
-	<dependency>
-            <groupId>jboss</groupId>
-            <artifactId>activation</artifactId>
-            <version>1.0</version>
-            <jar>activation.jar</jar>
-        </dependency>
+	<dependencies>
+		<dependency>
+			<groupId>jboss-forge</groupId>
+			<artifactId>forge-common</artifactId>
+			<version>1.0</version>
+		</dependency>
 
-	<dependency>
-	    <groupId>jboss</groupId>
-	    <artifactId>jboss-common</artifactId>
-	    <version>1.0</version>
-	    <jar>jboss-common.jar</jar>
-	</dependency>
-	
-	<dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>jsp-api</artifactId>
+			<version>2.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>servlet-api</artifactId>
+			<version>2.4</version>
+		</dependency>
+
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>activation</artifactId>
+			<version>1.0</version>
+			<jar>activation.jar</jar>
+		</dependency>
+
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-common</artifactId>
+			<version>1.0</version>
+			<jar>jboss-common.jar</jar>
+		</dependency>
+
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jbossweb</artifactId>
+			<version>1.0</version>
+			<jar>jbossweb.jar</jar>
+		</dependency>
+
+		<dependency>
 	    <groupId>jboss</groupId>
 	    <artifactId>hibernate</artifactId>
 	    <version>3.0</version>
-	    <jar>hibernate3.jar</jar>
-	</dependency>
-	<dependency>
+			<jar>hibernate3.jar</jar>
+		</dependency>
+		
+		<dependency>
 	    <groupId>jboss</groupId>
 	    <artifactId>jboss-j2ee</artifactId>
 	    <version>3.2.3</version>
-	</dependency>
-	<dependency>
+		</dependency>
+		
+		<dependency>
 	    <groupId>jboss</groupId>
 	    <artifactId>jbosssx</artifactId>
 	    <version>3.2.3</version>
-	    <jar>jbosssx.jar</jar>
-	</dependency>
+			<jar>jbosssx.jar</jar>
+		</dependency>
 
-    </dependencies>        
+	</dependencies>
 
-    <build>
-	<sourceDirectory>src/java</sourceDirectory>
-    </build>
+	<build>
+		<sourceDirectory>src/java</sourceDirectory>
+	</build>
 </project>

Deleted: labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/LoginServlet.java
===================================================================
--- labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/LoginServlet.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/LoginServlet.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -1,46 +0,0 @@
-package org.jboss.forge.portal;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.logging.Logger;
-
-public class LoginServlet extends HttpServlet {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
-	private static final String AUTOLOGIN_NAME = "autologin";
-
-	private static final Logger log = Logger.getLogger(LoginServlet.class);
-	
-	protected void doPost(HttpServletRequest request,
-			HttpServletResponse response) throws ServletException, IOException {
-
-		// if Remember me ticked - set autlogin cookies
-		if (request.getParameter(AUTOLOGIN_NAME) != null
-				&& request.getParameter(AUTOLOGIN_NAME).equals("Remember me")) {
-			log.debug("Autologin enabled");
-			request.getSession().setAttribute(
-					AutologinFilter.REQUEST_AUTOLOGIN, true);
-		}
-		else {
-			log.debug("autologin disabled");
-		}
-
-		String url = response.encodeRedirectURL("j_security_check?j_username="
-				+ request.getParameter("j_username") + "&j_password="
-				+ request.getParameter("j_password"));
-		
-		response.sendRedirect(url);
-		
-		//request.getRequestDispatcher(url).forward(request, response);
-	}
-
-}

Copied: labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login (from rev 19516, labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login)

Deleted: labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -1,37 +0,0 @@
-package org.jboss.forge.portal.login;
-
-import java.io.IOException;
-
-import org.apache.catalina.authenticator.FormAuthenticator;
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-import org.apache.catalina.deploy.LoginConfig;
-import org.jboss.forge.portal.AutologinFilter;
-import org.jboss.logging.Logger;
-
-public class LabsFormAuthenticator extends FormAuthenticator{
-
-	private static final String AUTOLOGIN_NAME = "autologin";
-
-	private static final Logger log = Logger.getLogger(LabsFormAuthenticator.class);
-	
-	@Override
-	public boolean authenticate(Request request, Response response, LoginConfig config)
-			throws IOException {
-		
-		log.debug("labs auth valve eexecuted");
-		
-		if (request.getParameter(AUTOLOGIN_NAME) != null
-				&& request.getParameter(AUTOLOGIN_NAME).equals("Remember me")) {
-			log.debug("Autologin enabled");
-			request.getSession().setAttribute(
-					AutologinFilter.REQUEST_AUTOLOGIN, true);
-		}
-		else {
-			log.debug("autologin disabled");
-		}
-		
-		return super.authenticate(request, response, config);
-	}
-
-}

Copied: labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java (from rev 19516, labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java)
===================================================================
--- labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	                        (rev 0)
+++ labs/jbosslabs/qa/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/login/LabsFormAuthenticator.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -0,0 +1,37 @@
+package org.jboss.forge.portal.login;
+
+import java.io.IOException;
+
+import org.apache.catalina.authenticator.FormAuthenticator;
+import org.apache.catalina.connector.Request;
+import org.apache.catalina.connector.Response;
+import org.apache.catalina.deploy.LoginConfig;
+import org.jboss.forge.portal.AutologinFilter;
+import org.jboss.logging.Logger;
+
+public class LabsFormAuthenticator extends FormAuthenticator{
+
+	private static final String AUTOLOGIN_NAME = "autologin";
+
+	private static final Logger log = Logger.getLogger(LabsFormAuthenticator.class);
+	
+	@Override
+	public boolean authenticate(Request request, Response response, LoginConfig config)
+			throws IOException {
+		
+		log.debug("labs auth valve eexecuted");
+		
+		if (request.getParameter(AUTOLOGIN_NAME) != null
+				&& request.getParameter(AUTOLOGIN_NAME).equals("Remember me")) {
+			log.debug("Autologin enabled");
+			request.getSession().setAttribute(
+					AutologinFilter.REQUEST_AUTOLOGIN, true);
+		}
+		else {
+			log.debug("autologin disabled");
+		}
+		
+		return super.authenticate(request, response, config);
+	}
+
+}

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/ui/WikiEdit.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -331,7 +331,9 @@
 
 		previPage.setContent(pageContent);
 
-		return wikiEngine.getWikiType("html").process(previPage,
+		wikiEngine.refreshPage(previPage.getName(), previPage.getLangCode());
+		
+		return wikiEngine.getWikiType("htmlClear").process(previPage,
 				attributesExtractor.getWikiSession()).getContent();
 	}
 }

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/etc/WikiTypes.xml	2008-04-10 16:32:18 UTC (rev 19517)
@@ -123,6 +123,7 @@
 	</wikiType>
 	<wikiType>
 		<name>edit</name>
+		<cached>false</cached>
 		<class>org.jboss.wiki.plugins.DefaultWikiType</class>
 		<plugin>
 			<name>textAreaChange</name>
@@ -168,6 +169,7 @@
 	<wikiType>
 		<name>postedit</name>
 		<class>org.jboss.wiki.plugins.DirectReferenceWikiType</class>
+		<cached>false</cached>
 		<plugin>
 			<name>reTranslateUids</name>
 			<class>org.jboss.wiki.plugins.ReTranslateUids</class>

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -464,6 +464,10 @@
 		if (languageDataSources.get(langCode).getPages().containsKey(pageName)) {
 			languageDataSources.get(langCode).getPages().remove(pageName);
 		}
+		
+		for (WikiType wikiType : wikiTypes.values()) {
+			wikiType.invalidatePage(pageName, langCode);
+		}
 	}
 
 	public Map<String, Integer> findPages(String searchQuery, String langCode) {
@@ -853,8 +857,14 @@
 				getUid(pageName, langCode),
 				MediaDataSource.EDITABLE + MediaDataSource.VIEWABLE);
 
-		return languageDataSources.get(langCode).getMediaDataSource()
+		boolean ret = languageDataSources.get(langCode).getMediaDataSource()
 				.deletePage(getUid(pageName, langCode));
+		
+		if (ret) {
+			refreshPage(pageName, langCode);
+		}
+		
+		return ret;
 	}
 
 	public long getAttachmentSize(String pageName, String attachmentName,

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -21,6 +21,9 @@
  */
 package org.jboss.wiki;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.Vector;
 
 import org.apache.log4j.Logger;
@@ -49,24 +52,30 @@
 	 */
 	protected WikiContext wikiContext;
 
-	protected Vector<WikiPlugin> plugins = new Vector<WikiPlugin>();
-	
+	protected boolean cached;
+
+	protected List<WikiPlugin> plugins = new Vector<WikiPlugin>();
+
 	protected Logger log = Logger.getLogger(this.getClass());
 
+	protected Map<NameLangCodeKey, String> cachedPages = new HashMap<NameLangCodeKey, String>();
+
 	public void addPlugin(String pluginName, String pluginClass) {
 
 		WikiPlugin plugin = null;
 
 		try {
-			plugin = (WikiPlugin) Thread.currentThread().getContextClassLoader().loadClass(pluginClass).newInstance();
+			plugin = (WikiPlugin) Thread.currentThread()
+					.getContextClassLoader().loadClass(pluginClass)
+					.newInstance();
 		} catch (Exception e) {
-			log.error("Error while loading plugin: " + pluginName
-					+ "\nclass: " + pluginClass + "\n" + e);
+			log.error("Error while loading plugin: " + pluginName + "\nclass: "
+					+ pluginClass + "\n" + e);
 		}
 
 		if (plugin != null) {
 			plugin.setWikiType(this);
-			
+
 			plugins.add(plugin);
 
 			plugin.setWikiEngine(wikiEngine);
@@ -76,15 +85,14 @@
 			// run init() function
 			plugin.init();
 
-			log.info("Plugin added: "
-					+ pluginName + " class: " + pluginClass);
+			log.info("Plugin added: " + pluginName + " class: " + pluginClass);
 		}
 
 	}
 
 	/**
 	 * <p>
-	 * Processes given WikiPage with the apropriate plugins, connected to this
+	 * Processes given WikiPage with the appropriate plugins, connected to this
 	 * WikiType
 	 * </p>
 	 * 
@@ -111,11 +119,22 @@
 			}
 		}
 
-		// execute the plugins
-		for (int i = 0; i < plugins.size(); i++) {
-			// log.info("Executing plugin:
-			// "+plugins.get(i).getName());
-			newPage = (plugins.get(i)).process(newPage, wikiSession);
+		NameLangCodeKey key = new NameLangCodeKey(wikiPage.getName(), wikiPage
+				.getLangCode());
+
+		// if page is cached, just change it's content
+		if (cached && cachedPages.get(key) != null) {
+			newPage.setContent(cachedPages.get(key));
+		} else {
+			// if not - execute the plugins
+			for (int i = 0; i < plugins.size(); i++) {
+				// log.info("Executing plugin:
+				// "+plugins.get(i).getName());
+				newPage = (plugins.get(i)).process(newPage, wikiSession);
+			}
+
+			if (cached)
+				cachedPages.put(key, newPage.getContent());
 		}
 
 		// clear session attributes passed in uri
@@ -127,9 +146,9 @@
 				i++;
 			}
 
-		// remove ALL temp variables for this session (as they are RELLLY temp)
+		// remove ALL temp variables for this session (as they are REALLY temp)
 		newPage.clearTempVariables(wikiSession);
-		
+
 		return newPage;
 	}
 
@@ -157,4 +176,39 @@
 	public String getCharacterEncoding() {
 		return "UTF-8";
 	}
+
+	public void invalidatePage(String pageName, String langCode) {
+		if (cached)
+			cachedPages.remove(new NameLangCodeKey(pageName, langCode));
+	}
+
+	public void setCached(boolean wikiTypeCached) {
+		cached = wikiTypeCached;
+	}
 }
+
+class NameLangCodeKey {
+	public String name, langCode;
+
+	public NameLangCodeKey(String name, String langCode) {
+		this.name = name;
+		this.langCode = langCode;
+	}
+
+	public boolean equals(Object o) {
+		if (o == null)
+			return false;
+
+		if (o instanceof NameLangCodeKey) {
+			NameLangCodeKey n = (NameLangCodeKey) o;
+
+			return name.equals(n.name) && langCode.equals(n.langCode);
+		}
+
+		return false;
+	}
+
+	public int hashCode() {
+		return name.hashCode() + langCode.hashCode();
+	}
+}

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiTypeLoader.java
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiTypeLoader.java	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiTypeLoader.java	2008-04-10 16:32:18 UTC (rev 19517)
@@ -39,6 +39,8 @@
 
 			String wikiTypeName = null;
 
+			boolean wikiTypeCached = true;
+			
 			Node wikiTypeNode = wikiTypes.item(i);
 
 			NodeList wikiTypeElements = wikiTypeNode.getChildNodes();
@@ -82,9 +84,13 @@
 						log.error("Cannot read plugin: name: " + pluginName
 								+ " class: " + pluginClass + " in WikiType: "
 								+ wikiType.getName());
+				} else if (elem.getNodeName().equals("cached")) {
+					wikiTypeCached = Boolean.parseBoolean(unmarshallText(elem));
 				}
 			}
 
+			wikiType.setCached(wikiTypeCached);
+			
 			wikiEngine.addWikiType(wikiType.getName(), wikiType);
 			log.info("Added WikiType: " + wikiType.getName());
 		}

Modified: labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-test/.classpath
===================================================================
--- labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-test/.classpath	2008-04-10 15:11:11 UTC (rev 19516)
+++ labs/jbosslabs/qa/portal-extensions/jbosswiki/wiki-test/.classpath	2008-04-10 16:32:18 UTC (rev 19517)
@@ -1,58 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <classpath>
-  <classpathentry excluding="" kind="src" path="src/java">
-  </classpathentry>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/log4j/jars/log4j-1.2.9.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/wiki-common/jars/wiki-common.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/jsp-api-2.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/servlet-api-2.4.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/activation.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-fileupload/jars/commons-fileupload-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-configuration/jars/commons-configuration-1.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.1.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/dom4j/jars/dom4j-1.6.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jdom/jars/jdom-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3x.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/portlet-api/jars/portlet-api-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-jmx.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-common.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-common-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-core-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-portlet-lib.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jbossall-client-3.2.3.jar">
-  </classpathentry>
-  <classpathentry kind="lib" path="/Users/tomek/java/sandbox/portal-extensions/shotoku/shotoku-base/target/shotoku-base.jar">
-  </classpathentry>
-  <classpathentry kind="lib" path="/Users/tomek/java/sandbox/portal-extensions/shotoku/shotoku-aop/target/shotoku-aop.jar">
-  </classpathentry>
-  <classpathentry kind="var" path="MAVEN_REPO/guice/jars/guice-1.0.jar">
-  </classpathentry>
-  <classpathentry kind="output" path="target/classes">
-  </classpathentry>
-</classpath>
\ No newline at end of file
+	<classpathentry kind="src" path="src/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="MAVEN_REPO/log4j/jars/log4j-1.2.9.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/jsp-api-2.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/servlet-api-2.4.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/activation.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-fileupload/jars/commons-fileupload-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-configuration/jars/commons-configuration-1.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.1.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/dom4j/jars/dom4j-1.6.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jdom/jars/jdom-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3x.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-ejb3.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/portlet-api/jars/portlet-api-1.0.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-jmx.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jboss-common.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-common-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-core-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/portal-portlet-lib.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/jboss/jars/jbossall-client-3.2.3.jar"/>
+	<classpathentry kind="lib" path="/Users/tomek/java/sandbox/portal-extensions/shotoku/shotoku-base/target/shotoku-base.jar"/>
+	<classpathentry kind="lib" path="/Users/tomek/java/sandbox/portal-extensions/shotoku/shotoku-aop/target/shotoku-aop.jar"/>
+	<classpathentry kind="var" path="MAVEN_REPO/guice/jars/guice-1.0.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/wiki-common"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>




More information about the jboss-svn-commits mailing list