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 2014/08/04 16:47:47 UTC

git commit: WICKET-5660 Throw more specific exception when a component cannot be found by AutoLabelTextResolver

Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 56f8c4ca0 -> de46d5ab9


WICKET-5660 Throw more specific exception when a component cannot be found by AutoLabelTextResolver


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

Branch: refs/heads/wicket-6.x
Commit: de46d5ab95274f9d19c4d372a7f405e705e48384
Parents: 56f8c4c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Aug 4 16:46:00 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Aug 4 16:46:00 2014 +0200

----------------------------------------------------------------------
 .../apache/wicket/markup/html/form/AutoLabelResolver.java |  3 ++-
 .../wicket/markup/html/form/AutoLabelTextResolver.java    | 10 ++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/de46d5ab/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
index d3f9a2e..8e0899c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelResolver.java
@@ -23,6 +23,7 @@ import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.core.request.handler.ComponentNotFoundException;
 import org.apache.wicket.core.util.string.CssUtils;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
@@ -94,7 +95,7 @@ public class AutoLabelResolver implements IComponentResolver
 		Component component = findRelatedComponent(container, id);
 		if (component == null)
 		{
-			throw new WicketRuntimeException("Could not find form component with id '" + id +
+			throw new ComponentNotFoundException("Could not find form component with id '" + id +
 				"' while trying to resolve wicket:for attribute");
 		}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/de46d5ab/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTextResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTextResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTextResolver.java
index 7d1febf..d76688e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTextResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTextResolver.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.core.request.handler.ComponentNotFoundException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
@@ -229,10 +230,10 @@ public class AutoLabelTextResolver implements IComponentResolver
 			// We need to find a FormComponent...
 			Component related = null;
 			// ...which could be explicitly specified...
-			if (tag.getAttribute("for") != null)
+			String forAttributeValue = tag.getAttribute("for");
+			if (forAttributeValue != null)
 			{
-				Component component = AutoLabelResolver.findRelatedComponent(container,
-					tag.getAttribute("for"));
+				Component component = AutoLabelResolver.findRelatedComponent(container, forAttributeValue);
 				related = component;
 			}
 			if (related == null)
@@ -255,7 +256,8 @@ public class AutoLabelTextResolver implements IComponentResolver
 			if (related == null)
 			{
 				// ...or it might just not be available.
-				throw new IllegalStateException("no related component found for <wicket:label>");
+				String forAttr = forAttributeValue != null ? " for=\"" + forAttributeValue + "\"" : "";
+				throw new ComponentNotFoundException("no related component found for <wicket:label"+forAttr+">");
 			}
 			else
 			{