http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java index 7fb7ae2..deeaa1c 100644 --- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java +++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java @@ -31,81 +31,86 @@ import org.apache.logging.log4j.Logger; /** - * A timer stack. - * <p/> - * <p/> - * <p/> + * <p>A timer stack.</p> * <!-- START SNIPPET: profilingAspect_struts2 --> - * <p/> - * Struts2 profiling aspects involves the following :- - * <ul> - * <li>ActionContextCleanUp</li> - * <li>FreemarkerPageFilter</li> - * <li>DispatcherFilter</li> - * <ul> - * <li>Dispatcher</li> - * <ul> - * <li>creation of DefaultActionProxy</li> - * <ul> - * <li>creation of DefaultActionInvocation</li> - * <ul> - * <li>creation of Action</li> - * </ul> - * </ul> - * <li>execution of DefaultActionProxy</li> - * <ul> - * <li>invocation of DefaultActionInvocation</li> + * <p> + * Struts2 profiling aspects involves the following: + * </p> + * * <ul> - * <li>invocation of Interceptors</li> - * <li>invocation of Action</li> - * <li>invocation of PreResultListener</li> - * <li>invocation of Result</li> - * </ul> - * </ul> - * </ul> + * <li>ActionContextCleanUp</li> + * <li>FreemarkerPageFilter</li> + * <li>DispatcherFilter + * <ul> + * <li>Dispatcher + * <ul> + * <li>creation of DefaultActionProxy + * <ul> + * <li>creation of DefaultActionInvocation + * <ul> + * <li>creation of Action</li> + * </ul> + * </li> + * </ul> + * </li> + * <li>execution of DefaultActionProxy + * <ul> + * <li>invocation of DefaultActionInvocation + * <ul> + * <li>invocation of Interceptors</li> + * <li>invocation of Action</li> + * <li>invocation of PreResultListener</li> + * <li>invocation of Result</li> + * </ul> + * </li> + * </ul> + * </li> + * </ul> + * </li> + * </ul> + * </li> * </ul> - * </ul> - * <p/> + * * <!-- END SNIPPET: profilingAspect_struts2 --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: profilingAspect_xwork --> - * <p/> - * XWork2 profiling aspects involves the following :- - * <ul> - * <ul> - * <li>creation of DefaultActionProxy</li> - * <ul> - * <li>creation of DefaultActionInvocation</li> - * <ul> - * <li>creation of Action</li> - * </ul> - * </ul> - * <li>execution of DefaultActionProxy</li> - * <ul> - * <li>invocation of DefaultActionInvocation</li> + * <p> + * XWork2 profiling aspects involves the following: + * </p> + * * <ul> - * <li>invocation of Interceptors</li> - * <li>invocation of Action</li> - * <li>invocation of PreResultListener</li> - * <li>invocation of Result</li> - * </ul> - * </ul> + * <li>creation of DefaultActionProxy + * <ul> + * <li>creation of DefaultActionInvocation</li> + * <ul> + * </li> + * <li>creation of Action</li> + * <li>execution of DefaultActionProxy</li> + * <ul> + * <li>invocation of DefaultActionInvocation + * <ul> + * <li>invocation of Interceptors</li> + * <li>invocation of Action</li> + * <li>invocation of PreResultListener</li> + * <li>invocation of Result</li> + * </ul> + * </li> + * </ul> * </ul> - * </ul> - * <p/> + * * <!-- END SNIPPET: profilingAspect_xwork --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: activationDescription --> - * <p/> - * Activating / Deactivating of the profiling feature could be done through:- - * <p/> + * <p> + * Activating / Deactivating of the profiling feature could be done through: + * </p> * <!-- END SNIPPET: activationDescription --> - * <p/> - * <p/> - * <p/> - * System properties:- <p/> + * + * + * + * <p>System properties:</p> * <pre> * <!-- START SNIPPET: activationThroughSystemProperty --> * @@ -113,16 +118,16 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: activationThroughSystemProperty --> * </pre> - * <p/> + * * <!-- START SNIPPET: activationThroughSystemPropertyDescription --> - * <p/> + * <p> * This could be done in the container startup script eg. CATALINA_OPTS in catalina.sh - * (tomcat) or using "java -Dxwork.profile.activate=true -jar start.jar" (jetty) - * <p/> + * (tomcat) or using 'java -Dxwork.profile.activate=true -jar start.jar' (jetty) + * </p> * <!-- END SNIPPET: activationThroughSystemPropertyDescription --> - * <p/> - * <p/> - * Code :- <p/> + * + * + * <p>Code :</p> * <pre> * <!-- START SNIPPET: activationThroughCode --> * @@ -130,27 +135,25 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: activationThroughCode --> * </pre> - * <p/> - * <p/> - * <p/> * <!-- START SNIPPET: activationThroughCodeDescription --> - * <p/> - * This could be done in a static block, in a Spring bean with lazy-init="false", + * <p> + * This could be done in a static block, in a Spring bean with lazy-init='false', * in a Servlet with init-on-startup as some numeric value, in a Filter or * Listener's init method etc. - * <p/> + * </p> * <!-- END SNIPPET: activationThroughCodeDescription --> - * <p/> - * <p/> - * Parameter:- - * <p/> + * + * <p> + * Parameter: + * </p> + * * <pre> * <!-- START SNIPPET: activationThroughParameter --> * * <action ... > * ... - * <interceptor-ref name="profiling"> - * <param name="profilingKey">profiling</param> + * <interceptor-ref name="profiling"> + * <param name="profilingKey">profiling</param> * </interceptor-ref> * ... * </action> @@ -159,7 +162,7 @@ import org.apache.logging.log4j.Logger; * * <action .... > * ... - * <interceptor-ref name="profiling" /> + * <interceptor-ref name="profiling" /> * ... * </action> * @@ -169,44 +172,44 @@ import org.apache.logging.log4j.Logger; * * through code * - * ActionContext.getContext().getParameters().put("profiling", "true); + * ActionContext.getContext().getParameters().put("profiling", "true); * * <!-- END SNIPPET: activationThroughParameter --> * </pre> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: activationThroughParameterDescription --> - * <p/> + * <p> * To use profiling activation through parameter, one will need to pass in through * the 'profiling' parameter (which is the default) and could be changed through * the param tag in the interceptor-ref. - * <p/> + * </p> * <!-- END SNIPPET: activationThroughParameterDescription --> - * <p/> - * <p/> - * Warning:<p/> + * + * <p>Warning:</p> + * * <!-- START SNIPPET: activationThroughParameterWarning --> - * <p/> + * <p> * Profiling activation through a parameter requires the following: - * <p/> + * </p> + * * <ul> * <li>Profiling interceptor in interceptor stack</li> * <li>dev mode on (struts.devMode=true in struts.properties) * </ul> - * <p/> + * * <!-- END SNIPPET: activationThroughParameterWarning --> - * <p/> - * <p/> - * <p/> + * * <!-- START SNIPPET: filteringDescription --> - * <p/> + * <p> * One could filter out the profile logging by having a System property as follows. With this * 'xwork.profile.mintime' property, one could only log profile information when its execution time * exceed those specified in 'xwork.profile.mintime' system property. If no such property is specified, * it will be assumed to be 0, hence all profile information will be logged. - * <p/> + * </p> + * * <!-- END SNIPPET: filteringDescription --> - * <p/> + * * <pre> * <!-- START SNIPPET: filteringCode --> * @@ -214,17 +217,17 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: filteringCode --> * </pre> - * <p/> + * * <!-- START SNIPPET: methodDescription --> - * <p/> + * <p> * One could extend the profiling feature provided by Struts2 in their web application as well. - * <p/> + * </p> * <!-- END SNIPPET: methodDescription --> - * <p/> + * * <pre> * <!-- START SNIPPET: method1 --> * - * String logMessage = "Log message"; + * String logMessage = "Log message"; * UtilTimerStack.push(logMessage); * try { * // do some code @@ -235,34 +238,33 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: method1 --> * </pre> - * <p/> + * <p> * or - * <p/> + * </p> * <pre> * <!-- START SNIPPET: method2 --> * - * String result = UtilTimerStack.profile("purchaseItem: ", + * String result = UtilTimerStack.profile("purchaseItem: ", * new UtilTimerStack.ProfilingBlock<String>() { * public String doProfiling() { * // do some code - * return "Ok"; + * return "Ok"; * } * }); * * <!-- END SNIPPET: method2 --> * </pre> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: profileLogFile --> - * <p/> + * <p> * Profiled result is logged using commons-logging under the logger named * 'com.opensymphony.xwork2.util.profiling.UtilTimerStack'. Depending on the underlying logging implementation * say if it is Log4j, one could direct the log to appear in a different file, being emailed to someone or have * it stored in the db. - * <p/> - * <!-- END SNIPPET: profileLogFile --> + * </p> * - * @version $Date$ $Id$ + * <!-- END SNIPPET: profileLogFile --> */ public class UtilTimerStack { @@ -270,8 +272,8 @@ public class UtilTimerStack { protected static ThreadLocal<ProfilingTimerBean> current = new ThreadLocal<>(); /** - * System property that controls whether this timer should be used or not. Set to "true" activates - * the timer. Set to "false" to disactivate. + * System property that controls whether this timer should be used or not. Set to "true" activates + * the timer. Set to "false" to deactivate. */ public static final String ACTIVATE_PROPERTY = "xwork.profile.activate"; @@ -400,13 +402,16 @@ public class UtilTimerStack { /** + * <p> * A convenience method that allows <code>block</code> of code subjected to profiling to be executed * and avoid the need of coding boiler code that does pushing (UtilTimeBean.push(...)) and * poping (UtilTimerBean.pop(...)) in a try ... finally ... block. - * <p/> - * <p/> - * <p/> + * </p> + * + * <p> * Example of usage: + * </p> + * * <pre> * // we need a returning result * String result = UtilTimerStack.profile("purchaseItem: ", @@ -417,7 +422,9 @@ public class UtilTimerStack { * } * }); * </pre> + * * or + * * <pre> * // we don't need a returning result * UtilTimerStack.profile("purchaseItem: ",
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java index 9de464b..8caa039 100644 --- a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java +++ b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java @@ -87,15 +87,18 @@ public class ReflectionContextState { context.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED, clazz); } /** + * <p> * Gets the current property path but not completely. * It does not use the [ and ] used in some representations * of Maps and Lists. The reason for this is that the current * property path is only currently used for caching purposes * so there is no real reason to have an exact replica. - * - * <p/>So if the real path is myProp.myMap['myKey'] this would + * </p> + * + * <p>So if the real path is myProp.myMap['myKey'] this would * return myProp.myMap.myKey. - * + * </p> + * * @param context */ public static String getCurrentPropertyPath(Map<String, Object> context) { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java index e98f8ee..2bfac35 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java @@ -268,12 +268,12 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager /** * <p>This method 'collects' all the validator configurations for a given * action invocation.</p> - * <p/> + * * <p>It will traverse up the class hierarchy looking for validators for every super class * and directly implemented interface of the current action, as well as adding validators for * any alias of this invocation. Nifty!</p> - * <p/> - * <p>Given the following class structure: + * + * <p>Given the following class structure:</p> * <pre> * interface Thing; * interface Animal extends Thing; @@ -281,9 +281,9 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager * class AnimalImpl implements Animal; * class QuadrapedImpl extends AnimalImpl implements Quadraped; * class Dog extends QuadrapedImpl; - * </pre></p> - * <p/> - * <p>This method will look for the following config files for Dog: + * </pre> + * + * <p>This method will look for the following config files for Dog:</p> * <pre> * Animal * Animal-context @@ -295,8 +295,8 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager * QuadrapedImpl-context * Dog * Dog-context - * </pre></p> - * <p/> + * </pre> + * * <p>Note that the validation rules for Thing is never looked for because no class in the * hierarchy directly implements Thing.</p> * http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java index d9d7401..d16afcd 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java @@ -32,12 +32,16 @@ import java.util.*; /** + * <p> * This is the entry point into XWork's rule-based validation framework. - * <p/> + * </p> + * + * <p> * Validation rules are specified in XML configuration files named <code>className-contextName-validation.xml</code> where * className is the name of the class the configuration is for and -contextName is optional * (contextName is an arbitrary key that is used to look up additional validation rules for a * specific context). + * </p> * * @author Jason Carreira * @author Mark Woon @@ -127,10 +131,10 @@ public class DefaultActionValidatorManager implements ActionValidatorManager { Set<String> shortcircuitedFields = null; for (final Validator validator : validators) { - try { + try { validator.setValidatorContext(validatorContext); - LOG.debug("Running validator: {} for object {} and method {}", validator, object, method); + LOG.debug("Running validator: {} for object {} and method {}", validator, object, method); FieldValidator fValidator = null; String fullFieldName = null; @@ -234,7 +238,7 @@ public class DefaultActionValidatorManager implements ActionValidatorManager { * and directly implemented interface of the current action, as well as adding validators for * any alias of this invocation. Nifty!</p> * - * <p>Given the following class structure: + * <p>Given the following class structure:</p> * <pre> * interface Thing; * interface Animal extends Thing; @@ -242,9 +246,9 @@ public class DefaultActionValidatorManager implements ActionValidatorManager { * class AnimalImpl implements Animal; * class QuadrapedImpl extends AnimalImpl implements Quadraped; * class Dog extends QuadrapedImpl; - * </pre></p> + * </pre> * - * <p>This method will look for the following config files for Dog: + * <p>This method will look for the following config files for Dog:</p> * <pre> * Animal * Animal-context @@ -256,7 +260,7 @@ public class DefaultActionValidatorManager implements ActionValidatorManager { * QuadrapedImpl-context * Dog * Dog-context - * </pre></p> + * </pre> * * <p>Note that the validation rules for Thing is never looked for because no class in the * hierarchy directly implements Thing.</p> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java index 5b2a65c..a7811e0 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java @@ -28,31 +28,35 @@ import org.apache.logging.log4j.Logger; /** * <!-- START SNIPPET: description --> * + * <p> * This interceptor runs the action through the standard validation framework, which in turn checks the action against * any validation rules (found in files such as <i>ActionClass-validation.xml</i>) and adds field-level and action-level * error messages (provided that the action implements {@link ValidationAware}). This interceptor * is often one of the last (or second to last) interceptors applied in a stack, as it assumes that all values have * already been set on the action. + * </p> * - * <p/>This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b> + * <p> + * This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b> * parameter. <b>excludeMethods</b> accepts a comma-delimited list of method names. For example, requests to * <b>foo!input.action</b> and <b>foo!back.action</b> will be skipped by this interceptor if you set the * <b>excludeMethods</b> parameter to "input, back". - * - * </ol> - * - * <p/> The workflow of the action request does not change due to this interceptor. Rather, - * this interceptor is often used in conjuction with the <b>workflow</b> interceptor. + * </p> * - * <p/> - * + * <p> + * The workflow of the action request does not change due to this interceptor. Rather, + * this interceptor is often used in conjunction with the <b>workflow</b> interceptor. + * </p> + * + * <p> * <b>NOTE:</b> As this method extends off MethodFilterInterceptor, it is capable of * deciding if it is applicable only to selective methods in the action class. See * <code>MethodFilterInterceptor</code> for more info. + * </p> * * <!-- END SNIPPET: description --> * - * <p/> <u>Interceptor parameters:</u> + * <p><u>Interceptor parameters:</u></p> * * <!-- START SNIPPET: parameters --> * @@ -71,9 +75,7 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: parameters --> * - * <p/> <u>Extending the interceptor:</u> - * - * <p/> + * <p><u>Extending the interceptor:</u></p> * * <!-- START SNIPPET: extending --> * @@ -81,38 +83,38 @@ import org.apache.logging.log4j.Logger; * * <!-- END SNIPPET: extending --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> * - * <action name="someAction" class="com.examples.SomeAction"> - * <interceptor-ref name="params"/> - * <interceptor-ref name="validation"/> - * <interceptor-ref name="workflow"/> - * <result name="success">good_result.ftl</result> + * <action name="someAction" class="com.examples.SomeAction"> + * <interceptor-ref name="params"/> + * <interceptor-ref name="validation"/> + * <interceptor-ref name="workflow"/> + * <result name="success">good_result.ftl</result> * </action> * * <-- in the following case myMethod of the action class will not * get validated --> - * <action name="someAction" class="com.examples.SomeAction"> - * <interceptor-ref name="params"/> - * <interceptor-ref name="validation"> - * <param name="excludeMethods">myMethod</param> + * <action name="someAction" class="com.examples.SomeAction"> + * <interceptor-ref name="params"/> + * <interceptor-ref name="validation"> + * <param name="excludeMethods">myMethod</param> * </interceptor-ref> - * <interceptor-ref name="workflow"/> - * <result name="success">good_result.ftl</result> + * <interceptor-ref name="workflow"/> + * <result name="success">good_result.ftl</result> * </action> * * <-- in the following case only annotated methods of the action class will * be validated --> - * <action name="someAction" class="com.examples.SomeAction"> - * <interceptor-ref name="params"/> - * <interceptor-ref name="validation"> - * <param name="validateAnnotatedMethodOnly">true</param> + * <action name="someAction" class="com.examples.SomeAction"> + * <interceptor-ref name="params"/> + * <interceptor-ref name="validation"> + * <param name="validateAnnotatedMethodOnly">true</param> * </interceptor-ref> - * <interceptor-ref name="workflow"/> - * <result name="success">good_result.ftl</result> + * <interceptor-ref name="workflow"/> + * <result name="success">good_result.ftl</result> * </action> * * http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java index 1fcab44..5cff3f8 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java @@ -22,43 +22,41 @@ import com.opensymphony.xwork2.util.ValueStack; * <!-- START SNIPPET: validatorFlavours --> * <p>The validators supplied by the XWork distribution (and any validators you * might write yourself) come in two different flavors:</p> - * <p/> + * * <ol> * <li> Plain Validators / Non-Field validators </li> * <li> FieldValidators </li> * </ol> - * <p/> + * * <p>Plain Validators (such as the ExpressionValidator) perform validation checks * that are not inherently tied to a single specified field. When you declare a * plain Validator in your -validation.xml file you do not associate a fieldname * attribute with it. (You should avoid using plain Validators within the * <field-validator> syntax described below.)</p> - * <p/> + * * <p>FieldValidators (such as the EmailValidator) are designed to perform * validation checks on a single field. They require that you specify a fieldname * attribute in your -validation.xml file. There are two different (but equivalent) * XML syntaxes you can use to declare FieldValidators (see "<validator> vs. - * <field-Validator> syntax" below).</p> - * <p/> + * <field-Validator> syntax" below).</p> + * * <p>There are two places where the differences between the two validator flavors * are important to keep in mind:</p> - * <p/> + * * <ol> * <li> when choosing the xml syntax used for declaring a validator * (either <validator> or <field-validator>)</li> * <li> when using the short-circuit capability</li> * </ol> - * <p/> - * <p><b>NOTE:</b>Note that you do not declare what "flavor" of validator you are + * + * <p><b>NOTE:</b>Note that you do not declare what "flavor" of validator you are * using in your -validation.xml file, you just declare the name of the validator - * to use and Struts will know whether it's a "plain Validator" or a "FieldValidator" + * to use and Struts will know whether it's a "plain Validator" or a "FieldValidator" * by looking at the validation class that the validator's programmer chose * to implement.</p> * <!-- END SNIPPET: validatorFlavours --> - * <p/> - * <p/> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: validationRules --> * <p>To define validation rules for an Action, create a file named ActionName-validation.xml * in the same package as the Action. You may also create alias-specific validation rules which @@ -66,12 +64,12 @@ import com.opensymphony.xwork2.util.ValueStack; * another file in the same directory named ActionName-aliasName-validation.xml. In both * cases, ActionName is the name of the Action class, and aliasName is the name of the * Action alias defined in the xwork.xml configuration for the Action.</p> - * <p/> + * * <p>The framework will also search up the inheritance tree of the Action to * find validation rules for directly implemented interfaces and parent classes of the Action. * This is particularly powerful when combined with ModelDriven Actions and the VisitorFieldValidator. * Here's an example of how validation rules are discovered. Given the following class structure:</p> - * <p/> + * * <ul> * <li>interface Animal;</li> * <li>interface Quadraped extends Animal;</li> @@ -79,9 +77,9 @@ import com.opensymphony.xwork2.util.ValueStack; * <li>class QuadrapedImpl extends AnimalImpl implements Quadraped;</li> * <li>class Dog extends QuadrapedImpl;</li> * </ul> - * <p/> + * * <p>The framework method will look for the following config files if Dog is to be validated:</p> - * <p/> + * * <ul> * <li>Animal</li> * <li>Animal-aliasname</li> @@ -94,20 +92,20 @@ import com.opensymphony.xwork2.util.ValueStack; * <li>Dog</li> * <li>Dog-aliasname</li> * </ul> - * <p/> + * * <p>While this process is similar to what the XW:Localization framework does * when finding messages, there are some subtle differences. The most important * difference is that validation rules are discovered from the parent downwards. * </p> - * <p/> + * * <p><b>NOTE:</b>Child's *-validation.xml will add on to parent's *-validation.xml * according to the class hierarchy defined above. With this feature, one could have * more generic validation rule at the parent and more specific validation rule at * the child.</p> - * <p/> + * * <!-- END SNIPPET: validationRules --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: validatorVsFieldValidators1 --> * <p>There are two ways you can define validators in your -validation.xml file:</p> * <ol> @@ -115,35 +113,34 @@ import com.opensymphony.xwork2.util.ValueStack; * <li> <field-validator> </li> * </ol> * <p>Keep the following in mind when using either syntax:</p> - * <p/> + * * <p><b>Non-Field-Validator</b> * The <validator> element allows you to declare both types of validators * (either a plain Validator a field-specific FieldValidator).</p> * <!-- END SNIPPET: validatorVsFieldValidators1 --> - * <p/> + * * <pre> * <!-- START SNIPPET: nonFieldValidatorUsingValidatorSyntax --> * <!-- Declaring a plain Validator using the <validator> syntax: --> - * <p/> - * <validator type="expression> - * <param name="expression">foo gt bar</param> + * + * <validator type="expression> + * <param name="expression">foo gt bar</param> * <message>foo must be great than bar.</message> * </validator> * <!-- END SNIPPET: nonFieldValidatorUsingValidatorSyntax --> * </pre> - * <p/> + * * <pre> * <!-- START SNIPPET: fieldValidatorUsingValidatorSyntax --> * <!-- Declaring a field validator using the <validator> syntax; --> - * <p/> - * <validator type="required"> - * <param name="fieldName">bar</param> + * + * <validator type="required"> + * <param name="fieldName">bar</param> * <message>You must enter a value for bar.</message> * </validator> * <!-- END SNIPPET: fieldValidatorUsingValidatorSyntax --> * </pre> - * <p/> - * <p/> + * * <!-- START SNIPPET: validatorVsFieldValidators2 --> * <p><b>field-validator</b> * The <field-validator> elements are basically the same as the <validator> elements @@ -153,110 +150,110 @@ import com.opensymphony.xwork2.util.ValueStack; * attribute. The reason for this structure is to conveniently group the validators * for a particular field under one element, otherwise the fieldName attribute * would have to be repeated, over and over, for each individual <validator>.</p> - * <p/> + * * <p><b>HINT:</b> * It is always better to defined field-validator inside a <field> tag instead of * using a <validator> tag and supplying fieldName as its param as the xml code itself * is clearer (grouping of field is clearer)</p> - * <p/> + * * <p><b>NOTE:</b> * Note that you should only use FieldValidators (not plain Validators) within a * <field-validator> block. A plain Validator inside a <field> will not be * allowed and would generate error when parsing the xml, as it is not allowed in * the defined dtd (xwork-validator-1.0.2.dtd)</p> * <!-- END SNIPPET: validatorVsFieldValidators2 --> - * <p/> + * * <pre> * <!-- START SNIPPET: fieldValidatorUsingFieldValidatorSyntax --> * Declaring a FieldValidator using the <field-validator> syntax: - * <p/> - * <field name="email_address"> - * <field-validator type="required"> + * + * <field name="email_address"> + * <field-validator type="required"> * <message>You cannot leave the email address field empty.</message> * </field-validator> - * <field-validator type="email"> + * <field-validator type="email"> * <message>The email address you entered is not valid.</message> * </field-validator> * </field> * <!-- END SNIPPET: fieldValidatorUsingFieldValidatorSyntax --> * </pre> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: validatorVsFieldValidators3 --> * <p>The choice is yours. It's perfectly legal to only use <validator> elements * without the <field> elements and set the fieldName attribute for each of them. - * The following are effectively equal:</P> + * The following are effectively equal:</p> * <!-- END SNIPPET: validatorVsFieldValidators3 --> - * <p/> + * * <pre> * <!-- START SNIPPET: similarVaidatorDeclaredInDiffSyntax --> - * <field name="email_address"> - * <field-validator type="required"> + * <field name="email_address"> + * <field-validator type="required"> * <message>You cannot leave the email address field empty.</message> * </field-validator> - * <field-validator type="email"> + * <field-validator type="email"> * <message>The email address you entered is not valid.</message> * </field-validator> * </field> - * <p/> - * <p/> - * <validator type="required"> - * <param name="fieldName">email_address</param> + * + * + * <validator type="required"> + * <param name="fieldName">email_address</param> * <message>You cannot leave the email address field empty.</message> * </validator> - * <validator type="email"> - * <param name="fieldName">email_address</param> + * <validator type="email"> + * <param name="fieldName">email_address</param> * <message>The email address you entered is not valid.</message> * </validator> * <!-- END SNIPPET: similarVaidatorDeclaredInDiffSyntax --> * </pre> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: shortCircuitingValidators1 --> * <p>It is possible to short-circuit a stack of validators. * Here is another sample config file containing validation rules from the * Xwork test cases: Notice that some of the <field-validator> and * <validator> elements have the short-circuit attribute set to true.</p> * <!-- END SNIPPET : shortCircuitingValidators1 --> - * <p/> + * * <pre> * <!-- START SNIPPET: exShortCircuitingValidators --> * <!DOCTYPE validators PUBLIC - * "-//Apache Struts//XWork Validator 1.0.3//EN" - * "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> + * "-//Apache Struts//XWork Validator 1.0.3//EN" + * "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> * <validators> * <!-- Field Validators for email field --> - * <field name="email"> - * <field-validator type="required" short-circuit="true"> + * <field name="email"> + * <field-validator type="required" short-circuit="true"> * <message>You must enter a value for email.</message> * </field-validator> - * <field-validator type="email" short-circuit="true"> + * <field-validator type="email" short-circuit="true"> * <message>Not a valid e-mail.</message> * </field-validator> * </field> * <!-- Field Validators for email2 field --> - * <field name="email2"> - * <field-validator type="required"> + * <field name="email2"> + * <field-validator type="required"> * <message>You must enter a value for email2.</message> * </field-validator> - * <field-validator type="email"> + * <field-validator type="email"> * <message>Not a valid e-mail2.</message> * </field-validator> * </field> * <!-- Plain Validator 1 --> - * <validator type="expression"> - * <param name="expression">email.equals(email2)</param> + * <validator type="expression"> + * <param name="expression">email.equals(email2)</param> * <message>Email not the same as email2</message> * </validator> * <!-- Plain Validator 2 --> - * <validator type="expression" short-circuit="true"> - * <param name="expression">email.startsWith('mark')</param> + * <validator type="expression" short-circuit="true"> + * <param name="expression">email.startsWith('mark')</param> * <message>Email does not start with mark</message> * </validator> * </validators> * <!-- END SNIPPET: exShortCircuitingValidators --> * </pre> - * <p/> + * * <!-- START SNIPPET:shortCircuitingValidators2 --> * <p><b>short-circuiting and Validator flavors</b></p> * <p>Plain validator takes precedence over field-validator. They get validated @@ -265,25 +262,25 @@ import com.opensymphony.xwork2.util.ValueStack; * will prevent the evaluation of subsequent validators and an error (action * error or field error depending on the type of validator) will be added to * the ValidationContext of the object being validated.</p> - * <p/> + * * <p>In the example above, the actual execution of validator would be as follows:</p> - * <p/> + * * <ol> * <li> Plain Validator 1</li> * <li> Plain Validator 2</li> * <li> Field Validators for email field</li> * <li> Field Validators for email2 field</li> * </ol> - * <p/> + * * <p>Since Plain Validator 2 is short-circuited, if its validation failed, * it will causes Field validators for email field and Field validators for email2 * field to not be validated as well.</p> - * <p/> + * * <p><b>Usefull Information:</b> * More complicated validation should probably be done in the validate() * method on the action itself (assuming the action implements Validatable * interface which ActionSupport already does).</p> - * <p/> + * * <p> * A plain Validator (non FieldValidator) that gets short-circuited will * completely break out of the validation stack. No other validators will be @@ -292,40 +289,39 @@ import com.opensymphony.xwork2.util.ValueStack; * get a chance to be evaluated. * </p> * <!-- END SNIPPET: shortCircuitingValidators2 --> - * <p/> - * <p/> + * * <!-- START SNIPPET: scAndValidatorFlavours1 --> * <p><b>Short cuircuiting and validator flavours</b></p> * <p>A FieldValidator that gets short-circuited will only prevent other * FieldValidators for the same field from being evaluated. Note that this - * "same field" behavior applies regardless of whether the <validator> or + * "same field" behavior applies regardless of whether the <validator> or * <field-validator> syntax was used to declare the validation rule. * By way of example, given this -validation.xml file:</p> * <!-- END SNIPPET: scAndValidatorFlavours1 --> - * <p/> + * * <pre> * <!-- START SNIPPET: exScAndValidatorFlavours --> - * <validator type="required" short-circuit="true"> - * <param name="fieldName">bar</param> + * <validator type="required" short-circuit="true"> + * <param name="fieldName">bar</param> * <message>You must enter a value for bar.</message> * </validator> - * <p/> - * <validator type="expression"> - * <param name="expression">foo gt bar</param> + * + * <validator type="expression"> + * <param name="expression">foo gt bar</param> * <message>foo must be great than bar.</message> * </validator> * <!-- END SNIPPET: exScAndValidatorFlavours --> * </pre> - * <p/> + * * <!-- START SNIPPET: scAndValidatorFlavours2 --> - * <p>both validators will be run, even if the "required" validator short-circuits. - * "required" validators are FieldValidator's and will not short-circuit the plain + * <p>both validators will be run, even if the "required" validator short-circuits. + * "required" validators are FieldValidator's and will not short-circuit the plain * ExpressionValidator because FieldValidators only short-circuit other checks on * that same field. Since the plain Validator is not field specific, it is * not short-circuited.</p> * <!-- END SNIPPET: scAndValidatorFlavours2 --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: howXworkFindsValidatorForAction --> * <p>As mentioned above, the framework will also search up the inheritance tree * of the action to find default validations for interfaces and parent classes of @@ -353,36 +349,36 @@ import com.opensymphony.xwork2.util.ValueStack; * </p> * <!-- END SNIPPET: howXworkFindsValidatorForAction --> * - * <p/> + * * <!-- START SNIPPET: i18n --> * Validator's validation messages could be internatinalized. For example, * <pre> - * <field-validator type="required"> - * <message key="required.field" /> + * <field-validator type="required"> + * <message key="required.field" /> * </field-validator> * </pre> * or * <pre> - * <validator type="expression"> - * <param name="expression">email.startsWith('Mark')</param> - * <message key="email.invalid" /> + * <validator type="expression"> + * <param name="expression">email.startsWith('Mark')</param> + * <message key="email.invalid" /> * </validator> * </pre> * In the first case, WebWork would look for i18n with key 'required.field' as the validation error message if * validation fails, and 'email.invalid' in the second case. - * <p/> + * * We could also provide a default message such that if validation failed and the i18n key for the message * cannot be found, WebWork would fall back and use the default message. An example would be as follows :- * <pre> - * <field-validator type="required"> - * <message key="required.field">This field is required.</message> + * <field-validator type="required"> + * <message key="required.field">This field is required.</message> * </field-validator> * </pre> * or * <pre> - * <validator type="expression"> - * <param name="expression">email.startsWith('Mark')</param> - * <message key="email.invalid">Email needs with starts with Mark</message> + * <validator type="expression"> + * <param name="expression">email.startsWith('Mark')</param> + * <message key="email.invalid">Email needs with starts with Mark</message> * </validator> * </pre> * @@ -429,16 +425,16 @@ public interface Validator<T> { String getMessageKey(); /** - * Sets the messsage parameters to be used when parsing i18n messages + * Sets the message parameters to be used when parsing i18n messages * - * @param messageParameters the messsage parameters + * @param messageParameters the message parameters */ void setMessageParameters(String[] messageParameters); /** - * Gets the messsage parameters to be used when parsing i18n messages + * Gets the message parameters to be used when parsing i18n messages * - * @return the messsage parameters + * @return the message parameters */ String[] getMessageParameters(); @@ -473,7 +469,7 @@ public interface Validator<T> { void setValidatorType(String type); /** - * Gets the vaildator type used (see class javadoc). + * Gets the validator type used (see class javadoc). * * @return the type used */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java index 29607ce..e609250 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java @@ -7,23 +7,28 @@ import java.lang.annotation.Target; /** * <!-- START SNIPPET: description --> + * <p> * The validator allows you to forward validator to object properties of your action * using the objects own validator files. This allows you to use the ModelDriven development * pattern and manage your validations for your models in one place, where they belong, next to * your model classes. + * </p> * + * <p> * The ConditionalVisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays. * The error message for the ConditionalVisitorFieldValidator will be appended in front of validator messages added * by the validations for the Object message. + * </p> + * * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -84,7 +89,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -100,7 +105,7 @@ public @interface ConditionalVisitorFieldValidator { /** * Determines the context to use for validating the Object property. - * If not defined, the context of the Action validator is propogated to the Object property validator. + * If not defined, the context of the Action validator is propagated to the Object property validator. * In the case of Action validator, this context is the Action alias. */ String context() default ""; @@ -108,10 +113,10 @@ public @interface ConditionalVisitorFieldValidator { /** * Determines whether the field name of this field validator should be prepended to the field name of * the visited field to determine the full field name when an error occurs. For example, suppose that - * the bean being validated has a "name" property. + * the bean being validated has a 'name' property. * - * If appendPrefix is true, then the field error will be stored under the field "bean.name". - * If appendPrefix is false, then the field error will be stored under the field "name". + * If appendPrefix is true, then the field error will be stored under the field 'bean.name'. + * If appendPrefix is false, then the field error will be stored under the field 'name'. * * If you are using the ConditionalVisitorFieldValidator to validate the model from a ModelDriven Action, * you should set appendPrefix to false unless you are using "model.name" to reference the properties @@ -148,7 +153,7 @@ public @interface ConditionalVisitorFieldValidator { /** * If this is activated, the validator will be used as short-circuit. * - * Adds the short-circuit="true" attribute value if <tt>true</tt>. + * Adds the short-circuit='true' attribute value if <tt>true</tt>. * */ boolean shortCircuit() default false; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java index 9a6fc0a..2777f7a 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java @@ -24,16 +24,16 @@ import java.lang.annotation.Target; /** * <!-- START SNIPPET: description --> * This validator checks if there are any conversion errors for a field and applies them if they exist. - * See <a href="http://wiki.opensymphony.com/display/XW/Type+Conversion+Error+Handling">Type Conversion Error Handling</a> for details. + * See <a href="https://struts.apache.org/docs/type-conversion.html#TypeConversion-TypeConversionErrorHandling">Type Conversion Error Handling</a> for details. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The ConversionErrorFieldValidator annotation must be applied at method level. + * <p>The ConversionErrorFieldValidator annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -82,7 +82,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -91,7 +91,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java index 27d63b2..e0305fd 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This annotation can be used for custom validators. Use the ValidationParameter annotation to supply additional params. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method or type level. + * <p>The annotation must be applied at method or type level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -81,7 +81,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -91,7 +91,6 @@ import java.lang.annotation.Target; * * @author jepjep * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java index d6457d5..47900c9 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This validator checks that a date field has a value within a specified range. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -119,7 +119,7 @@ import java.lang.annotation.Target; * <p>If neither <em>min</em> nor <em>max</em> is set, nothing will be done.</p> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -128,7 +128,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java index 5eb3049..1a5fb3b 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java @@ -27,13 +27,13 @@ import java.lang.annotation.Target; * If neither min nor max is set, nothing will be done. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -134,7 +134,7 @@ import java.lang.annotation.Target; * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -143,7 +143,6 @@ import java.lang.annotation.Target; * </pre> * * @author <a href="mailto:[email protected]">Rainer Hermanns</a> - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java index 7b40811..ec54c05 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This validator checks that a field is a valid e-mail address if it contains a non-empty String. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -81,7 +81,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -90,7 +90,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -120,7 +119,7 @@ public @interface EmailValidator { /** * If this is activated, the validator will be used as short-circuit. * - * Adds the short-circuit="true" attribute value if <tt>true</tt>. + * Adds the short-circuit='true' attribute value if <tt>true</tt>. * */ boolean shortCircuit() default false; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java index 8049388..7943750 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This non-field level validator validates a supplied regular expression. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -75,7 +75,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -84,7 +84,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD}) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java index 5941b04..83859d4 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java @@ -28,13 +28,13 @@ import java.lang.annotation.Target; * false when it is evaluated against the value stack. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -83,7 +83,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -92,7 +92,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -127,7 +126,7 @@ public @interface FieldExpressionValidator { /** * If this is activated, the validator will be used as short-circuit. * - * Adds the short-circuit="true" attribute value if <tt>true</tt>. + * Adds the short-circuit='true' attribute value if <tt>true</tt>. * */ boolean shortCircuit() default false; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java index cba539e..daa29c5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java @@ -27,13 +27,13 @@ import java.lang.annotation.Target; * If neither min nor max is set, nothing will be done. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -116,7 +116,7 @@ import java.lang.annotation.Target; * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -128,7 +128,6 @@ import java.lang.annotation.Target; * * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -178,7 +177,7 @@ public @interface IntRangeFieldValidator { /** * If this is activated, the validator will be used as short-circuit. * - * Adds the short-circuit="true" attribute value if <tt>true</tt>. + * Adds the short-circuit='true' attribute value if <tt>true</tt>. * */ boolean shortCircuit() default false; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java index 3997916..0ef3b18 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * Validates a string field using a regular expression. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -87,7 +87,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -96,7 +96,6 @@ import java.lang.annotation.Target; * </pre> * * @author <a href="mailto:[email protected]">Rainer Hermanns</a> - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -169,7 +168,7 @@ public @interface RegexFieldValidator { /** * If this is activated, the validator will be used as short-circuit. * - * Adds the short-circuit="true" attribute value if <tt>true</tt>. + * Adds the short-circuit='true' attribute value if <tt>true</tt>. * */ boolean shortCircuit() default false; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java index 3039d3c..c2456e7 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This validator checks that a field is non-null. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -81,7 +81,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -91,7 +91,6 @@ import java.lang.annotation.Target; * * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java index 7fe64ad..0620ba9 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * This validator checks that a String field is not empty (i.e. non-null with a length > 0). * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -87,7 +87,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java index dfe57ae..8f93196 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java @@ -27,13 +27,13 @@ import java.lang.annotation.Target; * If neither min nor max is set, nothing will be done. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -116,7 +116,7 @@ import java.lang.annotation.Target; * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java index 6db6175..87d4b31 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java @@ -27,13 +27,13 @@ import java.lang.annotation.Target; * If neither minLength nor maxLength is set, nothing will be done. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -115,7 +115,7 @@ import java.lang.annotation.Target; * * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -124,7 +124,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java index 2769b12..5688e1f 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java @@ -27,13 +27,13 @@ import java.lang.annotation.Target; * is no longer necessary. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The Validation annotation must be applied at Type level. + * <p>The Validation annotation must be applied at Type level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -52,7 +52,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <u>An Annotated Interface</u> * <pre> @@ -73,7 +73,7 @@ import java.lang.annotation.Target; * <!-- END SNIPPET: example --> * </pre> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <u>An Annotated Class</u> * <pre> @@ -124,7 +124,6 @@ import java.lang.annotation.Target; * * @author Rainer Hermanns * @deprecated Since Struts 2.1 because it isn't necessary anymore - * @version $Id$ */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java index 1482aed..81390cc 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * The ValidationParameter annotation is used as a parameter for CustomValidators. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must embedded into CustomValidator annotations as a parameter. + * <p>The annotation must embedded into CustomValidator annotations as a parameter.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -57,7 +57,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java index 5d1eceb..ee587ad 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java @@ -26,13 +26,13 @@ import java.lang.annotation.Target; * <p>If you want to use several annotations of the same type, these annotations must be nested within the @Validations() annotation.</p> * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>Used at METHOD level. + * <p>Used at METHOD level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -112,7 +112,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -149,7 +149,6 @@ import java.lang.annotation.Target; * * @author jepjep * @author Rainer Hermanns - * @version $Id$ */ @Target( { ElementType.METHOD, ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java index 7d42339..6501748 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java @@ -33,13 +33,13 @@ import java.lang.annotation.Target; * by the validations for the Object message. * <!-- END SNIPPET: description --> * - * <p/> <u>Annotation usage:</u> + * <p><u>Annotation usage:</u></p> * * <!-- START SNIPPET: usage --> - * <p/>The annotation must be applied at method level. + * <p>The annotation must be applied at method level.</p> * <!-- END SNIPPET: usage --> * - * <p/> <u>Annotation parameters:</u> + * <p><u>Annotation parameters:</u></p> * * <!-- START SNIPPET: parameters --> * <table class='confluenceTable'> @@ -94,7 +94,7 @@ import java.lang.annotation.Target; * </table> * <!-- END SNIPPET: parameters --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -103,7 +103,6 @@ import java.lang.annotation.Target; * </pre> * * @author Rainer Hermanns - * @version $Id$ */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @@ -111,7 +110,7 @@ public @interface VisitorFieldValidator { /** * Determines the context to use for validating the Object property. - * If not defined, the context of the Action validator is propogated to the Object property validator. + * If not defined, the context of the Action validator is propagated to the Object property validator. * In the case of Action validator, this context is the Action alias. */ String context() default ""; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java index 4fe0ea3..4bfb171 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java @@ -27,7 +27,7 @@ import java.util.Map; * <!-- START SNIPPET: javadoc --> * Field Validator that checks if a conversion error occurred for this field. * <!-- END SNIPPET: javadoc --> - * <p/> + * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li> @@ -53,8 +53,6 @@ import java.util.Map; * * @author Jason Carreira * @author tm_jee - * - * @version $Date $Id$ */ public class ConversionErrorFieldValidator extends RepopulateConversionErrorFieldValidatorSupport { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java index 572d307..cae4a6c 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java @@ -30,8 +30,6 @@ import java.util.Date; * * <!-- END SNIPPET: javadoc --> * - * <p/> - * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li> @@ -84,7 +82,6 @@ import java.util.Date; * * * @author Jason Carreira - * @version $Date$ $Id$ */ public final class DateRangeFieldValidator extends RangeValidatorSupport<Date> { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java index d7f129b..6e59af2 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java @@ -21,8 +21,7 @@ import com.opensymphony.xwork2.validator.ValidationException; * <!-- START SNIPPET: javadoc --> * A Non-Field Level validator that validates based on regular expression supplied. * <!-- END SNIPPET: javadoc --> - * <p/> - * + * * <!-- START SNIPPET: parameters --> * <ul> * <li>expression - the Ognl expression to be evaluated against the stack (Must evaluate to a Boolean)</li> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java index 197314b..12dd7c5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java @@ -22,8 +22,7 @@ import com.opensymphony.xwork2.validator.ValidationException; * <!-- START SNIPPET: javadoc --> * Validates a field using an OGNL expression. * <!-- END SNIPPET: javadoc --> - * <p/> - * + * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li> @@ -53,10 +52,6 @@ import com.opensymphony.xwork2.validator.ValidationException; * </vaidators> * <!-- END SNIPPET: example --> * </pre> - * - * - * @author $Author$ - * @version $Revision$ */ public class FieldExpressionValidator extends FieldValidatorSupport { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java index 6dcb60f..af0edf3 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java @@ -28,33 +28,30 @@ import java.util.LinkedHashMap; import java.util.Map; /** - * - * + * <p> * An abstract base class that adds in the capability to populate the stack with * a fake parameter map when a conversion error has occurred and the 'repopulateField' * property is set to "true". - * - * <p/> - * + * </p> * * <!-- START SNIPPET: javadoc --> - * + * <p> * The capability of auto-repopulating the stack with a fake parameter map when * a conversion error has occurred can be done with 'repopulateField' property * set to "true". + * </p> * - * <p/> - * - * This is typically usefull when one wants to repopulate the field with the original value + * <p> + * This is typically useful when one wants to repopulate the field with the original value * when a conversion error occurred. Eg. with a textfield that only allows an Integer * (the action class have an Integer field declared), upon conversion error, the incorrectly * entered integer (maybe a text 'one') will not appear when dispatched back. With 'repopulateField' - * porperty set to true, it will, meaning the textfield will have 'one' as its value + * property set to true, it will, meaning the textfield will have 'one' as its value * upon conversion error. + * </p> * * <!-- END SNIPPET: javadoc --> - * - * <p/> + * * <pre> * <!-- START SNIPPET: exampleJspPage --> @@ -130,7 +127,6 @@ import java.util.Map; * </pre> * * @author tm_jee - * @version $Date$ $Id$ */ public abstract class RepopulateConversionErrorFieldValidatorSupport extends FieldValidatorSupport { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java index 6b103f2..dffd37a 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java @@ -22,16 +22,13 @@ import com.opensymphony.xwork2.validator.ValidationException; * <!-- START SNIPPET: javadoc --> * RequiredFieldValidator checks if the specified field is not null. * <!-- END SNIPPET: javadoc --> - * <p/> - * - * + * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - field name if plain-validator syntax is used, not needed if field-validator syntax is used</li> * </ul> * <!-- END SNIPPET: parameters --> - * - * + * * <pre> * <!-- START SNIPPET: example --> * <validators> @@ -57,7 +54,6 @@ import com.opensymphony.xwork2.validator.ValidationException; * * * @author rainerh - * @version $Revision$ */ public class RequiredFieldValidator extends FieldValidatorSupport { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java index 7b2cbfd..1044aed 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java @@ -24,7 +24,6 @@ import com.opensymphony.xwork2.validator.ValidationException; * (i.e. it isn't ""). The "trim" parameter determines whether it will {@link String#trim() trim} * the String before performing the length check. If unspecified, the String will be trimmed. * <!-- END SNIPPET: javadoc --> - * <p/> * * <!-- START SNIPPET: parameters --> * <ul> @@ -68,7 +67,6 @@ import com.opensymphony.xwork2.validator.ValidationException; * </pre> * * @author rainerh - * @version $Date$ $Id$ */ public class RequiredStringValidator extends FieldValidatorSupport {
