Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5692

Misleading message in PropertyValidator

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.18.0, 7.0.0-M4
    • Component/s: None
    • Labels:
      None

      Description

      in org.apache.wicket.bean.validation.PropertyValidator.java:

      if (property_ == null)
      			{
      				throw new IllegalStateException(
      					"Could not resolve Property from component: " +
      						component +
      						". Either specify the Property in the constructor or use a model that works in combination with a " +
      						IPropertyResolver.class.getSimpleName() +
      						" to resolve the Property automatically");
      			}
      

      The error message is misleading, as other causes might lead to a result of null. As PropertyResolvers can be of any type, the message should not assume any given cause, but may hint at common errors.
      In particular in my case when Using a bean Foo having a field bar of Type Bar, and a Model on an instance foo of Foo having null for field bar.

      Instead, it would be nice if the Error Message made an attempt to cast the component model to AbstractPropertyModel and print the propertyExpression, as well as the type of the modelObject, but without failure if the cast is not possible, and reporting the modelObject is null if so.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mgrigorov Martin Tzvetanov Grigorov
                Reporter:
                tkruse Thibault Kruse
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: