You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2011/01/24 10:36:56 UTC

svn commit: r1062702 - /sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java

Author: fmeschbe
Date: Mon Jan 24 09:36:56 2011
New Revision: 1062702

URL: http://svn.apache.org/viewvc?rev=1062702&view=rev
Log:
SLING-1897 Better coordinate internal output buffer handling with servlet container buffering:
  - internal commit check for resetBuffer and reset

Modified:
    sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java

Modified: sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java?rev=1062702&r1=1062701&r2=1062702&view=diff
==============================================================================
--- sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java (original)
+++ sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingHttpServletResponseImpl.java Mon Jan 24 09:36:56 2011
@@ -127,16 +127,6 @@ public class SlingHttpServletResponseImp
     //---------- SlingHttpServletResponse interface
 
     @Override
-    public void flushBuffer() throws IOException {
-        getRequestData().getContentData().flushBuffer();
-    }
-
-    @Override
-    public int getBufferSize() {
-        return getRequestData().getContentData().getBufferSize();
-    }
-
-    @Override
     public Locale getLocale() {
         // TODO Should use our Locale Resolver and not let the component set the locale, right ??
         return getResponse().getLocale();
@@ -168,18 +158,38 @@ public class SlingHttpServletResponseImp
 
     @Override
     public void reset() {
-        // TODO: integrate with our output catcher
+        if (isCommitted()) {
+            throw new IllegalStateException("Response already committed");
+        }
+        getRequestData().getContentData().resetBuffer();
         getResponse().reset();
     }
 
     @Override
+    public void flushBuffer() throws IOException {
+        getRequestData().getContentData().flushBuffer();
+        getResponse().flushBuffer();
+    }
+
+    @Override
     public void resetBuffer() {
+        if (isCommitted()) {
+            throw new IllegalStateException("Response already committed");
+        }
+
         getRequestData().getContentData().resetBuffer();
+        getResponse().resetBuffer();
     }
 
     @Override
     public void setBufferSize(int size) {
         getRequestData().getContentData().setBufferSize(size);
+        getResponse().setBufferSize(size);
+    }
+
+    @Override
+    public int getBufferSize() {
+        return getRequestData().getContentData().getBufferSize();
     }
 
     // ---------- Redirection support through PathResolver --------------------