WICKET-4557 FilteringHeaderResponse#getContent() ignores any configured 
IHeaderResponseDecorator

Revert the previous change.
IHeaderResponseDecorator should not be used because it may use resource 
filtering and this will lead to StackOverlowError between 
FilteringHeaderResponse#close() and FilteringHeaderResponse#getContent(String)


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7f801377
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7f801377
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7f801377

Branch: refs/heads/master
Commit: 7f80137735013aad7523faf43e5305a11c030232
Parents: 7eef3be
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Wed May 16 09:06:11 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Wed May 16 09:09:15 2012 +0200

----------------------------------------------------------------------
 .../head/filter/FilteringHeaderResponse.java       |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/7f801377/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
index 9b05c04..81d6f66 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
@@ -21,11 +21,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.wicket.Application;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.ResourceAggregator;
 import org.apache.wicket.markup.head.internal.HeaderResponse;
 import org.apache.wicket.markup.html.DecoratingHeaderResponse;
 import org.apache.wicket.request.Response;
@@ -176,6 +176,7 @@ public class FilteringHeaderResponse extends 
DecoratingHeaderResponse
                // write the stuff that was actually supposed to be in the 
header to the
                // response, which is used by the built-in HtmlHeaderContainer 
to get
                // its contents
+
                CharSequence headerContent = getContent(headerFilterName);
                RequestCycle.get().getResponse().write(headerContent);
                // must make sure our super (and with it, the wrapped response) 
get closed:
@@ -207,14 +208,14 @@ public class FilteringHeaderResponse extends 
DecoratingHeaderResponse
                        }
                };
 
-               IHeaderResponse headerResponseDecorated = 
Application.get().decorateHeaderResponse(headerRenderer);
+               ResourceAggregator resourceAggregator = new 
ResourceAggregator(headerRenderer);
 
                for (HeaderItem curItem : resp)
                {
-                       headerResponseDecorated.render(curItem);
+                       resourceAggregator.render(curItem);
                }
 
-               headerRenderer.close();
+               resourceAggregator.close();
 
                return strResponse.getBuffer();
        }

Reply via email to