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 <[email protected]> Authored: Mon Aug 4 16:46:00 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> 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 {
