You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/04/15 10:26:26 UTC

wicket git commit: WICKET-5875 Log a warning when a non-orphan component is passed for standalone rendering to ComponentRenderer#renderComponent()

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 <mg...@apache.org>
Authored: Wed Apr 15 11:24:35 2015 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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);