Repository: wicket Updated Branches: refs/heads/master 5886f69e6 -> f2bc2ba09
WICKET-5875 Log a warning when a non-orphan component is passed for standalone rendering to ComponentRenderer#renderComponent() Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f2bc2ba0 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f2bc2ba0 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f2bc2ba0 Branch: refs/heads/master Commit: f2bc2ba0985352c44a416f9174f01e88e87f53e5 Parents: 5886f69 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Wed Apr 15 11:24:35 2015 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Wed Apr 15 11:24:35 2015 +0300 ---------------------------------------------------------------------- .../core/util/string/ComponentRenderer.java | 21 ++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/f2bc2ba0/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java index 52b3a82..63b1b35 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java @@ -30,12 +30,16 @@ import org.apache.wicket.request.Response; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.StringResourceStream; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A helper class for rendering components and pages */ public class ComponentRenderer -{ +{ + private static final Logger LOGGER = LoggerFactory.getLogger(ComponentRenderer.class); + /** * Collects the html generated by the rendering of a page. * @@ -66,13 +70,14 @@ public class ComponentRenderer return tempResponse.getText(); } - /** * Collects the html generated by the rendering of a component. - * - * NOTE: this method i meant to render fresh component instances that are disposed after the + * + * <p> + * NOTE: this method is meant to render fresh component instances that are disposed after the * html has been generate. To avoid unwanted side effects do not use it with components that * are from an existing hierarchy. + * </p> * * @param component * the component to render. @@ -87,6 +92,14 @@ public class ComponentRenderer MarkupContainer oldParent = component.getParent(); + if (oldParent != null && LOGGER.isWarnEnabled()) + { + LOGGER.warn("Component '{}' with a parent '{}' is passed for standalone rendering. " + + "It is recommended to render only orphan components because they are not cleaned up/detached" + + " after the rendering.", + component, oldParent); + } + try { requestCycle.setResponse(tempResponse);
