com.atlassian.confluence.xwork
Class ConfluenceActionValidatorManager

java.lang.Object
  extended by com.atlassian.confluence.xwork.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 Summary
protected static String VALIDATION_CONFIG_SUFFIX
          The file suffix for any validation file.
 
Constructor Summary
ConfluenceActionValidatorManager()
           
 
Method Summary
protected static String buildValidatorKey(Class clazz, String context)
          Builds a key for validators - used when caching validators.
static List getValidators(Class clazz, String context)
          Returns a list of validators for the given class and context.
static void validate(Object object, String context)
          Validates the given object using action and its context.
static void validate(Object object, String context, com.opensymphony.xwork.validator.ValidatorContext validatorContext)
          Validates an action give its context and a validation context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


Copyright © 2003-2012 Atlassian. All Rights Reserved.