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
{