Fix wrong closing HTML tags in javadoc comments
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/eb564a25 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/eb564a25 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/eb564a25 Branch: refs/heads/master Commit: eb564a25e111269db41bed99a7c781d1ed227270 Parents: f85c60e Author: Johannes Geppert <[email protected]> Authored: Thu Jul 16 22:02:20 2015 +0200 Committer: Johannes Geppert <[email protected]> Committed: Thu Jul 16 22:02:21 2015 +0200 ---------------------------------------------------------------------- .../freemarker/CustomFreemarkerManager.java | 12 +- .../src/main/webapp/WEB-INF/view/index.jsp | 5 +- .../java/com/opensymphony/xwork2/Action.java | 9 +- .../com/opensymphony/xwork2/ActionContext.java | 14 +- .../opensymphony/xwork2/ActionInvocation.java | 34 ++- .../com/opensymphony/xwork2/ActionProxy.java | 6 +- .../opensymphony/xwork2/ActionProxyFactory.java | 10 +- .../com/opensymphony/xwork2/ActionSupport.java | 19 +- .../opensymphony/xwork2/DefaultActionProxy.java | 5 +- .../com/opensymphony/xwork2/LocaleProvider.java | 4 +- .../com/opensymphony/xwork2/ObjectFactory.java | 5 +- .../java/com/opensymphony/xwork2/Result.java | 5 +- .../com/opensymphony/xwork2/TextProvider.java | 17 +- .../xwork2/TextProviderSupport.java | 4 +- .../com/opensymphony/xwork2/UnknownHandler.java | 4 +- .../xwork2/ValidationAwareSupport.java | 20 +- .../xwork2/config/ConfigurationManager.java | 9 +- .../config/entities/InterceptorConfig.java | 4 +- .../config/entities/InterceptorStackConfig.java | 4 +- .../xwork2/config/entities/PackageConfig.java | 10 +- .../xwork2/config/entities/Parameterizable.java | 10 +- .../xwork2/config/entities/ResultConfig.java | 4 +- .../config/entities/ResultTypeConfig.java | 4 +- .../providers/XmlConfigurationProvider.java | 5 +- .../xwork2/config/providers/XmlHelper.java | 7 +- .../xwork2/inject/ContainerBuilder.java | 15 +- .../xwork2/inject/ContainerImpl.java | 10 +- .../xwork2/inject/ExternalContext.java | 10 +- .../com/opensymphony/xwork2/inject/Key.java | 10 +- .../com/opensymphony/xwork2/inject/Scope.java | 10 +- .../xwork2/inject/util/ReferenceCache.java | 10 +- .../xwork2/inject/util/ReferenceMap.java | 16 +- .../xwork2/interceptor/AliasInterceptor.java | 19 +- .../xwork2/interceptor/ChainingInterceptor.java | 28 +- .../interceptor/ConversionErrorInterceptor.java | 16 +- .../interceptor/DefaultWorkflowInterceptor.java | 10 +- .../ExceptionMappingInterceptor.java | 24 +- .../xwork2/interceptor/I18nInterceptor.java | 43 ++- .../xwork2/interceptor/Interceptor.java | 163 +++++------ .../xwork2/interceptor/LoggingInterceptor.java | 19 +- .../interceptor/MethodFilterInterceptor.java | 9 +- .../interceptor/ModelDrivenInterceptor.java | 23 +- .../xwork2/interceptor/NoParameters.java | 6 +- .../interceptor/ParametersInterceptor.java | 6 +- .../interceptor/PrefixMethodInvocationUtil.java | 38 ++- .../xwork2/interceptor/PrepareInterceptor.java | 29 +- .../ScopedModelDrivenInterceptor.java | 12 +- .../StaticParametersInterceptor.java | 10 +- .../xwork2/interceptor/ValidationAware.java | 2 - .../xwork2/interceptor/annotations/After.java | 6 +- .../AnnotationParameterFilterIntereptor.java | 7 +- .../AnnotationWorkflowInterceptor.java | 23 +- .../xwork2/interceptor/annotations/Before.java | 6 +- .../interceptor/annotations/BeforeResult.java | 6 +- .../interceptor/annotations/InputConfig.java | 6 +- .../xwork2/spring/SpringObjectFactory.java | 8 +- .../ActionAutowiringInterceptor.java | 14 +- .../xwork2/util/ClassLoaderUtil.java | 23 +- .../opensymphony/xwork2/util/CreateIfNull.java | 11 +- .../com/opensymphony/xwork2/util/Element.java | 11 +- .../java/com/opensymphony/xwork2/util/Key.java | 11 +- .../opensymphony/xwork2/util/KeyProperty.java | 12 +- .../xwork2/util/LocalizedTextUtil.java | 89 ++++-- .../xwork2/util/PropertiesReader.java | 12 +- .../opensymphony/xwork2/util/TextParseUtil.java | 14 +- .../com/opensymphony/xwork2/util/XWorkList.java | 36 ++- .../util/classloader/ReloadingClassLoader.java | 6 +- .../xwork2/util/finder/ClassFinder.java | 15 +- .../xwork2/util/finder/ResourceFinder.java | 278 ++++++++++++++----- .../xwork2/util/profiling/ObjectProfiler.java | 11 +- .../xwork2/util/profiling/UtilTimerStack.java | 251 +++++++++-------- .../util/reflection/ReflectionContextState.java | 9 +- .../AnnotationActionValidatorManager.java | 16 +- .../DefaultActionValidatorManager.java | 18 +- .../xwork2/validator/ValidationInterceptor.java | 62 +++-- .../xwork2/validator/Validator.java | 206 +++++++------- .../ConditionalVisitorFieldValidator.java | 23 +- .../ConversionErrorFieldValidator.java | 11 +- .../validator/annotations/CustomValidator.java | 9 +- .../annotations/DateRangeFieldValidator.java | 9 +- .../annotations/DoubleRangeFieldValidator.java | 9 +- .../validator/annotations/EmailValidator.java | 11 +- .../annotations/ExpressionValidator.java | 9 +- .../annotations/FieldExpressionValidator.java | 11 +- .../annotations/IntRangeFieldValidator.java | 11 +- .../annotations/RegexFieldValidator.java | 11 +- .../annotations/RequiredFieldValidator.java | 9 +- .../annotations/RequiredStringValidator.java | 8 +- .../annotations/ShortRangeFieldValidator.java | 8 +- .../annotations/StringLengthFieldValidator.java | 9 +- .../validator/annotations/Validation.java | 11 +- .../annotations/ValidationParameter.java | 8 +- .../validator/annotations/Validations.java | 9 +- .../annotations/VisitorFieldValidator.java | 11 +- .../ConversionErrorFieldValidator.java | 4 +- .../validators/DateRangeFieldValidator.java | 3 - .../validators/ExpressionValidator.java | 3 +- .../validators/FieldExpressionValidator.java | 7 +- ...ateConversionErrorFieldValidatorSupport.java | 22 +- .../validators/RequiredFieldValidator.java | 8 +- .../validators/RequiredStringValidator.java | 2 - .../validators/StringLengthFieldValidator.java | 9 +- .../validators/VisitorFieldValidator.java | 6 +- .../java/org/apache/struts2/StrutsStatics.java | 17 +- .../apache/struts2/components/ActionError.java | 2 +- .../struts2/components/ActionMessage.java | 2 +- .../org/apache/struts2/components/Anchor.java | 11 +- .../org/apache/struts2/components/Bean.java | 14 +- .../org/apache/struts2/components/Checkbox.java | 2 +- .../apache/struts2/components/CheckboxList.java | 2 +- .../org/apache/struts2/components/ComboBox.java | 14 +- .../apache/struts2/components/Component.java | 30 +- .../org/apache/struts2/components/Date.java | 14 +- .../struts2/components/DoubleListUIBean.java | 7 +- .../apache/struts2/components/DoubleSelect.java | 2 +- .../apache/struts2/components/FieldError.java | 9 +- .../org/apache/struts2/components/File.java | 2 +- .../org/apache/struts2/components/Form.java | 33 ++- .../struts2/components/GenericUIBean.java | 57 ++-- .../org/apache/struts2/components/Head.java | 2 +- .../org/apache/struts2/components/Hidden.java | 2 +- .../org/apache/struts2/components/I18n.java | 6 +- .../org/apache/struts2/components/Include.java | 10 +- .../struts2/components/InputTransferSelect.java | 13 +- .../struts2/components/IteratorComponent.java | 19 +- .../org/apache/struts2/components/Label.java | 8 +- .../apache/struts2/components/ListUIBean.java | 11 +- .../org/apache/struts2/components/Number.java | 44 +-- .../org/apache/struts2/components/OptGroup.java | 11 +- .../components/OptionTransferSelect.java | 12 +- .../org/apache/struts2/components/Param.java | 34 ++- .../org/apache/struts2/components/Password.java | 10 +- .../org/apache/struts2/components/Property.java | 11 +- .../org/apache/struts2/components/Push.java | 2 +- .../org/apache/struts2/components/Radio.java | 11 +- .../org/apache/struts2/components/Reset.java | 2 +- .../org/apache/struts2/components/Select.java | 9 +- .../java/org/apache/struts2/components/Set.java | 11 +- .../org/apache/struts2/components/Text.java | 18 +- .../org/apache/struts2/components/TextArea.java | 2 +- .../apache/struts2/components/TextField.java | 9 +- .../org/apache/struts2/components/Token.java | 2 +- .../org/apache/struts2/components/UIBean.java | 33 ++- .../java/org/apache/struts2/components/URL.java | 2 +- .../apache/struts2/components/UpDownSelect.java | 8 +- .../struts2/components/template/Template.java | 4 +- .../template/TemplateEngineManager.java | 11 +- .../dispatcher/DefaultStaticContentLoader.java | 13 +- .../apache/struts2/dispatcher/Dispatcher.java | 14 +- .../struts2/dispatcher/mapper/ActionMapper.java | 16 +- .../dispatcher/mapper/DefaultActionMapper.java | 32 ++- .../mapper/PrefixBasedActionMapper.java | 14 +- .../multipart/MultiPartRequestWrapper.java | 17 +- .../factory/PrefixBasedActionProxyFactory.java | 10 +- .../ActionMappingParametersInteceptor.java | 40 +-- .../struts2/interceptor/ApplicationAware.java | 8 +- .../interceptor/CheckboxInterceptor.java | 14 +- .../interceptor/ClearSessionInterceptor.java | 13 +- .../struts2/interceptor/CookieInterceptor.java | 26 +- .../interceptor/CreateSessionInterceptor.java | 17 +- .../interceptor/ExecuteAndWaitInterceptor.java | 51 ++-- .../interceptor/FileUploadInterceptor.java | 87 +++--- .../struts2/interceptor/I18nInterceptor.java | 16 +- .../interceptor/MessageStoreInterceptor.java | 43 +-- .../struts2/interceptor/ParameterAware.java | 15 +- .../struts2/interceptor/RequestAware.java | 8 +- .../struts2/interceptor/RolesInterceptor.java | 7 +- .../struts2/interceptor/ScopeInterceptor.java | 22 +- .../interceptor/ServletConfigInterceptor.java | 16 +- .../interceptor/ServletRequestAware.java | 15 +- .../interceptor/ServletResponseAware.java | 13 +- .../struts2/interceptor/SessionAware.java | 13 +- .../StrutsConversionErrorInterceptor.java | 14 +- .../struts2/interceptor/TokenInterceptor.java | 27 +- .../TokenSessionStoreInterceptor.java | 19 +- .../debugging/DebuggingInterceptor.java | 12 +- .../apache/struts2/result/HttpHeaderResult.java | 29 +- .../apache/struts2/result/PostbackResult.java | 8 +- .../struts2/result/ServletDispatcherResult.java | 13 +- .../struts2/result/ServletRedirectResult.java | 13 +- .../org/apache/struts2/result/StreamResult.java | 11 +- .../struts2/result/StrutsResultSupport.java | 58 ++-- .../apache/struts2/result/VelocityResult.java | 20 +- .../org/apache/struts2/util/AttributeMap.java | 7 +- .../java/org/apache/struts2/util/Counter.java | 4 +- .../struts2/util/StrutsTypeConverter.java | 15 +- .../org/apache/struts2/util/StrutsUtil.java | 3 +- .../views/freemarker/FreemarkerManager.java | 26 +- .../views/freemarker/FreemarkerResult.java | 25 +- .../views/freemarker/ScopesHashModel.java | 8 +- .../views/freemarker/StrutsBeanWrapper.java | 7 +- .../struts2/views/velocity/VelocityManager.java | 12 +- .../struts2/views/xslt/AdapterFactory.java | 10 +- .../struts2/views/xslt/StringAdapter.java | 6 +- .../org/apache/struts2/interceptor/wait.ftl | 4 +- .../xwork2/ExternalReferenceAction.java | 7 - .../test/java/com/opensymphony/xwork2/Foo.java | 7 - .../xwork2/config/ConfigurationTest.java | 4 - .../providers/NoNoArgsConstructorAction.java | 4 +- .../providers/PrivateConstructorAction.java | 6 +- .../interceptor/AliasInterceptorTest.java | 6 +- .../accessor/XWorkListPropertyAccessorTest.java | 4 - .../DefaultValidatorFileParserTest.java | 4 - .../xwork2/validator/IntRangeValidatorTest.java | 4 - .../validator/LongRangeValidatorTest.java | 5 - .../validator/RegexFieldValidatorTest.java | 6 +- .../validator/ShortRangeValidatorTest.java | 5 - .../validator/SimpleActionValidationTest.java | 4 - .../components/AnotherActionComponentTest.java | 7 - .../struts2/views/jsp/AbstractUITagTest.java | 2 +- .../apache/struts2/views/jsp/AnchorTagTest.java | 28 +- .../struts2/views/jsp/StrutsMockJspWriter.java | 5 +- .../struts2/views/jsp/ui/CheckboxListTest.java | 2 +- .../struts2/views/jsp/ui/CheckboxTest.java | 2 +- .../apache/struts2/views/jsp/ui/FileTest.java | 2 +- .../struts2/views/jsp/ui/FormTagTest.java | 13 +- .../struts2/views/jsp/ui/HeadTagTest.java | 2 +- .../apache/struts2/views/jsp/ui/HiddenTest.java | 2 +- .../apache/struts2/views/jsp/ui/LabelTest.java | 2 +- .../apache/struts2/views/jsp/ui/ResetTest.java | 2 +- .../apache/struts2/views/jsp/ui/SubmitTest.java | 2 +- .../struts2/views/jsp/ui/TextareaTest.java | 2 +- .../struts2/views/jsp/ui/TextfieldTest.java | 2 +- core/src/test/resources/XSLTResultTest3.xsl | 3 +- .../beanvalidation/constraints/FieldMatch.java | 7 +- .../validation/constant/ValidatorConstants.java | 2 +- .../apache/struts2/validators/DWRValidator.java | 5 +- .../struts2/jasper/runtime/PageContextImpl.java | 2 +- .../struts2/views/gxp/AbstractGxpResult.java | 10 +- .../org/apache/struts2/views/gxp/GxpResult.java | 16 +- .../jasperreports/JasperReportsResult.java | 28 +- .../apache/struts2/dispatcher/ChartResult.java | 30 +- .../org/apache/struts2/json/JSONResult.java | 21 +- .../java/org/apache/struts2/json/JSONUtil.java | 6 +- .../org/apache/struts2/json/JSONEnumTest.java | 2 +- .../apache/struts2/osgi/OsgiHostFactory.java | 11 +- .../oval/interceptor/OValValidationManager.java | 16 +- .../multipart/PellMultiPartRequest.java | 3 +- .../struts2/plexus/PlexusObjectFactory.java | 8 +- .../dispatcher/DirectRenderFromEventAction.java | 6 +- .../portlet/result/PortletVelocityResult.java | 10 +- .../freemarker/PortletFreemarkerResult.java | 16 +- .../struts2/rest/RestWorkflowInterceptor.java | 23 +- .../src/main/java/org/apache/struts2/Main.java | 5 +- .../org/apache/struts2/sitegraph/SiteGraph.java | 6 +- .../sitemesh/FreemarkerDecoratorServlet.java | 16 +- .../sitemesh/VelocityDecoratorServlet.java | 16 +- .../spring/StrutsSpringObjectFactory.java | 7 +- .../tiles/StrutsTilesRequestContext.java | 8 +- 249 files changed, 2344 insertions(+), 1692 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java index 3eb4e08..5cf6b49 100644 --- a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java +++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java @@ -28,18 +28,20 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** + * <p> * This is an example of a custom FreemarkerManager, mean to be * instantiated through Spring. - * <p/> - * <p/> + * </p> + * + * <p> * It will add into Freemarker's model * an utility class called {@link CustomFreemarkerManagerUtil} as a simple * example demonstrating how to extends FreemarkerManager. - * <p/> - * <p/> + * </p> + * <p> * The {@link CustomFreemarkerManagerUtil} will be created by Spring and * injected through constructor injection. - * <p/> + * </p> */ public class CustomFreemarkerManager extends FreemarkerManager { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp ---------------------------------------------------------------------- diff --git a/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp b/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp index 5cd1fef..10f2e87 100644 --- a/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp +++ b/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp @@ -1,7 +1,8 @@ <%@ taglib prefix="s" uri="/struts-tags" %> -<H2>Welcome to the Struts data table portlet</H2> -<p/> +<h2>Welcome to the Struts data table portlet</h2> +<p> This a simple table showing the database data: +</p> <table> <tr> <th>Name</th> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/Action.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/Action.java b/core/src/main/java/com/opensymphony/xwork2/Action.java index f10a431..c9274c5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/Action.java +++ b/core/src/main/java/com/opensymphony/xwork2/Action.java @@ -17,9 +17,10 @@ package com.opensymphony.xwork2; /** * All actions <b>may</b> implement this interface, which exposes the <code>execute()</code> method. - * <p/> + * <p> * However, as of XWork 1.1, this is <b>not</b> required and is only here to assist users. You are free to create POJOs * that honor the same contract defined by this interface without actually implementing the interface. + * </p> */ public interface Action { @@ -44,6 +45,7 @@ public interface Action { public static final String ERROR = "error"; /** + * <p> * The action execution require more input * in order to succeed. * This result is typically used if a form @@ -51,10 +53,13 @@ public interface Action { * to provide defaults for a form. The * form associated with the handler should be * shown to the end user. - * <p/> + * </p> + * + * <p> * This result is also used if the given input * params are invalid, meaning the user * should try providing input again. + * </p> */ public static final String INPUT = "input"; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionContext.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java index 60ff183..74e45d3 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java @@ -25,16 +25,22 @@ import java.util.Map; /** + * <p> * The ActionContext is the context in which an {@link Action} is executed. Each context is basically a - * container of objects an action needs for execution like the session, parameters, locale, etc. <p> - * <p/> + * container of objects an action needs for execution like the session, parameters, locale, etc. + * </p> + * + * <p> * The ActionContext is thread local which means that values stored in the ActionContext are * unique per thread. See the {@link ThreadLocal} class for more information. The benefit of * this is you don't need to worry about a user specific action context, you just get it: - * <p/> + * </p> + * * <ul><code>ActionContext context = ActionContext.getContext();</code></ul> - * <p/> + * + * <p> * Finally, because of the thread local usage you don't need to worry about making your actions thread safe. + * </p> * * @author Patrick Lightbody * @author Bill Lynch (docs) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java b/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java index d94516b..1289c84 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java @@ -83,23 +83,31 @@ public interface ActionInvocation extends Serializable { /** * Sets the result code, possibly overriding the one returned by the * action. - * <p/> + * + * <p> * The "intended" purpose of this method is to allow PreResultListeners to * override the result code returned by the Action. - * <p/> + * </p> + * + * <p> * If this method is used before the Action executes, the Action's returned * result code will override what was set. However the Action could (if * specifically coded to do so) inspect the ActionInvocation to see that * someone "upstream" (e.g. an Interceptor) had suggested a value as the * result, and it could therefore return the same value itself. - * <p/> + * </p> + * + * <p> * If this method is called between the Action execution and the Result * execution, then the value set here will override the result code the * action had returned. Creating an Interceptor that implements - * {@link PreResultListener} will give you this oportunity. - * <p/> + * {@link PreResultListener} will give you this opportunity. + * </p> + * + * <p> * If this method is called after the Result has been executed, it will * have the effect of raising an IllegalStateException. + * </p> * * @param resultCode the result code. * @throws IllegalStateException if called after the Result has been executed. @@ -117,11 +125,15 @@ public interface ActionInvocation extends Serializable { /** * Register a {@link PreResultListener} to be notified after the Action is executed and * before the Result is executed. - * <p/> + * + * <p> * The ActionInvocation implementation must guarantee that listeners will be called in * the order in which they are registered. - * <p/> + * </p> + * + * <p> * Listener registration and execution does not need to be thread-safe. + * </p> * * @param listener the listener to add. */ @@ -129,11 +141,13 @@ public interface ActionInvocation extends Serializable { /** * Invokes the next step in processing this ActionInvocation. - * <p/> + * + * <p> * If there are more Interceptors, this will call the next one. If Interceptors choose not to short-circuit * ActionInvocation processing and return their own return code, they will call invoke() to allow the next Interceptor * to execute. If there are no more Interceptors to be applied, the Action is executed. * If the {@link ActionProxy#getExecuteResult()} method returns <tt>true</tt>, the Result is also executed. + * </p> * * @throws Exception can be thrown. * @return the return code. @@ -142,9 +156,11 @@ public interface ActionInvocation extends Serializable { /** * Invokes only the Action (not Interceptors or Results). - * <p/> + * + * <p> * This is useful in rare situations where advanced usage with the interceptor/action/result workflow is * being manipulated for certain functionality. + * </p> * * @return the return code. * @throws Exception can be thrown. http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java b/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java index 95110ac..6064d26 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java @@ -20,9 +20,11 @@ import com.opensymphony.xwork2.config.entities.ActionConfig; /** * ActionProxy is an extra layer between XWork and the action so that different proxies are possible. - * <p/> - * An example of this would be a remote proxy, where the layer between XWork and the action might be RMI or SOAP. * + * <p> + * An example of this would be a remote proxy, where the layer between XWork and the action might be RMI or SOAP. + * </p> + * * @author Jason Carreira */ public interface ActionProxy { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java b/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java index 9fba8f4..efbc1e6 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java @@ -20,9 +20,11 @@ import java.util.Map; /** * The {@link ActionProxyFactory} is used to create {@link ActionProxy}s to be executed. - * <p/> + * + * <p> * It is the entry point to XWork that is used by a dispatcher to create an {@link ActionProxy} to execute * for a particular namespace and action name. + * </p> * * @author Jason Carreira * @see DefaultActionProxyFactory @@ -32,8 +34,10 @@ public interface ActionProxyFactory { /** * Creates an {@link ActionProxy} for the given namespace and action name by looking up the configuration.The ActionProxy * should be fully initialized when it is returned, including having an {@link ActionInvocation} instance associated. - * <p/> - * <b>Note:</b> This is the most used create method. + * + * <p> + * <b>Note:</b> This is the most used create method. + * </p> * * @param namespace the namespace of the action, can be <tt>null</tt> * @param actionName the name of the action http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java index 6d56b25..1506fad 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java @@ -162,10 +162,14 @@ public class ActionSupport implements Action, Validateable, ValidationAware, Tex /** * A default implementation that does nothing an returns "success". - * <p/> + * + * <p> * Subclasses should override this method to provide their business logic. - * <p/> + * </p> + * + * <p> * See also {@link com.opensymphony.xwork2.Action#execute()}. + * </p> * * @return returns {@link #SUCCESS} * @throws Exception can be thrown by subclasses. @@ -246,13 +250,16 @@ public class ActionSupport implements Action, Validateable, ValidationAware, Tex * <!-- START SNIPPET: pause-method --> * Stops the action invocation immediately (by throwing a PauseException) and causes the action invocation to return * the specified result, such as {@link #SUCCESS}, {@link #INPUT}, etc. - * <p/> - * <p/> + * + * <p> * The next time this action is invoked (and using the same continuation ID), the method will resume immediately * after where this method was called, with the entire call stack in the execute method restored. - * <p/> - * <p/> + * </p> + * + * <p> * Note: this method can <b>only</b> be called within the {@link #execute()} method. + * </p> + * * <!-- END SNIPPET: pause-method --> * * @param result the result to return - the same type of return value in the {@link #execute()} method. http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java b/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java index 544fbf3..1e4170d 100644 --- a/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java +++ b/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java @@ -68,8 +68,11 @@ public class DefaultActionProxy implements ActionProxy, Serializable { /** * This constructor is private so the builder methods (create*) should be used to create an DefaultActionProxy. - * <p/> + * + * <p> * The reason for the builder methods is so that you can use a subclass to create your own DefaultActionProxy instance + * </p> + * * (like a RMIActionProxy). */ protected DefaultActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext) { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java b/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java index 6fc4ea9..9584e4e 100644 --- a/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java +++ b/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java @@ -20,11 +20,13 @@ import java.util.Locale; /** * Indicates that the implementing class can provide its own {@link Locale}. - * <p/> + * + * <p> * This is useful for when an action may wish override the default locale. All that is * needed is to implement this interface and return your own custom locale. * The {@link TextProvider} interface uses this interface heavily for retrieving * internationalized messages from resource bundles. + * </p> * * @author Jason Carreira */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java b/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java index 5b60a32..0b055a8 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java +++ b/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java @@ -36,10 +36,11 @@ import java.util.Map; /** * ObjectFactory is responsible for building the core framework objects. Users may register their * own implementation of the ObjectFactory to control instantiation of these Objects. - * <p/> + * + * <p> * This default implementation uses the {@link #buildBean(Class,java.util.Map) buildBean} * method to create all classes (interceptors, actions, results, etc). - * <p/> + * </p> * * @author Jason Carreira */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/Result.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/Result.java b/core/src/main/java/com/opensymphony/xwork2/Result.java index 3d65377..c8d8bed 100644 --- a/core/src/main/java/com/opensymphony/xwork2/Result.java +++ b/core/src/main/java/com/opensymphony/xwork2/Result.java @@ -20,8 +20,11 @@ import java.io.Serializable; /** * All results (except for <code>Action.NONE</code>) of an {@link Action} are mapped to a View implementation. - * <p/> + * + * <p> * Examples of Views might be: + * </p> + * * <ul> * <li>SwingPanelView - pops up a new Swing panel</li> * <li>ActionChainView - executes another action</li> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/TextProvider.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/TextProvider.java b/core/src/main/java/com/opensymphony/xwork2/TextProvider.java index aed8479..70f88df 100644 --- a/core/src/main/java/com/opensymphony/xwork2/TextProvider.java +++ b/core/src/main/java/com/opensymphony/xwork2/TextProvider.java @@ -29,22 +29,29 @@ import java.util.ResourceBundle; * bundle associated with each superclass as well. It will stop once a bundle is * found that contains the given text. This gives a cascading style that allow * global texts to be defined for an application base class. - * <p/> + * + * <p> * You can override {@link LocaleProvider#getLocale()} to change the behaviour of how * to choose locale for the bundles that are returned. Typically you would * use the {@link LocaleProvider} interface to get the users configured locale. - * <p/> + * </p> + * + * <p> * When you want to use your own implementation for Struts 2 project you have to define following * bean and constant in struts.xml: * <bean class="org.demo.MyTextProvider" name="myTextProvider" type="com.opensymphony.xwork2.TextProvider" /> * <constant name="struts.xworkTextProvider" value="myTextProvider" /> - * <p/> + * </p> + * + * <p> * if you want to also use your implementation for framework's messages define another constant (remember to put * into it all framework messages) * <constant name="system" value="myTextProvider" /> - * <p/> - * Take a look on {@link com.opensymphony.xwork2.ActionSupport} for example TextProvider implemntation. + * </p> * + * <p> + * Take a look on {@link com.opensymphony.xwork2.ActionSupport} for example TextProvider implementation. + * </p> * @author Jason Carreira * @author Rainer Hermanns * @see LocaleProvider http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java b/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java index 8b641a4..3f20902 100644 --- a/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java +++ b/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java @@ -291,12 +291,14 @@ public class TextProviderSupport implements ResourceBundleTextProvider { /** * Get the named bundle. - * <p/> + * + * <p> * You can override the getLocale() methodName to change the behaviour of how * to choose locale for the bundles that are returned. Typically you would * use the TextProvider interface to get the users configured locale, or use * your own methodName to allow the user to select the locale and store it in * the session (by using the SessionAware interface). + * </p> * * @param aBundleName bundle name * @return a resource bundle http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java b/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java index 2558b78..2b5c7c1 100644 --- a/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java +++ b/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java @@ -19,8 +19,10 @@ import com.opensymphony.xwork2.config.entities.ActionConfig; /** * Handles cases when the result or action is unknown. - * <p/> + * + * <p> * This allows other classes like Struts plugins to provide intelligent defaults easier. + * </p> */ public interface UnknownHandler { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java index 3d9ccac..2f64a98 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java +++ b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java @@ -121,8 +121,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable { /** * Clears field errors map. - * <p/> + * + * <p> * Will clear the map that contains field errors. + * </p> */ public synchronized void clearFieldErrors() { internalGetFieldErrors().clear(); @@ -130,8 +132,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable { /** * Clears action errors list. - * <p/> + * + * <p> * Will clear the list that contains action errors. + * </p> */ public synchronized void clearActionErrors() { internalGetActionErrors().clear(); @@ -139,8 +143,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable { /** * Clears messages list. - * <p/> + * + * <p> * Will clear the list that contains action messages. + * </p> */ public synchronized void clearMessages() { internalGetActionMessages().clear(); @@ -148,9 +154,11 @@ public class ValidationAwareSupport implements ValidationAware, Serializable { /** * Clears all error list/maps. - * <p/> + * + * <p> * Will clear the map and list that contain * field errors and action errors. + * </p> */ public synchronized void clearErrors() { internalGetFieldErrors().clear(); @@ -159,9 +167,11 @@ public class ValidationAwareSupport implements ValidationAware, Serializable { /** * Clears all error and messages list/maps. - * <p/> + * + * <p> * Will clear the maps/lists that contain * field errors, action errors and action messages. + * </p> */ public synchronized void clearErrorsAndMessages() { internalGetFieldErrors().clear(); http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java index 38920f7..63abe87 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java @@ -85,12 +85,15 @@ public class ConfigurationManager { } /** + * <p> * Get the current list of ConfigurationProviders. If no custom ConfigurationProviders have been added, this method - * will return a list containing only the default ConfigurationProvider, XMLConfigurationProvider. if a custom + * will return a list containing only the default ConfigurationProvider, XMLConfigurationProvider. If a custom * ConfigurationProvider has been added, then the XmlConfigurationProvider must be added by hand. * </p> - * <p/> - * TODO: the lazy instantiation of XmlConfigurationProvider should be refactored to be elsewhere. the behavior described above seems unintuitive. + * + * <p> + * TODO: The lazy instantiation of XmlConfigurationProvider should be refactored to be elsewhere. The behavior described above seems unintuitive. + * </p> * * @return the list of registered ConfigurationProvider objects * @see ConfigurationProvider http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java index b04bbd9..6baa481 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java @@ -25,8 +25,10 @@ import java.util.Map; /** * Configuration for Interceptors. - * <p/> + * + * <p> * In the xml configuration file this is defined as the <code>interceptors</code> tag. + * </p> * * @author Mike */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java index b9e2f78..f17eed6 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java @@ -27,8 +27,10 @@ import java.util.List; /** * Configuration for InterceptorStack. - * <p/> + * + * <p> * In the xml configuration file this is defined as the <code>interceptor-stack</code> tag. + * </p> * * @author Mike * @author Rainer Hermanns http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java index d4a3c5c..0f803f2 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java @@ -26,8 +26,10 @@ import java.util.*; /** * Configuration for Package. - * <p/> + * + * <p> * In the xml configuration file this is defined as the <code>package</code> tag. + * </p> * * @author Rainer Hermanns * @version $Revision$ @@ -257,10 +259,14 @@ public class PackageConfig extends Located implements Comparable, Serializable, } /** + * <p> * Returns the default result type for this package. - * <p/> + * </p> + * + * <p> * If there is no default result type, but this package has parents - we will try to * look up the default result type of a parent. + * </p> */ public String getFullDefaultResultType() { if ((defaultResultType == null) && !parents.isEmpty()) { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java index 42b6cb3..363f502 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java @@ -19,13 +19,15 @@ import java.util.Map; /** * <!-- START SNIPPET: javadoc --> - * <p/> + * <p> * Actions implementing Parameterizable will receive a map of the static parameters defined in the action * configuration. - * <p/> - * <p/> The {@link com.opensymphony.xwork2.interceptor.StaticParametersInterceptor} must be in the action's interceptor + * </p> + * + * <p> + * The {@link com.opensymphony.xwork2.interceptor.StaticParametersInterceptor} must be in the action's interceptor * queue for this to work. - * <p/> + * </p> * <!-- END SNIPPET: javadoc --> * * @author Jason Carreira http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java index b9ed588..b74ce03 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java @@ -26,8 +26,10 @@ import java.util.Map; /** * Configuration for Result. - * <p/> + * + * <p> * In the xml configuration file this is defined as the <code>result</code> tag. + * </p> * * @author Mike */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java index dcf69e5..bbed0e2 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java @@ -26,8 +26,10 @@ import java.util.Map; /** * Configuration class for result types. - * <p/> + * + * <p> * In the xml configuration file this is defined as the <code>result-type</code> tag. + * </p> * * @author Mike * @author Rainer Hermanns http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java index d3d524c..e8e6548 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java @@ -599,9 +599,12 @@ public class XmlConfigurationProvider implements ConfigurationProvider { } /** + * <p> * This method builds a package context by looking for the parents of this new package. - * <p/> + * </p> + * <p> * If no parents are found, it will return a root package. + * </p> */ protected PackageConfig.Builder buildPackageContext(Element packageElement) { String parent = packageElement.getAttribute("extends"); http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java index 84e09d3..fd85be5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java @@ -80,15 +80,20 @@ public class XmlHelper { } /** + * <p> * This method will return the content of this particular <code>element</code>. * For example, - * <p/> + * </p> + * * <pre> * <result>something_1</result> * </pre> + * + * <p> * When the {@link org.w3c.dom.Element} <code><result></code> is passed in as * argument (<code>element</code> to this method, it returns the content of it, * namely, <code>something_1</code> in the example above. + * </p> * * @return */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java index ccc1e10..064aac3 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject; @@ -211,12 +215,15 @@ public final class ContainerBuilder { } /** + * <p> * Maps an implementation class to a given dependency type and name. Creates * instances using the container, recursively injecting dependencies. - * <p/> + * </p> + * * <p>Sets scope to value from {@link Scoped} annotation on the * implementation class. Defaults to {@link Scope#PROTOTYPE} if no annotation * is found. + * </p> * * @param type of dependency * @param name of dependency http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java index 1879933..7e5ab62 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java b/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java index 0c054e8..d37e37c 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/Key.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/Key.java b/core/src/main/java/com/opensymphony/xwork2/inject/Key.java index ad9e0ba..4c05a38 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/Key.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/Key.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java b/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java index c79176b..f42829f 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java @@ -64,17 +64,21 @@ public enum Scope { }, /** + * <p> * One instance per thread. - * <p/> - * <p><b>Note:</b> if a thread local object strongly references its {@link + * </p> + * + * <p> + * <b>Note:</b> if a thread local object strongly references its {@link * Container}, neither the {@code Container} nor the object will be * eligible for garbage collection, i.e. memory leak. + * </p> */ THREAD { @Override <T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name, final InternalFactory<? extends T> factory) { return new InternalFactory<T>() { - final ThreadLocal<T> threadLocal = new ThreadLocal<T>(); + final ThreadLocal<T> threadLocal = new ThreadLocal<>(); public T create(final InternalContext context) { T t = threadLocal.get(); http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java index 964b727..82e8af1 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject.util; http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java index 4d8eebb..608deb2 100644 --- a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java +++ b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java @@ -1,17 +1,21 @@ /** * Copyright (C) 2006 Google Inc. - * <p/> + * + * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * <p/> + * </p> + * * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> + * + * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. + * </p> */ package com.opensymphony.xwork2.inject.util; @@ -37,7 +41,7 @@ import static com.opensymphony.xwork2.inject.util.ReferenceType.STRONG; * after keys and values at any time can lead to some racy semantics. For * example, {@link #size()} returns an upper bound on the size, i.e. the actual * size may be smaller in cases where the key or value has been reclaimed but - * the map entry has not been cleaned up yet. + * the map entry has not been cleaned up yet.</p> * * <p>Another example: If {@link #get(Object)} cannot find an existing entry * for a key, it will try to create one. This operation is not atomic. One @@ -45,9 +49,9 @@ import static com.opensymphony.xwork2.inject.util.ReferenceType.STRONG; * thread running {@code get()} checks for an entry and decides to create one. * In this case, the newly created value will replace the put value in the * map. Also, two threads running {@code get()} concurrently can potentially - * create duplicate values for a given key. + * create duplicate values for a given key.</p> * - * <p>In other words, this class is great for caching but not atomicity. + * <p>In other words, this class is great for caching but not atomicity.</p> * * @author [email protected] (Bob Lee) */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java index a95ee88..72de510 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java @@ -36,16 +36,17 @@ import java.util.Map; * <!-- START SNIPPET: description --> * * The aim of this Interceptor is to alias a named parameter to a different named parameter. By acting as the glue - * between actions sharing similiar parameters (but with different names), it can help greatly with action chaining. + * between actions sharing similar parameters (but with different names), it can help greatly with action chaining. * - * <p/> Action's alias expressions should be in the form of <code>#{ "name1" : "alias1", "name2" : "alias2" }</code>. + * <p>Action's alias expressions should be in the form of <code>#{ "name1" : "alias1", "name2" : "alias2" }</code>. * This means that assuming an action (or something else in the stack) has a value for the expression named <i>name1</i> and the * action this interceptor is applied to has a setter named <i>alias1</i>, <i>alias1</i> will be set with the value from * <i>name1</i>. + * </p> * * <!-- END SNIPPET: description --> * - * <p/> <u>Interceptor parameters:</u> + * <p><u>Interceptor parameters:</u></p> * * <!-- START SNIPPET: parameters --> * @@ -58,9 +59,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 --> * @@ -68,7 +67,7 @@ import java.util.Map; * * <!-- END SNIPPET: extending --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -106,9 +105,13 @@ public class AliasInterceptor extends AbstractInterceptor { } /** + * <p> * Sets the name of the action parameter to look for the alias map. - * <p/> + * </p> + * + * <p> * Default is <code>aliases</code>. + * </p> * * @param aliasesKey the name of the action parameter */ http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java index 8218e1b..d3e62e5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java @@ -31,21 +31,24 @@ import java.util.*; /** * <!-- START SNIPPET: description --> - * <p/> + * <p> * An interceptor that copies all the properties of every object in the value stack to the currently executing object, * except for any object that implements {@link Unchainable}. A collection of optional <i>includes</i> and * <i>excludes</i> may be provided to control how and which parameters are copied. Only includes or excludes may be * specified. Specifying both results in undefined behavior. See the javadocs for {@link ReflectionProvider#copy(Object, Object, * java.util.Map, java.util.Collection, java.util.Collection)} for more information. - * <p/> - * <p/> + * </p> + * + * <p> * <b>Note:</b> It is important to remember that this interceptor does nothing if there are no objects already on the stack. * <br/>This means two things: * <br/><b>One</b>, you can safely apply it to all your actions without any worry of adverse affects. * <br/><b/>Two</b>, it is up to you to ensure an object exists in the stack prior to invoking this action. The most typical way this is done * is through the use of the <b>chain</b> result type, which combines with this interceptor to make up the action * chaining feature. - * <p/> + * </p> + * + * <p> * <b>Note:</b> By default Errors, Field errors and Message aren't copied during chaining, to change the behaviour you can specify * the below three constants in struts.properties or struts.xml: * <ul> @@ -53,13 +56,16 @@ import java.util.*; * <li>struts.xwork.chaining.copyFieldErrors - set to true to copy Field Errors</li> * <li>struts.xwork.chaining.copyMessages - set to true to copy Action Messages</li> * </ul> - * <p> + * </p> + * * <p> * <u>Example:</u> * <pre> * <constant name="struts.xwork.chaining.copyErrors" value="true"/> * </pre> * </p> + * + * <p> * <b>Note:</b> By default actionErrors and actionMessages are excluded when copping object's properties. * </p> * <!-- END SNIPPET: description --> @@ -77,22 +83,24 @@ import java.util.*; * </p> * <!-- END SNIPPET: extending --> * <u>Example code:</u> - * <pre> + * * <!-- START SNIPPET: example --> - * <p/> + * <pre> * <action name="someAction" class="com.examples.SomeAction"> * <interceptor-ref name="basicStack"/> * <result name="success" type="chain">otherAction</result> * </action> - * <p/> + * </pre> + * + * <pre> * <action name="otherAction" class="com.examples.OtherAction"> * <interceptor-ref name="chain"/> * <interceptor-ref name="basicStack"/> * <result name="success">good_result.ftl</result> * </action> - * <p/> - * <!-- END SNIPPET: example --> * </pre> + * <!-- END SNIPPET: example --> + * * * @author mrdon * @author tm_jee ( tm_jee(at)yahoo.co.uk ) http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java index 4f70aed..6a82e04 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java @@ -29,32 +29,28 @@ import java.util.Map; * <!-- START SNIPPET: description --> * ConversionErrorInterceptor adds conversion errors from the ActionContext to the Action's field errors. * - * <p/> + * <p> * This interceptor adds any error found in the {@link ActionContext}'s conversionErrors map as a field error (provided * that the action implements {@link ValidationAware}). In addition, any field that contains a validation error has its * original value saved such that any subsequent requests for that value return the original value rather than the value * in the action. This is important because if the value "abc" is submitted and can't be converted to an int, we want to * display the original string ("abc") again rather than the int value (likely 0, which would make very little sense to * the user). - * + * </p> * * <!-- END SNIPPET: description --> * - * <p/> <u>Interceptor parameters:</u> + * <p><u>Interceptor parameters:</u></p> * * <!-- START SNIPPET: parameters --> * * <ul> - * - * <li>None</li> - * + * <li>None</li> * </ul> * * <!-- END SNIPPET: parameters --> * - * <p/> <u>Extending the interceptor:</u> - * - * <p/> + * <p> <u>Extending the interceptor:</u></p> * * <!-- START SNIPPET: extending --> * @@ -65,7 +61,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/DefaultWorkflowInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java index e3f2220..f0308d1 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java @@ -26,22 +26,24 @@ import java.lang.reflect.Method; /** * <!-- START SNIPPET: description --> - * <p/> + * <p> * An interceptor that makes sure there are not validation errors before allowing the interceptor chain to continue. * <b>This interceptor does not perform any validation</b>. - * <p/> + * </p> + * <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". - * <p/> + * </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. This is done by adding param tags * for the interceptor element, naming either a list of excluded method names and/or a list of included method * names, whereby includeMethods overrides excludedMethods. A single * sign is interpreted as wildcard matching * all methods for both parameters. * See {@link MethodFilterInterceptor} for more info. - * <p/> + * </p> * This interceptor also supports the following interfaces which can implemented by actions: * <ul> * <li>ValidationAware - implemented by ActionSupport class</li> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java index f6efb2f..a273bb4 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java @@ -26,20 +26,23 @@ import java.util.Map; /** * <!-- START SNIPPET: description --> - * + * <p> * This interceptor forms the core functionality of the exception handling feature. Exception handling allows you to map * an exception to a result code, just as if the action returned a result code instead of throwing an unexpected * exception. When an exception is encountered, it is wrapped with an {@link ExceptionHolder} and pushed on the stack, * providing easy access to the exception from within your result. + * </p> * + * <p> * <b>Note:</b> While you can configure exception mapping in your configuration file at any point, the configuration * will not have any effect if this interceptor is not in the interceptor stack for your actions. It is recommended that * you make this interceptor the first interceptor on the stack, ensuring that it has full access to catch any * exception, even those caused by other interceptors. + * </p> * * <!-- END SNIPPET: description --> * - * <p/> <u>Interceptor parameters:</u> + * <p><u>Interceptor parameters:</u></p> * * <!-- START SNIPPET: parameters --> * @@ -54,24 +57,24 @@ import java.util.Map; * * </ul> * + * <p> * The parameters above enables us to log all thrown exceptions with stacktace in our own logfile, * and present a friendly webpage (with no stacktrace) to the end user. + * </p> * * <!-- END SNIPPET: parameters --> * - * <p/> <u>Extending the interceptor:</u> - * - * <p/> + * <p><u>Extending the interceptor:</u></p> * * <!-- START SNIPPET: extending --> - * + * <p> * If you want to add custom handling for publishing the Exception, you may override * {@link #publishException(com.opensymphony.xwork2.ActionInvocation, ExceptionHolder)}. The default implementation * pushes the given ExceptionHolder on value stack. A custom implementation could add additional logging etc. - * + * </p> * <!-- END SNIPPET: extending --> * - * <p/> <u>Example code:</u> + * <p><u>Example code:</u></p> * * <pre> * <!-- START SNIPPET: example --> @@ -97,10 +100,11 @@ import java.util.Map; * <!-- END SNIPPET: example --> * </pre> * - * <p/> + * <p> * This second example will also log the exceptions using our own category * <code>com.mycompany.app.unhandled<code> at WARN level. - * + * </p> + * * <pre> * <!-- START SNIPPET: example2 --> * <xwork> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java index afdd534..5ef3816 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java @@ -26,7 +26,7 @@ import java.util.Map; /** * <!-- START SNIPPET: description --> - * <p/> + * <p> * An interceptor that handles setting the locale specified in a session as the locale for the current action request. * In addition, this interceptor will look for a specific HTTP request parameter and set the locale to whatever value is * provided. This means that this interceptor can be used to allow for your application to dynamically change the locale @@ -35,45 +35,38 @@ import java.util.Map; * be able to set his or her language preference at any point. The locale parameter is removed during the execution of * this interceptor, ensuring that properties aren't set on an action (such as request_locale) that have no typical * corresponding setter in your action. - * <p/> - * <p/>For example, using the default parameter name, a request to <b>foo.action?request_locale=en_US</b>, then the + * </p> + * + * <p> + * For example, using the default parameter name, a request to <b>foo.action?request_locale=en_US</b>, then the * locale for US English is saved in the user's session and will be used for all future requests. - * <p/> - if there is no locale set (for example with the first visit), the interceptor uses the browser locale. - * <p/> + * If there is no locale set (for example with the first visit), the interceptor uses the browser locale. + * </p> + * * <!-- END SNIPPET: description --> - * <p/> - * <p/> <u>Interceptor parameters:</u> - * <p/> + * <p><u>Interceptor parameters:</u></p> * <!-- START SNIPPET: parameters --> - * <p/> + * * <ul> - * <p/> * <li>parameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to and save * in the session. By default this is <b>request_locale</b></li> - * <p/> * <li>requestOnlyParameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to * for the current request only, without saving it in the session. By default this is <b>request_only_locale</b></li> - * <p/> * <li>attributeName (optional) - the name of the session key to store the selected locale. By default this is * <b>WW_TRANS_I18N_LOCALE</b></li> - * <p/> * </ul> - * <p/> * <!-- END SNIPPET: parameters --> - * <p/> - * <p/> <u>Extending the interceptor:</u> - * <p/> - * <p/> - * <p/> + * + * <p><u>Extending the interceptor:</u></p> + * * <!-- START SNIPPET: extending --> - * <p/> + * <p> * There are no known extensions points for this interceptor. - * <p/> + * </p> * <!-- END SNIPPET: extending --> - * <p/> - * <p/> <u>Example code:</u> - * <p/> + * + * <p><u>Example code:</u></p> + * * <pre> * <!-- START SNIPPET: example --> * <action name="someAction" class="com.examples.SomeAction"> http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java index 4266236..3054a90 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java @@ -22,124 +22,128 @@ import java.io.Serializable; /** * <!-- START SNIPPET: introduction --> - * <p/> + * + * <p> * An interceptor is a stateless class that follows the interceptor pattern, as * found in {@link javax.servlet.Filter} and in AOP languages. - * <p/> - * <p/> - * <p/> + * </p> + * + * <p> * Interceptors are objects that dynamically intercept Action invocations. * They provide the developer with the opportunity to define code that can be executed * before and/or after the execution of an action. They also have the ability * to prevent an action from executing. Interceptors provide developers a way to - * encapulate common functionality in a re-usable form that can be applied to + * encapsulate common functionality in a re-usable form that can be applied to * one or more Actions. - * <p/> - * <p/> - * <p/> + * </p> + * + * <p> * Interceptors <b>must</b> be stateless and not assume that a new instance will be created for each request or Action. * Interceptors may choose to either short-circuit the {@link ActionInvocation} execution and return a return code * (such as {@link com.opensymphony.xwork2.Action#SUCCESS}), or it may choose to do some processing before * and/or after delegating the rest of the procesing using {@link ActionInvocation#invoke()}. - * <p/> + * </p> * <!-- END SNIPPET: introduction --> - * <p/> - * <p/> - * <p/> + * * <!-- START SNIPPET: parameterOverriding --> - * <p/> - * Interceptor's parameter could be overriden through the following ways :- - * <p/> - * <p/> - * <p/> + * <p> + * Interceptor's parameter could be overridden through the following ways :- + * </p> + * <b>Method 1:</b> * <pre> - * <action name="myAction" class="myActionClass"> - * <interceptor-ref name="exception"/> - * <interceptor-ref name="alias"/> - * <interceptor-ref name="params"/> - * <interceptor-ref name="servletConfig"/> - * <interceptor-ref name="prepare"/> - * <interceptor-ref name="i18n"/> - * <interceptor-ref name="chain"/> - * <interceptor-ref name="modelDriven"/> - * <interceptor-ref name="fileUpload"/> - * <interceptor-ref name="staticParams"/> - * <interceptor-ref name="params"/> - * <interceptor-ref name="conversionError"/> - * <interceptor-ref name="validation"> - * <param name="excludeMethods">myValidationExcudeMethod</param> + * <action name="myAction" class="myActionClass"> + * <interceptor-ref name="exception"/> + * <interceptor-ref name="alias"/> + * <interceptor-ref name="params"/> + * <interceptor-ref name="servletConfig"/> + * <interceptor-ref name="prepare"/> + * <interceptor-ref name="i18n"/> + * <interceptor-ref name="chain"/> + * <interceptor-ref name="modelDriven"/> + * <interceptor-ref name="fileUpload"/> + * <interceptor-ref name="staticParams"/> + * <interceptor-ref name="params"/> + * <interceptor-ref name="conversionError"/> + * <interceptor-ref name="validation"> + * <param name="excludeMethods">myValidationExcudeMethod</param> * </interceptor-ref> - * <interceptor-ref name="workflow"> - * <param name="excludeMethods">myWorkflowExcludeMethod</param> + * <interceptor-ref name="workflow"> + * <param name="excludeMethods">myWorkflowExcludeMethod</param> * </interceptor-ref> * </action> * </pre> - * <p/> + * * <b>Method 2:</b> * <pre> - * <action name="myAction" class="myActionClass"> - * <interceptor-ref name="defaultStack"> - * <param name="validation.excludeMethods">myValidationExcludeMethod</param> - * <param name="workflow.excludeMethods">myWorkflowExcludeMethod</param> + * <action name="myAction" class="myActionClass"> + * <interceptor-ref name="defaultStack"> + * <param name="validation.excludeMethods">myValidationExcludeMethod</param> + * <param name="workflow.excludeMethods">myWorkflowExcludeMethod</param> * </interceptor-ref> * </action> * </pre> - * <p/> - * <p/> - * <p/> + * + * <p> * In the first method, the whole default stack is copied and the parameter then * changed accordingly. - * <p/> - * <p/> - * <p/> + * </p> + * + * <p> * In the second method, the 'interceptor-ref' refer to an existing * interceptor-stack, namely defaultStack in this example, and override the validator * and workflow interceptor excludeMethods typically in this case. Note that in the * 'param' tag, the name attribute contains a dot (.) the word before the dot(.) * specifies the interceptor name whose parameter is to be overridden and the word after * the dot (.) specifies the parameter itself. Essetially it is as follows :- - * <p/> + * </p> + * * <pre> * <interceptor-name>.<parameter-name> * </pre> - * <p/> + * <p> * <b>Note</b> also that in this case the 'interceptor-ref' name attribute * is used to indicate an interceptor stack which makes sense as if it is referring * to the interceptor itself it would be just using Method 1 describe above. - * <p/> + * </p> * <!-- END SNIPPET: parameterOverriding --> - * <p/> - * <p/> + * + * <p> * <b>Nested Interceptor param overriding</b> - * <p/> + * </p> + * * <!-- START SNIPPET: nestedParameterOverriding --> - * <p/> + * <p> * Interceptor stack parameter overriding could be nested into as many level as possible, though it would * be advisable not to nest it too deep as to avoid confusion, For example, + * </p> * <pre> - * <interceptor name="interceptor1" class="foo.bar.Interceptor1" /> - * <interceptor name="interceptor2" class="foo.bar.Interceptor2" /> - * <interceptor name="interceptor3" class="foo.bar.Interceptor3" /> - * <interceptor name="interceptor4" class="foo.bar.Interceptor4" /> - * <interceptor-stack name="stack1"> - * <interceptor-ref name="interceptor1" /> + * <interceptor name="interceptor1" class="foo.bar.Interceptor1" /> + * <interceptor name="interceptor2" class="foo.bar.Interceptor2" /> + * <interceptor name="interceptor3" class="foo.bar.Interceptor3" /> + * <interceptor name="interceptor4" class="foo.bar.Interceptor4" /> + * <interceptor-stack name="stack1"> + * <interceptor-ref name="interceptor1" /> * </interceptor-stack> - * <interceptor-stack name="stack2"> - * <interceptor-ref name="intercetor2" /> - * <interceptor-ref name="stack1" /> + * <interceptor-stack name="stack2"> + * <interceptor-ref name="intercetor2" /> + * <interceptor-ref name="stack1" /> * </interceptor-stack> - * <interceptor-stack name="stack3"> - * <interceptor-ref name="interceptor3" /> - * <interceptor-ref name="stack2" /> + * <interceptor-stack name="stack3"> + * <interceptor-ref name="interceptor3" /> + * <interceptor-ref name="stack2" /> * </interceptor-stack> - * <interceptor-stack name="stack4"> - * <interceptor-ref name="interceptor4" /> - * <interceptor-ref name="stack3" /> + * <interceptor-stack name="stack4"> + * <interceptor-ref name="interceptor4" /> + * <interceptor-ref name="stack3" /> * </interceptor-stack> * </pre> + * + * <p> * Assuming the interceptor has the following properties - * <table border="1" width="100%"> + * </p> + * + * <table border="1" width="100%"> * <tr> * <td>Interceptor</td> * <td>property</td> @@ -161,30 +165,33 @@ import java.io.Serializable; * <td>param4</td> * </tr> * </table> - * We could override them as follows :- + * + * <p> + * We could override them as follows : + * </p> + * * <pre> * <action ... > * <!-- to override parameters of interceptor located directly in the stack --> - * <interceptor-ref name="stack4"> - * <param name="interceptor4.param4"> ... </param> + * <interceptor-ref name="stack4"> + * <param name="interceptor4.param4"> ... </param> * </interceptor-ref> * </action> - * <p/> + * * <action ... > * <!-- to override parameters of interceptor located under nested stack --> - * <interceptor-ref name="stack4"> - * <param name="stack3.interceptor3.param3"> ... </param> - * <param name="stack3.stack2.interceptor2.param2"> ... </param> - * <param name="stack3.stack2.stack1.interceptor1.param1"> ... </param> + * <interceptor-ref name="stack4"> + * <param name="stack3.interceptor3.param3"> ... </param> + * <param name="stack3.stack2.interceptor2.param2"> ... </param> + * <param name="stack3.stack2.stack1.interceptor1.param1"> ... </param> * </interceptor-ref> * </action> * </pre> - * <p/> + * * <!-- END SNIPPET: nestedParameterOverriding --> * * @author Jason Carreira * @author tmjee - * @version $Date$ $Id$ */ public interface Interceptor extends Serializable { http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java index c82532f..e48d3ea 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java @@ -22,10 +22,11 @@ import org.apache.logging.log4j.Logger; /** * <!-- START SNIPPET: description --> + * <p> * This interceptor logs the start and end of the execution an action (in English-only, not internationalized). * <br/> * <b>Note:</b>: This interceptor will log at <tt>INFO</tt> level. - * <p/> + * </p> * <!-- END SNIPPET: description --> * * <!-- START SNIPPET: parameters --> @@ -39,17 +40,17 @@ import org.apache.logging.log4j.Logger; * <pre> * <!-- START SNIPPET: example --> * <!-- prints out a message before and after the immediate action execution --> - * <action name="someAction" class="com.examples.SomeAction"> - * <interceptor-ref name="completeStack"/> - * <interceptor-ref name="logger"/> - * <result name="success">good_result.ftl</result> + * <action name="someAction" class="com.examples.SomeAction"> + * <interceptor-ref name="completeStack"/> + * <interceptor-ref name="logger"/> + * <result name="success">good_result.ftl</result> * </action> * * <!-- prints out a message before any more interceptors continue and after they have finished --> - * <action name="someAction" class="com.examples.SomeAction"> - * <interceptor-ref name="logger"/> - * <interceptor-ref name="completeStack"/> - * <result name="success">good_result.ftl</result> + * <action name="someAction" class="com.examples.SomeAction"> + * <interceptor-ref name="logger"/> + * <interceptor-ref name="completeStack"/> + * <result name="success">good_result.ftl</result> * </action> * <!-- END SNIPPET: example --> * </pre>
