Class ConfluenceActionValidatorManager


  • public class ConfluenceActionValidatorManager
    extends Object
    Copy of the XWork ActionValidatorManager that clears the context of validators before it caches them. Since validator contexts were composed of actions, this was causing action instances to end up in the cache where they would hang around forever holding onto references to the entire Spring context.

    This class makes use of a delegating validationContext. This is to prevent race conditions. It delegates to a threadlocal to ensure that any validation messages are set on the appropriate context and any information is retrieved from the correct context. As the context contains rather large (in Mb) objects, it is absolutely essential that it is set to null when the method returns.

    Contains code that is Copyright (c) 2002-2003 by OpenSymphony, used under the Apache license, original author credits included below:

    Author:
    Jason Carreira, Mark Woon
    • Field Detail

      • VALIDATION_CONFIG_SUFFIX

        protected static final String VALIDATION_CONFIG_SUFFIX
        The file suffix for any validation file.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ConfluenceActionValidatorManager

        public ConfluenceActionValidatorManager()
    • Method Detail

      • getValidators

        public static List getValidators​(Class clazz,
                                         String context)
        Returns a list of validators for the given class and context. This is the primary lookup method for validators.
        Parameters:
        clazz - the class to lookup.
        context - the context of the action class - can be null.
        Returns:
        a list of all validators for the given class and context.
      • validate

        public static void validate​(Object object,
                                    String context)
                             throws com.opensymphony.xwork.validator.ValidationException
        Validates the given object using action and its context.
        Parameters:
        object - the action to validate.
        context - the action's context.
        Throws:
        com.opensymphony.xwork.validator.ValidationException - if an error happens when validating the action.
      • validate

        public static void validate​(Object object,
                                    String context,
                                    com.opensymphony.xwork.validator.ValidatorContext validatorContext)
                             throws com.opensymphony.xwork.validator.ValidationException
        Validates an action give its context and a validation context.
        Parameters:
        object - the action to validate.
        context - the action's context.
        validatorContext -
        Throws:
        com.opensymphony.xwork.validator.ValidationException - if an error happens when validating the action.
      • buildValidatorKey

        protected static String buildValidatorKey​(Class clazz,
                                                  String context)
        Builds a key for validators - used when caching validators.
        Parameters:
        clazz - the action.
        context - the action's context.
        Returns:
        a validator key which is the class name plus context.