Repository: wicket Updated Branches: refs/heads/wicket-6.x 273814a95 -> 9fb49a898
WICKET-5875 Log a warning when a non-orphan component is passed for standalone rendering to ComponentRenderer#renderComponent() (cherry picked from commit f2bc2ba0985352c44a416f9174f01e88e87f53e5) Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/9fb49a89 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/9fb49a89 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/9fb49a89 Branch: refs/heads/wicket-6.x Commit: 9fb49a898d5dd176b55cc827beafc246fa0055e9 Parents: 273814a 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:27:21 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/9fb49a89/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 1c0131e..c86e0c9 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,19 +30,23 @@ 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); + /** * The id to use when rendering a component * @deprecated Not used since WICKET-5232 (6.9.0) */ @Deprecated public static final String COMP_ID = "compId"; - + /** * Collects the html generated by the rendering of a page. * @@ -73,13 +77,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. @@ -94,6 +99,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);
