Uploaded image for project: 'XWork'
  1. XWork
  2. XW-750

buildValidators doesn't look for validators for every super class

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-beta1
    • 1.0-beta1
    • Validators
    • None

    Description

      ActionValidatorManager.buildValidators doesn't traverse up the class hierarchy looking for validators for every super class. It only get the validator for the superclass.

      The current code is :
      ...
      if (!actionClass.getSuperclass().equals(Object.class)) {
      validators.addAll(buildClassValidators(actionClass.getSuperclass(), checkFile));
      }

      validators.addAll(buildClassValidators(actionClass, checkFile));
      validators.addAll(buildAliasValidators(actionClass, invocation, checkFile));
      ...

      I think the code should look more like this :
      ...
      Class actionClass = invocation.getAction().getClass();

      // validators for the action class
      validators.addAll(buildClassValidators(actionClass, checkFile));
      validators.addAll(buildAliasValidators(actionClass, invocation, checkFile));

      // looking for validators for every super class
      actionClass = actionClass.getSuperclass();
      while (!actionClass.equals(Object.class)) {
      validators.addAll(buildClassValidators(actionClass, checkFile));
      actionClass = actionClass.getSuperclass();
      }
      ...

      Attachments

        Activity

          People

            Unassigned Unassigned
            vfaid Vincent Faidherbe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: