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

Misleading message in PropertyValidator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 6.18.0, 7.0.0-M4
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: