You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/07/16 22:02:36 UTC

[5/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
index a46cf34..34b6920 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
@@ -27,12 +27,13 @@ import java.util.Set;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * 
+ *
+ * <p>
  * MethodFilterInterceptor is an abstract <code>Interceptor</code> used as
  * a base class for interceptors that will filter execution based on method 
  * names according to specified included/excluded method lists.
  * 
- * <p/>
+ * </p>
  * 
  * Settable parameters are as follows:
  * 
@@ -41,13 +42,13 @@ import java.util.Set;
  * 		<li>includeMethods - method names to be included in interceptor processing</li>
  * </ul>
  * 
- * <p/>
+ * <p>
  * 
  * <b>NOTE:</b> If method name are available in both includeMethods and 
  * excludeMethods, it will be considered as an included method: 
  * includeMethods takes precedence over excludeMethods.
  * 
- * <p/>
+ * </p>
  * 
  * Interceptors that extends this capability include:
  * 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
index 06a91b5..afc6edc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
@@ -26,15 +26,16 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * Watches for {@link ModelDriven} actions and adds the action's model on to the value stack.
  *
- * <p/> <b>Note:</b>  The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
+ * <p> <b>Note:</b>  The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
  * {@link ParametersInterceptor} if you want the parameters to be applied to the model.
- * 
- * <p/> <b>Note:</b>  The ModelDrivenInterceptor will only push the model into the stack when the
+ * </p>
+ * <p> <b>Note:</b>  The ModelDrivenInterceptor will only push the model into the stack when the
  * model is not null, else it will be ignored.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -49,9 +50,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -59,14 +58,14 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="modelDriven"/&gt;
- *     &lt;interceptor-ref name="basicStack"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;modelDriven&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;basicStack&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  * <!-- END SNIPPET: example -->
  * </pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
index 8db8fbc..2de46b1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
@@ -17,14 +17,16 @@ package com.opensymphony.xwork2.interceptor;
 
 
 /**
- * Marker interface to incidate no auto setting of parameters.
- * <p/>
+ * Marker interface to indicate no auto setting of parameters.
+ *
+ * <p>
  * This marker interface should be implemented by actions that do not want any
  * request parameters set on them automatically (by the ParametersInterceptor).
  * This may be useful if one is using the action tag and want to supply
  * the parameters to the action manually using the param tag.
  * It may also be useful if one for security reasons wants to make sure that
  * parameters cannot be set by malicious users.
+ * </p>
  *
  * @author Dick Zetterberg (dick@transitor.se)
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
index 865eeb8..eac4d8b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
@@ -241,9 +241,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
      *
      * @param ac        The action context
      * @param newParams The parameter map to apply
-     *                  <p/>
+     *                  <p>
      *                  In this class this is a no-op, since the parameters were fetched from the same location.
      *                  In subclasses both retrieveParameters() and addParametersToContext() should be overridden.
+     *                  </p>
      */
     protected void addParametersToContext(ActionContext ac, Map<String, Object> newParams) {
     }
@@ -468,9 +469,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
     /**
      * Sets a comma-delimited list of regular expressions to match
      * parameters that are allowed in the parameter map (aka whitelist).
-     * <p/>
+     * <p>
      * Don't change the default unless you know what you are doing in terms
      * of security implications.
+     * </p>
      *
      * @param commaDelim A comma-delimited list of regular expressions
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
index 5a6e5a1..bbf8277 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
@@ -23,16 +23,16 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
 /**
+ * <p>
  * A utility class for invoking prefixed methods in action class.
  * 
  * Interceptors that made use of this class are:
+ * </p>
  * <ul>
  * 	 <li>DefaultWorkflowInterceptor</li>
  *   <li>PrepareInterceptor</li>
  * </ul>
- * 
- * <p/>
- * 
+ *  *
  * <!-- START SNIPPET: javadocDefaultWorkflowInterceptor -->
  * 
  * <b>In DefaultWorkflowInterceptor</b>
@@ -70,37 +70,45 @@ public class PrefixMethodInvocationUtil {
     private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
 
     /**
+	 * <p>
 	 * This method will prefix <code>actionInvocation</code>'s <code>ActionProxy</code>'s
 	 * <code>method</code> with <code>prefixes</code> before invoking the prefixed method.
 	 * Order of the <code>prefixes</code> is important, as this method will return once 
 	 * a prefixed method is found in the action class.
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * For example, with
+	 * </p>
+	 *
 	 * <pre>
 	 *   invokePrefixMethod(actionInvocation, new String[] { "prepare", "prepareDo" });
 	 * </pre>
-	 * 
+	 *
+	 * <p>
 	 * Assuming <code>actionInvocation.getProxy(),getMethod()</code> returns "submit", 
 	 * the order of invocation would be as follows:-
+	 * </p>
+	 *
 	 * <ol>
 	 *   <li>prepareSubmit()</li>
 	 *   <li>prepareDoSubmit()</li>
 	 * </ol>
-	 * 
+	 *
+	 * <p>
 	 * If <code>prepareSubmit()</code> exists, it will be invoked and this method 
 	 * will return, <code>prepareDoSubmit()</code> will NOT be invoked. 
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * On the other hand, if <code>prepareDoSubmit()</code> does not exists, and 
 	 * <code>prepareDoSubmit()</code> exists, it will be invoked.
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * If none of those two methods exists, nothing will be invoked.
-	 * 
+	 * </p>
+	 *
 	 * @param actionInvocation  the action invocation
 	 * @param prefixes  prefixes for method names
 	 * @throws InvocationTargetException is thrown if invocation of a method failed.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
index 6a327c3..e1d0b52 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
@@ -31,7 +31,8 @@ import java.lang.reflect.InvocationTargetException;
  * {@link Preparable}. This interceptor is very useful for any situation where
  * you need to ensure some logic runs before the actual execute method runs.
  *
- * <p/> A typical use of this is to run some logic to load an object from the
+ * <p>
+ * A typical use of this is to run some logic to load an object from the
  * database so that when parameters are set they can be set on this object. For
  * example, suppose you have a User object with two properties: <i>id</i> and
  * <i>name</i>. Provided that the params interceptor is called twice (once
@@ -39,21 +40,24 @@ import java.lang.reflect.InvocationTargetException;
  * the id property, and then when the second params interceptor is called the
  * parameter <i>user.name</i> will be set, as desired, on the actual object
  * loaded from the database. See the example for more info.
- *
- * <p/>
+ * </p>
+ * <p>
  * <b>Note:</b> Since XWork 2.0.2, this interceptor extends {@link MethodFilterInterceptor}, therefore being
  * able to deal with excludeMethods / includeMethods parameters. See [Workflow Interceptor]
  * (class {@link DefaultWorkflowInterceptor}) for documentation and examples on how to use this feature.
+ * </p>
  *
- * <p/><b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
+ * <p>
+ * <b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
  * the a general prepare() Method, depending on the 'alwaysInvokePrepare' parameter/property
  * which is by default true. This allows us to run some logic based on the method
  * name we specify in the {@link com.opensymphony.xwork2.ActionProxy}. For example, you can specify a
  * prepareInput() method that will be run before the invocation of the input method.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -66,9 +70,7 @@ import java.lang.reflect.InvocationTargetException;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -76,7 +78,7 @@ import java.lang.reflect.InvocationTargetException;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -107,9 +109,10 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
     private boolean firstCallPrepareDo = false;
 
     /**
-     * Sets if the <code>preapare</code> method should always be executed.
-     * <p/>
+     * Sets if the <code>prepare</code> method should always be executed.
+     * <p>
      * Default is <tt>true</tt>.
+     * </p>
      *
      * @param alwaysInvokePrepare if <code>prepare</code> should always be executed or not.
      */
@@ -119,9 +122,9 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
 
     /**
      * Sets if the <code>prepareDoXXX</code> method should be called first
-     * <p/>
+     * <p>
      * Default is <tt>false</tt> for backward compatibility
-     *
+     * </p>
      * @param firstCallPrepareDo if <code>prepareDoXXX</code> should be called first
      */
     public void setFirstCallPrepareDo(String firstCallPrepareDo) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
index 9d32fbe..858a33e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
@@ -30,12 +30,12 @@ import java.util.Map;
  *
  * An interceptor that enables scoped model-driven actions.
  *
- * <p/>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface.  If
- * detected, it will retrieve the model class from the configured scope, then provide it to the Action.
+ * <p>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface.  If
+ * detected, it will retrieve the model class from the configured scope, then provide it to the Action.</p>
  *  
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -51,9 +51,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -61,7 +59,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <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/interceptor/StaticParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
index e47af30..934dd54 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
@@ -39,11 +39,11 @@ import java.util.TreeMap;
  * implements {@link Parameterizable}, a map of the static parameters will be also be passed directly to the action.
  * The static params will be added to the request params map, unless "merge" is set to false.
  *
- * <p/> Parameters are typically defined with &lt;param&gt; elements within xwork.xml.
+ * <p> Parameters are typically defined with &lt;param&gt; elements within xwork.xml.</p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -55,15 +55,15 @@ import java.util.TreeMap;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
- * <p/>There are no extension points to this interceptor.
+ * <p>There are no extension points to this interceptor.</p>
  *
  * <!-- END SNIPPET: extending -->
  *
- * <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/interceptor/ValidationAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
index 5aa19b6..53c72f1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
@@ -113,8 +113,6 @@ public interface ValidationAware {
 
     /**
      * Checks whether there are any action errors or field errors.
-     * <p/>
-     * <b>Note</b>: that this does not have the same meaning as in WW 1.x.
      *
      * @return <code>(hasActionErrors() || hasFieldErrors())</code>
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
index 3fc2fcd..978a49a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
@@ -26,14 +26,14 @@ import java.lang.annotation.Target;
  * executed. Return value is ignored.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The After annotation can be applied at method level.
  *
  * <!-- 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>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
index f978e46..327d2c6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
@@ -17,13 +17,16 @@ import java.util.Map;
 
 /**
  * Annotation based version of {@link ParameterFilterInterceptor}.
- * <p/>
+ *
+ * <p>
  * This {@link Interceptor} must be placed in the stack before the {@link ParametersInterceptor}
  * When a parameter matches a field that is marked {@link Blocked} then it is removed from
  * the parameter map.
- * <p/>
+ * </p>
+ * <p>
  * If an {@link Action} class is marked with {@link BlockByDefault} then all parameters are
  * removed unless a field on the Action exists and is marked with {@link Allowed}
+ * </p>
  *
  * @author martin.gilday
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
index 665ed1c..dbe4315 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
@@ -30,50 +30,49 @@ import java.util.List;
 /**
  * <!-- START SNIPPET: javadoc -->
  * <p>Invokes any annotated methods on the action. Specifically, it supports the following
- * annotations:
+ * annotations:</p>
  * <ul>
  * <li> &#64;{@link Before} - will be invoked before the action method. If the returned value is not null, it is
  * returned as the action result code</li>
  * <li> &#64;{@link BeforeResult} - will be invoked after the action method but before the result execution</li>
  * <li> &#64;{@link After} - will be invoked after the action method and result execution</li>
  * </ul>
- * </p>
- * <p/>
+ *
  * <p>There can be multiple methods marked with the same annotations, but the order of their execution
  * is not guaranteed. However, the annotated methods on the superclass chain are guaranteed to be invoked before the
  * annotated method in the current class in the case of a {@link Before} annotations and after, if the annotations is
  * {@link After}.</p>
  * <!-- END SNIPPET: javadoc -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: javacode -->
  *  public class BaseAnnotatedAction {
  *  	protected String log = "";
- * <p/>
+ *
  *  	&#64;Before
  *  	public String baseBefore() {
  *  		log = log + "baseBefore-";
  *  		return null;
  *  	}
  *  }
- * <p/>
+ *
  *  public class AnnotatedAction extends BaseAnnotatedAction {
  *  	&#64;Before
  *  	public String before() {
  *  		log = log + "before";
  *  		return null;
  *  	}
- * <p/>
+ *
  *  	public String execute() {
  *  		log = log + "-execute";
  *  		return Action.SUCCESS;
  *  	}
- * <p/>
+ *
  *  	&#64;BeforeResult
  *  	public void beforeResult() throws Exception {
  *  		log = log +"-beforeResult";
  *  	}
- * <p/>
+ *
  *  	&#64;After
  *  	public void after() {
  *  		log = log + "-after";
@@ -81,13 +80,13 @@ import java.util.List;
  *  }
  * <!-- END SNIPPET: javacode -->
  *  </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: example -->
  * <p>With the interceptor applied and the action executed on <code>AnnotatedAction</code> the log
  * instance variable will contain <code>baseBefore-before-execute-beforeResult-after</code>.</p>
  * <!-- END SNIPPET: example -->
- * <p/>
- * <p/>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:
+ *
+ * <p>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:</p>
  * <pre>
  * <!-- START SNIPPET: stack -->
  * &lt;interceptor-stack name="annotatedStack"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
index cb0e555..fb546de 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
  * Marks a action method that needs to be executed before the main action method.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The Before annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -51,7 +51,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/interceptor/annotations/BeforeResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
index faeb400..44825bd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
  * Marks a action method that needs to be executed before the result. Return value is ignored.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The BeforeResult annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -51,7 +51,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/interceptor/annotations/InputConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
index 5d70744..33f7ab1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
@@ -27,14 +27,14 @@ import com.opensymphony.xwork2.Action;
  * Marks a action method that if it's not validated by ValidationInterceptor then execute input method or input result.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The InputConfig annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -59,7 +59,7 @@ import com.opensymphony.xwork2.Action;
  * </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/spring/SpringObjectFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
index 6475957..bc30d57 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
@@ -32,10 +32,14 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
+ * <p>
  * Simple implementation of the ObjectFactory that makes use of Spring's application context if one has been configured,
- * before falling back on the default mechanism of instantiating a new class using the class name. <p/> In order to use
- * this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
+ * before falling back on the default mechanism of instantiating a new class using the class name.
+ * </p>
+ * <p>
+ * In order to use this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
  * before the xwork.xml file is parsed. In a servlet environment, this could be done using a ServletContextListener.
+ * </p>
  *
  * @author Simon Stewart (sms@lateral.net)
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
index fe02ca5..7c11b85 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
@@ -77,16 +77,20 @@ public class ActionAutowiringInterceptor extends AbstractInterceptor implements
     }
 
     /**
+     * <p>
      * Looks for the <code>ApplicationContext</code> under the attribute that the Spring listener sets in
      * the servlet context.  The configuration is done the first time here instead of in init() since the
      * <code>ActionContext</code> is not available during <code>Interceptor</code> initialization.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Autowires the action to Spring beans and places the <code>ApplicationContext</code>
      * on the <code>ActionContext</code>
-     * <p/>
-     * TODO Should this check to see if the <code>SpringObjectFactory</code> has already been configured
-     * instead of instantiating a new one?  Or is there a good reason for the interceptor to have it's own
-     * factory?
+     * </p>
+     *
+     * <p>
+     * TODO: Should this check to see if the <code>SpringObjectFactory</code> has already been configured instead of instantiating a new one?  Or is there a good reason for the interceptor to have it's own factory?
+     * </p>
      *
      * @param invocation
      * @throws Exception

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
index 919f5af..46cfe9f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
@@ -24,10 +24,10 @@ import java.util.*;
 /**
  * This class is extremely useful for loading resources and classes in a fault tolerant manner
  * that works across different applications servers.
- * <p/>
+ * <p>
  * It has come out of many months of frustrating use of multiple application servers at Atlassian,
  * please don't change things unless you're sure they're not going to break in one server or another!
- *
+ * </p>
  */
 public class ClassLoaderUtil {
 
@@ -73,8 +73,10 @@ public class ClassLoaderUtil {
 
     /**
      * Load a given resource.
-     * <p/>
+     * <p>
      * This method will try to load the resource using the following methods (in order):
+     * </p>
+     *
      * <ul>
      * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
      * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
@@ -125,14 +127,19 @@ public class ClassLoaderUtil {
     }
 
     /**
+     * <p>
      * Load a class with a given name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * It will try to load the class in the following order:
+     * </p>
+     *
      * <ul>
-     * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
-     * <li>Using the basic {@link Class#forName(java.lang.String) }
-     * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
-     * <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
+     *  <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
+     *  <li>Using the basic {@link Class#forName(java.lang.String) }
+     *  <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
+     *  <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
      * </ul>
      *
      * @param className    The name of the class to load

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
index 050ec2a..0ab63b6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the CreateIfNull for type conversion.
+ * <p>Sets the CreateIfNull for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The CreateIfNull annotation must be applied at field or method level.
+ * <p>The CreateIfNull annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,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 -->
  * &#64;CreateIfNull( value = true )
@@ -63,7 +63,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Element.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Element.java b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
index 30903d2..de66d1f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Element.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the Element for type conversion.
+ * <p>Sets the Element for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The Element annotation must be applied at field or method level.
+ * <p>The Element annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,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 -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -67,7 +67,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Key.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Key.java b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
index c1b0fc8..5d2fb6d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Key.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the Key for type conversion.
+ * <p>Sets the Key for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The Key annotation must be applied at field or method level.
+ * <p>The Key annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,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 -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -64,7 +64,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
index 8832bee..396af47 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
@@ -23,16 +23,16 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the KeyProperty for type conversion.
+ * <p>Sets the KeyProperty for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The KeyProperty annotation must be applied at field or method level.
- * <p/>This annotation should be used with Generic types, if the key property of the key element needs to be specified.
+ * <p>The KeyProperty annotation must be applied at field or method level.</p>
+ * <p>This annotation should be used with Generic types, if the key property of the key element needs to be specified.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -55,7 +55,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 -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
index 2d9afa2..2372499 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -42,10 +42,10 @@ import java.util.concurrent.ConcurrentMap;
 
 /**
  * Provides support for localization in XWork.
- * <p/>
+ *
  * <!-- START SNIPPET: searchorder -->
- * Resource bundles are searched in the following order:<p/>
- * <p/>
+ * <p>Resource bundles are searched in the following order:</p>
+ *
  * <ol>
  * <li>ActionClass.properties</li>
  * <li>Interface.properties (every interface and sub-interface)</li>
@@ -55,11 +55,11 @@ import java.util.concurrent.ConcurrentMap;
  * <li>search up the i18n message key hierarchy itself</li>
  * <li>global resource properties</li>
  * </ol>
- * <p/>
+ *
  * <!-- END SNIPPET: searchorder -->
- * <p/>
+ *
  * <!-- START SNIPPET: packagenote -->
- * To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:<p/>
+ * <p>To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:</p>
  * com/<br/>
  * &nbsp; acme/<br/>
  * &nbsp; &nbsp; package.properties<br/>
@@ -67,22 +67,22 @@ import java.util.concurrent.ConcurrentMap;
  * &nbsp; &nbsp; &nbsp; package.properties<br/>
  * &nbsp; &nbsp; &nbsp; FooAction.java<br/>
  * &nbsp; &nbsp; &nbsp; FooAction.properties<br/>
- * <p/>
+ * <p>
  * If FooAction.properties does not exist, com/acme/action/package.properties will be searched for, if
  * not found com/acme/package.properties, if not found com/package.properties, etc.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: packagenote -->
- * <p/>
+ *
  * <!-- START SNIPPET: globalresource -->
- * A global resource bundle could be specified programatically, as well as the locale.
- * <p/>
+ * <p>
+ * A global resource bundle could be specified programmatically, as well as the locale.
+ * </p>
  * <!-- END SNIPPET: globalresource -->
  *
  * @author Jason Carreira
  * @author Mark Woon
  * @author Rainer Hermanns
  * @author tm_jee
- * @version $Date$ $Id$
  */
 public class LocalizedTextUtil {
 
@@ -132,8 +132,9 @@ public class LocalizedTextUtil {
 
     /**
      * Add's the bundle to the internal list of default bundles.
-     * <p/>
+     * <p>
      * If the bundle already exists in the list it will be readded.
+     * </p>
      *
      * @param resourceBundleName the name of the bundle to add.
      */
@@ -250,9 +251,10 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Finds the given resorce bundle by it's name.
-     * <p/>
+     * Finds the given resource bundle by it's name.
+     * <p>
      * Will use <code>Thread.currentThread().getContextClassLoader()</code> as the classloader.
+     * </p>
      *
      * @param aBundleName the name of the bundle (usually it's FQN classname).
      * @param locale      the locale.
@@ -328,10 +330,12 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName. Both the key and the message
      * itself is evaluated as required.  The following algorithm is used to find the requested
      * message:
-     * <p/>
+     * </p>
+     *
      * <ol>
      * <li>Look for message in aClass' class hierarchy.
      * <ol>
@@ -350,19 +354,25 @@ public class LocalizedTextUtil {
      * <li>If still not found, look for the message in the default resource bundles.</li>
      * <li>Return defaultMessage</li>
      * </ol>
-     * <p/>
+     *
+     * <p>
      * When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
      * message for that specific key cannot be found, the general form will also be looked up
      * (i.e. user.phone[*]).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
+     * </p>
      *
      * @param aClass         the class whose name to use as the start point for the search
      * @param aTextName      the key to find the text message for
      * @param locale         the locale the message should be for
      * @param defaultMessage the message to be returned if no text message can be found in any
      *                       resource bundle
+     * @param args           arguments
+     *                       resource bundle
      * @return the localized text, or null if none can be found and no defaultMessage is provided
      */
     public static String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) {
@@ -372,10 +382,12 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName. Both the key and the message
      * itself is evaluated as required.  The following algorithm is used to find the requested
      * message:
-     * <p/>
+     * </p>
+     *
      * <ol>
      * <li>Look for message in aClass' class hierarchy.
      * <ol>
@@ -394,21 +406,28 @@ public class LocalizedTextUtil {
      * <li>If still not found, look for the message in the default resource bundles.</li>
      * <li>Return defaultMessage</li>
      * </ol>
-     * <p/>
+     *
+     * <p>
      * When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
      * message for that specific key cannot be found, the general form will also be looked up
      * (i.e. user.phone[*]).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param aClass         the class whose name to use as the start point for the search
      * @param aTextName      the key to find the text message for
      * @param locale         the locale the message should be for
      * @param defaultMessage the message to be returned if no text message can be found in any
      *                       resource bundle
+     * @param args           arguments
      * @param valueStack     the value stack to use to evaluate expressions instead of the
      *                       one in the ActionContext ThreadLocal
      * @return the localized text, or null if none can be found and no defaultMessage is provided
@@ -581,11 +600,15 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource bundle
      * with aTextName as the default message.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
+     * </p>
      *
      * @see #findText(java.util.ResourceBundle, String, java.util.Locale, String, Object[])
      */
@@ -594,13 +617,19 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource
      * bundle.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param bundle         the bundle
      * @param aTextName      the key
@@ -614,13 +643,19 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource
      * bundle.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param bundle         the bundle
      * @param aTextName      the key

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
index a25a679..04cb3e7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
@@ -21,13 +21,17 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
+ * <p>
  * This class is used to read properties lines. These lines do
  * not terminate with new-line chars but rather when there is no
  * backslash sign a the end of the line.  This is used to
  * concatenate multiple lines for readability.
- * <p/>
+ * </p>
+ *
+ * <p>
  * This class was pulled out of Jakarta Commons Configuration and
  * Jakarta Commons Lang trunk revision 476093
+ * </p>
  */
 public class PropertiesReader extends LineNumberReader {
     /**
@@ -403,7 +407,7 @@ public class PropertiesReader extends LineNumberReader {
 
     /**
      * <p>Checks if the object is in the given array.</p>
-     * <p/>
+     *
      * <p>The method returns <code>false</code> if a <code>null</code> array is passed in.</p>
      *
      * @param array        the array to search through
@@ -449,11 +453,11 @@ public class PropertiesReader extends LineNumberReader {
     /**
      * <p>Unescapes any Java literals found in the <code>String</code> to a
      * <code>Writer</code>.</p>
-     * <p/>
+     *
      * <p>For example, it will turn a sequence of <code>'\'</code> and
      * <code>'n'</code> into a newline character, unless the <code>'\'</code>
      * is preceded by another <code>'\'</code>.</p>
-     * <p/>
+     *
      * <p>A <code>null</code> string input has no effect.</p>
      *
      * @param out the <code>Writer</code> used to output unescaped characters

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index db1af6d..fe6f76e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -56,7 +56,7 @@ public class TextParseUtil {
      * could be null, if it is it will just be skipped as if it is just calling
      * {@link #translateVariables(char, String, ValueStack)}.
      *
-     * <p/>
+     * <br>
      *
      * A typical use-case would be when we need to URL Encode the parsed value. To do so
      * we could just supply a URLEncodingEvaluator for example.
@@ -266,24 +266,24 @@ public class TextParseUtil {
 
 
     /**
+     * <p>
      * A parsed value evaluator for {@link TextParseUtil}. It could be supplied by
      * calling {@link TextParseUtil#translateVariables(char, String, ValueStack, Class, ParsedValueEvaluator)}.
+     * </p>
      *
-     * <p/>
-     *
+     * <p>
      * By supplying this <code>ParsedValueEvaluator</code>, the parsed value
      * (parsed against the value stack) value will be
      * given to <code>ParsedValueEvaluator</code> to be evaluated before the
      * translateVariable process goes on.
+     * </p>
      *
-     * <p/>
-     *
+     * <p>
      * A typical use-case would be to have a custom <code>ParseValueEvaluator</code>
      * to URL Encode the parsed value.
+     * </p>
      *
      * @author tm_jee
-     *
-     * @version $Date$ $Id$
      */
     public static interface ParsedValueEvaluator {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
index 2a50197..fa1f05b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
@@ -52,13 +52,17 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Inserts the specified element at the specified position in this list. Shifts the element
      * currently at that position (if any) and any subsequent elements to the right (adds one to
      * their indices).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index   index at which the specified element is to be inserted.
      * @param element element to be inserted.
@@ -75,9 +79,13 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Appends the specified element to the end of this list.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method performs any necessary type conversion.
+     * </p>
      *
      * @param element element to be appended to this list.
      * @return <tt>true</tt> (as per the general contract of Collection.add).
@@ -90,13 +98,17 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Appends all of the elements in the specified Collection to the end of this list, in the order
      * that they are returned by the specified Collection's Iterator.  The behavior of this
      * operation is undefined if the specified Collection is modified while the operation is in
      * progress.  (This implies that the behavior of this call is undefined if the specified
      * Collection is this list, and this list is nonempty.)
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method performs any necessary type conversion.
+     * </p>
      *
      * @param collection the elements to be inserted into this list.
      * @return <tt>true</tt> if this list changed as a result of the call.
@@ -116,14 +128,18 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Inserts all of the elements in the specified Collection into this list, starting at the
      * specified position.  Shifts the element currently at that position (if any) and any
      * subsequent elements to the right (increases their indices).  The new elements will appear in
      * the list in the order that they are returned by the specified Collection's iterator.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index index at which to insert first element from the specified collection.
      * @param collection     elements to be inserted into this list.
@@ -153,10 +169,14 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Returns the element at the specified position in this list.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * An object is guaranteed to be returned since it will create empty beans to fill the gap
      * between the current list size and the requested index.
+     * </p>
      *
      * @param index index of element to return.
      * @return the element at the specified position in this list.
@@ -179,11 +199,15 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Replaces the element at the specified position in this list with the specified element.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index   index of element to replace.
      * @param element element to be stored at the specified position.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
index 55fe34f..e44e261 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
@@ -33,12 +33,16 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
+ * <p>
  * The ReloadingClassLoader uses a delegation mechanism to allow
  * classes to be reloaded. That means that loadClass calls may
  * return different results if the class was changed in the underlying
  * ResourceStore.
- * <p/>
+ * </p>
+ *
+ * <p>
  * class taken from Apache JCI
+ * </p>
  */
 public class ReloadingClassLoader extends ClassLoader {
     private static final Logger LOG = LogManager.getLogger(ReloadingClassLoader.class);

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
index 50fde4a..a096264 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
@@ -25,15 +25,24 @@ public interface ClassFinder {
     boolean isAnnotationPresent(Class<? extends Annotation> annotation);
 
     /**
+     * <p>
      * Returns a list of classes that could not be loaded in last invoked findAnnotated* method.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list will only contain entries of classes whose byte code matched the requirements
      * of last invoked find* method, but were unable to be loaded and included in the results.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list returned is unmodifiable.  Once obtained, the returned list will be a live view of the
      * results from the last findAnnotated* method call.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is not thread safe.
+     * </p>
+     *
      * @return an unmodifiable live view of classes that could not be loaded in previous findAnnotated* call.
      */
     List<String> getClassesNotLoaded();

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
index c7f9fd1..75368e2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
@@ -30,7 +30,6 @@ import java.util.jar.JarFile;
 
 /**
  * @author David Blevins
- * @version $Rev$ $Date$
  */
 public class ResourceFinder {
     private static final Logger LOG = LogManager.getLogger(ResourceFinder.class);
@@ -84,16 +83,22 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Returns a list of resources that could not be loaded in the last invoked findAvailable* or
      * mapAvailable* methods.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list will only contain entries of resources that match the requirements
      * of the last invoked findAvailable* or mapAvailable* methods, but were unable to be
      * loaded and included in their results.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list returned is unmodifiable and the results of this method will change
      * after each invocation of a findAvailable* or mapAvailable* methods.
-     * <p/>
+     * </p>
+     *
      * This method is not thread safe.
      */
     public List<String> getResourcesNotLoaded() {
@@ -200,24 +205,34 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Reads the contents of all non-directory URLs immediately under the specified
      * location and returns them in a map keyed by the file name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URLs that cannot be read will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/serializables/one
      * META-INF/serializables/two
      * META-INF/serializables/three
      * META-INF/serializables/four/foo.txt
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("serializables");
      * map.contains("one");  // true
      * map.contains("two");  // true
      * map.contains("three");  // true
      * map.contains("four");  // false
+     * </pre>
      *
      * @param uri
      * @return a list of the content of each resource URL found
@@ -236,25 +251,35 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Reads the contents of all non-directory URLs immediately under the specified
      * location and returns them in a map keyed by the file name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Individual URLs that cannot be read are skipped and added to the
      * list of 'resourcesNotLoaded'
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/serializables/one
      * META-INF/serializables/two      # not readable
      * META-INF/serializables/three
      * META-INF/serializables/four/foo.txt
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("serializables");
      * map.contains("one");  // true
      * map.contains("two");  // false
      * map.contains("three");  // true
      * map.contains("four");  // false
+     * </pre>
      *
      * @param uri
      * @return a list of the content of each resource URL found
@@ -298,10 +323,14 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes findAllStrings assuming the strings are
      * the names of a classes that should be loaded and returned.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL or class that cannot be loaded will cause an exception to be thrown.
+     * </p>
      *
      * @param uri
      * @return
@@ -319,11 +348,15 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes findAvailableStrings assuming the strings are
      * the names of a classes that should be loaded and returned.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be skipped and placed in the
      * 'resourcesNotLoaded' collection.
+     * </p>
      *
      * @param uri
      * @return
@@ -345,22 +378,30 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes mapAllStrings assuming the value of each entry in the
      * map is the name of a class that should be loaded.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     * <pre>
      * META-INF/xmlparsers/xerces
      * META-INF/xmlparsers/crimson
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("xmlparsers");
      * map.contains("xerces");  // true
      * map.contains("crimson");  // true
      * Class xercesClass = map.get("xerces");
      * Class crimsonClass = map.get("crimson");
+     * </pre>
      *
      * @param uri
      * @return
@@ -380,23 +421,31 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes mapAvailableStrings assuming the value of each entry in the
      * map is the name of a class that should be loaded.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be skipped and placed in the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     * <pre>
      * META-INF/xmlparsers/xerces
      * META-INF/xmlparsers/crimson
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("xmlparsers");
      * map.contains("xerces");  // true
      * map.contains("crimson");  // true
      * Class xercesClass = map.get("xerces");
      * Class crimsonClass = map.get("crimson");
+     * </p>
      *
      * @param uri
      * @return
@@ -426,20 +475,28 @@ public class ResourceFinder {
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.OutputStream
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Class clazz = finder.findImplementation(java.io.InputStream.class);
      * clazz.getName();  // returns "org.acme.AcmeInputStream"
-     *
+     * </pre>
      * @param interfase a superclass or interface
      * @return
      * @throws IOException            if the URL cannot be read
@@ -456,23 +513,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or assigned to the specified interface will be cause
      * an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.InputStream    # contains the classname org.widget.NeatoInputStream
      * META-INF/java.io.InputStream    # contains the classname com.foo.BarInputStream
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List classes = finder.findAllImplementations(java.io.InputStream.class);
      * classes.contains("org.acme.AcmeInputStream");  // true
      * classes.contains("org.widget.NeatoInputStream");  // true
      * classes.contains("com.foo.BarInputStream");  // true
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -494,24 +561,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or are not assignable to the specified class will be
      * skipped and placed in the 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.InputStream    # contains the classname org.widget.NeatoInputStream
      * META-INF/java.io.InputStream    # contains the classname com.foo.BarInputStream
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List classes = finder.findAllImplementations(java.io.InputStream.class);
      * classes.contains("org.acme.AcmeInputStream");  // true
      * classes.contains("org.widget.NeatoInputStream");  // true
      * classes.contains("com.foo.BarInputStream");  // true
-     *
+     * </pre>
      * @param interfase a superclass or interface
      * @return
      * @throws IOException if classLoader.getResources throws an exception
@@ -536,23 +612,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a directory in the classpath that holds files
-     * containing the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * containing the name of a class that implements or is a subclass of the specified class.
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or assigned to the specified interface will be cause
      * an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.net.URLStreamHandler/jar
      * META-INF/java.net.URLStreamHandler/file
      * META-INF/java.net.URLStreamHandler/http
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
      * Class jarUrlHandler = map.get("jar");
      * Class fileUrlHandler = map.get("file");
      * Class httpUrlHandler = map.get("http");
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -576,23 +662,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a directory in the classpath that holds files
-     * containing the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * containing the name of a class that implements or is a subclass of the specified class.
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or are not assignable to the specified class will be
      * skipped and placed in the 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.net.URLStreamHandler/jar
      * META-INF/java.net.URLStreamHandler/file
      * META-INF/java.net.URLStreamHandler/http
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
      * Class jarUrlHandler = map.get("jar");
      * Class fileUrlHandler = map.get("file");
      * Class httpUrlHandler = map.get("http");
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -626,14 +722,22 @@ public class ResourceFinder {
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
     /**
+     * <p>
      * Finds the corresponding resource and reads it in as a properties file
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>>
      * META-INF/widget.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Properties widgetProps = finder.findProperties("widget.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -651,18 +755,28 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/app.properties
      * META-INF/app.properties
      * META-INF/app.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> appProps = finder.findAllProperties("app.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -683,19 +797,29 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will be added to the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/app.properties
      * META-INF/app.properties
      * META-INF/app.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> appProps = finder.findAvailableProperties("app.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -721,21 +845,31 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/jdbcDrivers/oracle.properties
      * META-INF/jdbcDrivers/mysql.props
      * META-INF/jdbcDrivers/derby
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
+     * </pre>
      *
      * @param uri
      * @return
@@ -754,22 +888,32 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will be added to the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/jdbcDrivers/oracle.properties
      * META-INF/jdbcDrivers/mysql.props
      * META-INF/jdbcDrivers/derby
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
+     * </p>
      *
      * @param uri
      * @return
@@ -825,7 +969,7 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpckages from jars or dirs
+     * Gets a list of subpackages from jars or dirs
      */
     public Set<String> findPackages(String uri) throws IOException {
         String basePath = path + uri;
@@ -854,7 +998,7 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpckages from jars or dirs
+     * Gets a list of subpackages from jars or dirs
      */
     public Map<URL, Set<String>> findPackagesMap(String uri) throws IOException {
         String basePath = path + uri;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
index 7438113..66cc005 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
@@ -37,10 +37,15 @@ import java.lang.reflect.Proxy;
 public class ObjectProfiler {
 
     /**
+     * <p>
      * Given a class, and an interface that it implements, return a proxied version of the class that implements
      * the interface.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The usual use of this is to profile methods from Factory objects:
+     * </p>
+     *
      * <pre>
      * public PersistenceManager getPersistenceManager()
      * {
@@ -53,8 +58,10 @@ public class ObjectProfiler {
      *   return ObjectProfiler.getProfiledObject(PersistenceManager.class, new DefaultPersistenceManager());
      * }
      * </pre>
-     * <p/>
+     *
+     * <p>
      * A side effect of this is that you will no longer be able to downcast to DefaultPersistenceManager.  This is probably a *good* thing.
+     * </p>
      *
      * @param interfaceClazz The interface to implement.
      * @param o              The object to proxy