[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