[jboss-svn-commits] JBL Code SVN: r11105 - in labs/jbosslabs/trunk/portal-extensions: forge-portal-attr/src/java/org/jboss/forge/portal and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 18 20:15:10 EDT 2007


Author: szimano
Date: 2007-04-18 20:15:09 -0400 (Wed, 18 Apr 2007)
New Revision: 11105

Modified:
   labs/jbosslabs/trunk/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml
   labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/CharResponseWrapper.java
   labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/InjectLoginLinks.java
   labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/MetaMoveFilter.java
   labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/TitleChangeFilter.java
Log:
filters fixed

Modified: labs/jbosslabs/trunk/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml	2007-04-18 22:31:00 UTC (rev 11104)
+++ labs/jbosslabs/trunk/portal-extensions/configuration/to-copy/server/default/deploy/jboss-portal.sar/portal-server.war/WEB-INF/web.xml	2007-04-19 00:15:09 UTC (rev 11105)
@@ -92,7 +92,8 @@
       <url-pattern>/*</url-pattern>
    </filter-mapping>
 
-   <!-- DOESN'T WORK <filter>
+   <!-- DOESN'T WORK -->
+   <filter>
       <filter-name>titleAndTimestampFilter</filter-name>
       <filter-class>org.jboss.forge.portal.TitleChangeFilter</filter-class>
    </filter>
@@ -100,9 +101,10 @@
    <filter-mapping>
       <filter-name>titleAndTimestampFilter</filter-name>
       <url-pattern>/*</url-pattern>
-   </filter-mapping>-->
+   </filter-mapping>
 
-   <!-- DOESN'T WORK <filter>
+   <!-- DOESN'T WORK-->
+   <filter>
       <filter-name>injectLoginLinkFilter</filter-name>
       <filter-class>org.jboss.forge.portal.InjectLoginLinks</filter-class>
    </filter>
@@ -110,7 +112,7 @@
    <filter-mapping>
       <filter-name>injectLoginLinkFilter</filter-name>
       <url-pattern>/*</url-pattern>
-   </filter-mapping>-->
+   </filter-mapping>
 
    <filter>
 	<filter-name>autologinFilter</filter-name>
@@ -122,7 +124,8 @@
       <url-pattern>/*</url-pattern>
    </filter-mapping>
 
-   <!-- DOESN'T WORK <filter>
+   <!-- DOESN'T WORK -->
+   <filter>
       <filter-name>moveMeta</filter-name>
       <filter-class>org.jboss.forge.portal.MetaMoveFilter</filter-class>
    </filter>
@@ -130,7 +133,7 @@
    <filter-mapping>
       <filter-name>moveMeta</filter-name>
       <url-pattern>/*</url-pattern>
-   </filter-mapping>-->
+   </filter-mapping>
 
     <!-- SSL Processor -->
    <filter>

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/CharResponseWrapper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/CharResponseWrapper.java	2007-04-18 22:31:00 UTC (rev 11104)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/CharResponseWrapper.java	2007-04-19 00:15:09 UTC (rev 11105)
@@ -21,25 +21,82 @@
  */
 package org.jboss.forge.portal;
 
+import java.io.ByteArrayOutputStream;
 import java.io.CharArrayWriter;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
 
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
 public class CharResponseWrapper extends HttpServletResponseWrapper {
 	private CharArrayWriter output;
-
+	private String contentType;
+	private ByteArrayOutputStream stream;
+	
 	public String toString() {
-		return output.toString();
+		if (output != null) {
+			return output.toString();
+		}
+		else {
+			try {
+				return convertStream();
+			} catch (UnsupportedEncodingException e) {
+				throw new RuntimeException("Encoding not supported: "+getCharacterEncoding(), e);
+			}
+		}
 	}
 
+	private String convertStream() throws UnsupportedEncodingException {
+		return stream.toString(getCharacterEncoding());
+	}
+
 	public CharResponseWrapper(HttpServletResponse response) {
 		super(response);
 		output = new CharArrayWriter();
+		contentType = super.getContentType();
 	}
 
-	public PrintWriter getWriter() {
+	public PrintWriter getWriter() throws IOException {
+		if (stream != null) {
+			throw new IOException("Stream initialised !");
+		}
+		
 		return new PrintWriter(output);
 	}
+
+	@Override
+	public void setContentType(String type) {
+		super.setContentType(type);
+		System.out.println("set content type: "+type);
+		contentType = type;
+	}
+	
+	public String getContentType() {
+		return contentType;
+	}
+
+	@Override
+	public ServletOutputStream getOutputStream() throws IOException {
+		if (output != null) {
+			throw new IOException("Writer initialised !");
+		}
+		
+		stream = new ByteArrayOutputStream();
+		
+		return new ServletOutputStream(){
+			
+			@Override
+			public void write(int b) throws IOException {
+				stream.write(b);
+			}
+			
+		};
+	}
+	
+	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/InjectLoginLinks.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/InjectLoginLinks.java	2007-04-18 22:31:00 UTC (rev 11104)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/InjectLoginLinks.java	2007-04-19 00:15:09 UTC (rev 11105)
@@ -77,12 +77,21 @@
 				&& wrapper.getContentType().startsWith("text/html")) {
 
 			PrintWriter out = response.getWriter();
+			
+			String output = injectLoginLink(wrapper.toString(), uri, hReq
+					.getUserPrincipal());
 
-			out.write(injectLoginLink(wrapper.toString(), uri, hReq
-					.getUserPrincipal()));
+			out.write(output);
 
 			out.close();
 		}
+		else {
+			PrintWriter out = response.getWriter();
+
+			out.write(wrapper.toString());
+
+			out.close();
+		}
 	}
 
 	private String injectLoginLink(String content, String uri,

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/MetaMoveFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/MetaMoveFilter.java	2007-04-18 22:31:00 UTC (rev 11104)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/MetaMoveFilter.java	2007-04-19 00:15:09 UTC (rev 11105)
@@ -65,6 +65,13 @@
 
 			out.close();
 		}
+		else {
+			PrintWriter out = response.getWriter();
+
+			out.write(wrapper.toString());
+
+			out.close();
+		}
 	}
 
 	private String moveAllMeta(String content) {

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/TitleChangeFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/TitleChangeFilter.java	2007-04-18 22:31:00 UTC (rev 11104)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/TitleChangeFilter.java	2007-04-19 00:15:09 UTC (rev 11105)
@@ -76,6 +76,13 @@
 			
 			out.close();
 		} 
+		else {
+			PrintWriter out = response.getWriter();
+
+			out.write(wrapper.toString());
+
+			out.close();
+		}
 	}
 
 	private void setTimestamp(String uri, HttpServletResponse resp) {




More information about the jboss-svn-commits mailing list