You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/08/15 15:40:22 UTC
wicket git commit: WICKET-5960 remove PartialHtmlHeaderContainer from
page after writing to the response
Repository: wicket
Updated Branches:
refs/heads/master 02d586477 -> a9056384f
WICKET-5960 remove PartialHtmlHeaderContainer from page after writing to the response
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a9056384
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a9056384
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a9056384
Branch: refs/heads/master
Commit: a9056384f018e10e6d7cfc0af674057f6660d906
Parents: 02d5864
Author: Sven Meier <sv...@apache.org>
Authored: Sat Aug 15 15:39:52 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Sat Aug 15 15:39:52 2015 +0200
----------------------------------------------------------------------
.../html/internal/HtmlHeaderContainer.java | 8 ---
.../apache/wicket/page/PartialPageUpdate.java | 65 +++++++++-----------
2 files changed, 28 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/a9056384/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
index 73aa021..e906560 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
@@ -321,14 +321,6 @@ public class HtmlHeaderContainer extends TransparentWebMarkupContainer
headerResponse = null;
}
- @Override
- protected void onDetach() {
- super.onDetach();
-
- renderedComponentsPerScope = null;
- headerResponse = null;
- }
-
/**
* Factory method for creating header response
*
http://git-wip-us.apache.org/repos/asf/wicket/blob/a9056384/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java b/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java
index 1817f9d..744473e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java
+++ b/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java
@@ -149,27 +149,35 @@ public abstract class PartialPageUpdate
*/
public void writeTo(final Response response, final String encoding)
{
- writeHeader(response, encoding);
+ try {
+ writeHeader(response, encoding);
- onBeforeRespond(response);
+ onBeforeRespond(response);
- // process added components
- writeComponents(response, encoding);
+ // process added components
+ writeComponents(response, encoding);
- onAfterRespond(response);
+ onAfterRespond(response);
- // queue up prepend javascripts. unlike other steps these are executed out of order so that
- // components can contribute them from inside their onbeforerender methods.
- writePriorityEvaluations(response, prependJavaScripts);
+ // queue up prepend javascripts. unlike other steps these are executed out of order so that
+ // components can contribute them from inside their onbeforerender methods.
+ writePriorityEvaluations(response, prependJavaScripts);
- // execute the dom ready javascripts as first javascripts
- // after component replacement
- List<CharSequence> evaluationScripts = new ArrayList<>();
- evaluationScripts.addAll(domReadyJavaScripts);
- evaluationScripts.addAll(appendJavaScripts);
- writeNormalEvaluations(response, evaluationScripts);
+ // execute the dom ready javascripts as first javascripts
+ // after component replacement
+ List<CharSequence> evaluationScripts = new ArrayList<>();
+ evaluationScripts.addAll(domReadyJavaScripts);
+ evaluationScripts.addAll(appendJavaScripts);
+ writeNormalEvaluations(response, evaluationScripts);
- writeFooter(response, encoding);
+ writeFooter(response, encoding);
+ } finally {
+ if (header != null) {
+ // restore a normal header
+ page.replace(new HtmlHeaderContainer(HtmlHeaderSectionHandler.HEADER_ID));
+ header = null;
+ }
+ }
}
/**
@@ -470,9 +478,8 @@ public abstract class PartialPageUpdate
// create the htmlheadercontainer if needed
if (header == null)
{
- header = new PartialHtmlHeaderContainer(this);
- final Page parentPage = component.getPage();
- parentPage.addOrReplace(header);
+ header = new PartialHtmlHeaderContainer();
+ page.addOrReplace(header);
}
RequestCycle requestCycle = component.getRequestCycle();
@@ -492,7 +499,6 @@ public abstract class PartialPageUpdate
}
writeHeaderContribution(response);
-
headerRendering = false;
}
@@ -511,22 +517,19 @@ public abstract class PartialPageUpdate
*
* @author Matej Knopp
*/
- private static class PartialHtmlHeaderContainer extends HtmlHeaderContainer
+ private class PartialHtmlHeaderContainer extends HtmlHeaderContainer
{
private static final long serialVersionUID = 1L;
- private transient PartialPageUpdate update;
-
/**
* Constructor.
*
* @param update
* the partial page update
*/
- public PartialHtmlHeaderContainer(final PartialPageUpdate update)
+ public PartialHtmlHeaderContainer()
{
super(HtmlHeaderSectionHandler.HEADER_ID);
- this.update = update;
}
/**
@@ -536,19 +539,7 @@ public abstract class PartialPageUpdate
@Override
protected IHeaderResponse newHeaderResponse()
{
- if (update != null)
- {
- return update.getHeaderResponse();
- }
-
- return super.newHeaderResponse();
- }
-
- @Override
- protected void onDetach()
- {
- super.onDetach();
- update = null;
+ return PartialPageUpdate.this.getHeaderResponse();
}
}