WW-4518 Drops another deprecated APIs
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/c50605a9 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/c50605a9 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/c50605a9 Branch: refs/heads/master Commit: c50605a945b7b6b62b0869210a3146efd084b2ae Parents: a4abb34 Author: Lukasz Lenart <[email protected]> Authored: Tue Jun 23 12:11:49 2015 +0200 Committer: Lukasz Lenart <[email protected]> Committed: Tue Jun 23 12:11:49 2015 +0200 ---------------------------------------------------------------------- core/pom.xml | 2 +- .../com/opensymphony/xwork2/ActionSupport.java | 16 -- .../xwork2/MockActionInvocation.java | 26 --- .../com/opensymphony/xwork2/ObjectFactory.java | 7 - .../com/opensymphony/xwork2/XWorkException.java | 14 +- .../xwork2/config/Configuration.java | 7 - .../config/entities/ResultTypeConfig.java | 7 - .../xwork2/config/impl/ActionConfigMatcher.java | 35 ---- .../config/impl/DefaultConfiguration.java | 15 -- .../xwork2/config/impl/MockConfiguration.java | 4 - .../impl/AnnotationXWorkConverter.java | 91 ---------- .../conversion/impl/EnumTypeConverter.java | 124 ------------- .../impl/GenericsObjectTypeDeterminer.java | 38 ---- .../impl/InstantiatingNullHandler.java | 5 +- .../ExceptionMappingInterceptor.java | 8 - .../ognl/accessor/XWorkMethodAccessor.java | 10 -- .../xwork2/spring/SpringObjectFactory.java | 10 -- .../opensymphony/xwork2/util/ArrayUtils.java | 56 ------ .../com/opensymphony/xwork2/util/DomHelper.java | 7 +- .../com/opensymphony/xwork2/util/URLUtil.java | 64 ------- .../validator/validators/URLValidator.java | 7 +- .../org/apache/struts2/StrutsConstants.java | 6 +- .../org/apache/struts2/components/Include.java | 9 - .../org/apache/struts2/components/Token.java | 8 - .../config/DefaultBeanSelectionProvider.java | 3 - .../apache/struts2/dispatcher/Dispatcher.java | 59 ------- .../dispatcher/mapper/DefaultActionMapper.java | 11 -- .../dispatcher/ng/ExecuteOperations.java | 5 - .../dispatcher/ng/PrepareOperations.java | 5 - .../struts2/interceptor/PrincipalProxy.java | 8 - .../interceptor/ServletPrincipalProxy.java | 10 -- .../org/apache/struts2/util/StrutsUtil.java | 13 +- .../apache/struts2/views/DefaultTagLibrary.java | 2 +- .../org/apache/struts2/views/TagLibrary.java | 57 ------ .../views/freemarker/FreemarkerManager.java | 15 -- .../struts2/views/jsp/ui/TextFieldTag.java | 7 - .../struts2/views/velocity/VelocityManager.java | 16 -- .../apache/struts2/views/xslt/XSLTResult.java | 35 ---- .../opensymphony/xwork2/ActionSupportTest.java | 8 - .../opensymphony/xwork2/XWorkExceptionTest.java | 1 - .../config/impl/ActionConfigMatcherTest.java | 5 +- ...nProviderInterceptorParamOverridingTest.java | 3 +- ...iderInterceptorStackParamOverridingTest.java | 13 +- ...XmlConfigurationProviderResultTypesTest.java | 4 +- .../ScopedModelDrivenInterceptorTest.java | 4 +- .../xwork2/util/DefaultFileManagerTest.java | 121 ++++++++++++- .../opensymphony/xwork2/util/URLUtilTest.java | 177 ------------------- .../opensymphony/xwork2/util/UrlUtilTest2.java | 2 +- .../dispatcher/ActionContextCleanUpTest.java | 4 +- .../struts2/dispatcher/DispatcherTest.java | 3 +- .../mapper/DefaultActionMapperTest.java | 16 +- .../ServletConfigInterceptorTest.java | 1 - .../struts2/views/jsp/AbstractUITagTest.java | 22 --- .../struts2/views/xslt/XSLTResultTest.java | 24 +-- .../xwork2/spring/autowireContext.xml | 2 +- .../interceptor/PortletPrincipalProxy.java | 11 -- .../apache/struts2/TestNGStrutsTestCase.java | 31 ---- 57 files changed, 176 insertions(+), 1098 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/pom.xml ---------------------------------------------------------------------- diff --git a/core/pom.xml b/core/pom.xml index 05ecb16..e3644db 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -102,7 +102,7 @@ <exclude>**/TestInterceptor.java</exclude> <exclude>**/AnnotatedTestBean.java</exclude> <exclude>**/ContainerImplTest.java</exclude> - <exclude>**/URLUtilTest.java</exclude> + <exclude>**/DefaultFileManagerTest.java</exclude> </excludes> </configuration> </plugin> http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/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 62daf15..6d56b25 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java +++ b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java @@ -55,22 +55,6 @@ public class ActionSupport implements Action, Validateable, ValidationAware, Tex return validationAware.getActionMessages(); } - /** - * @deprecated Use {@link #getActionErrors()}. - */ - @Deprecated - public Collection<String> getErrorMessages() { - return getActionErrors(); - } - - /** - * @deprecated Use {@link #getFieldErrors()}. - */ - @Deprecated - public Map<String, List<String>> getErrors() { - return getFieldErrors(); - } - public void setFieldErrors(Map<String, List<String>> errorMap) { validationAware.setFieldErrors(errorMap); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/MockActionInvocation.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/MockActionInvocation.java b/core/src/main/java/com/opensymphony/xwork2/MockActionInvocation.java deleted file mode 100644 index 3eea89b..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/MockActionInvocation.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2002-2006,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -package com.opensymphony.xwork2; - -/** - * Mock for an {@link ActionInvocation}. - * - * @author plightbo - * @deprecated Please use @see com.opensymphony.xwork2.mock.MockActionInvocation instead - */ -@Deprecated public class MockActionInvocation extends com.opensymphony.xwork2.mock.MockActionInvocation { -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/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 f1a6c7f..5b60a32 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java +++ b/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java @@ -98,13 +98,6 @@ public class ObjectFactory implements Serializable { } /** - * @deprecated Since 2.1 - */ - @Deprecated public static ObjectFactory getObjectFactory() { - return ActionContext.getContext().getContainer().getInstance(ObjectFactory.class); - } - - /** * Allows for ObjectFactory implementations that support * Actions without no-arg constructors. * http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/XWorkException.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/XWorkException.java b/core/src/main/java/com/opensymphony/xwork2/XWorkException.java index 8445a1c..ec3ad3e 100644 --- a/core/src/main/java/com/opensymphony/xwork2/XWorkException.java +++ b/core/src/main/java/com/opensymphony/xwork2/XWorkException.java @@ -105,18 +105,6 @@ public class XWorkException extends RuntimeException implements Locatable { } } - - /** - * Gets the underlying cause - * - * @return the underlying cause, <tt>null</tt> if no cause - * @deprecated Use {@link #getCause()} - */ - @Deprecated public Throwable getThrowable() { - return getCause(); - } - - /** * Gets the location of the error, if available * @@ -151,4 +139,4 @@ public class XWorkException extends RuntimeException implements Locatable { return msg; } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java b/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java index be1359d..ab6b2ab 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java @@ -64,13 +64,6 @@ public interface Configuration extends Serializable { void destroy(); /** - * @deprecated Since 2.1 - * @param providers - * @throws ConfigurationException - */ - @Deprecated void reload(List<ConfigurationProvider> providers) throws ConfigurationException; - - /** * @since 2.1 * @param containerProviders * @throws ConfigurationException http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/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 96ff4ff..dcf69e5 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 @@ -62,13 +62,6 @@ public class ResultTypeConfig extends Located implements Serializable { return this.defaultResultParam; } - /** - * @deprecated Since 2.1, use {@link #getClassName()} instead - */ - @Deprecated public String getClazz() { - return className; - } - public String getClassName() { return className; } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java b/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java index e282c1a..2d0a3c5 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java @@ -42,41 +42,6 @@ public class ActionConfigMatcher extends AbstractMatcher<ActionConfig> implement * <p> Finds and precompiles the wildcard patterns from the ActionConfig * "path" attributes. ActionConfig's will be evaluated in the order they * exist in the config file. Only paths that actually contain a - * wildcard will be compiled. Patterns will matched strictly.</p> - * - * @param configs An array of ActionConfig's to process - * @deprecated Since 2.1, use {@link #ActionConfigMatcher(PatternMatcher, Map, boolean)} instead - */ - @Deprecated public ActionConfigMatcher(Map<String, ActionConfig> configs) { - this(configs, false); - } - - /** - * <p> Finds and precompiles the wildcard patterns from the ActionConfig - * "path" attributes. ActionConfig's will be evaluated in the order they - * exist in the config file. Only paths that actually contain a - * wildcard will be compiled. </p> - * - * <p>Patterns can optionally be matched "loosely". When - * the end of the pattern matches \*[^*]\*$ (wildcard, no wildcard, - * wildcard), if the pattern fails, it is also matched as if the - * last two characters didn't exist. The goal is to support the - * legacy "*!*" syntax, where the "!*" is optional.</p> - * - * @param configs An array of ActionConfig's to process - * @param looseMatch To loosely match wildcards or not - * @deprecated Since 2.1, use {@link #ActionConfigMatcher(PatternMatcher, Map, boolean)} instead - */ - @Deprecated public ActionConfigMatcher(Map<String, ActionConfig> configs, - boolean looseMatch) { - - this(new WildcardHelper(), configs, looseMatch); - } - - /** - * <p> Finds and precompiles the wildcard patterns from the ActionConfig - * "path" attributes. ActionConfig's will be evaluated in the order they - * exist in the config file. Only paths that actually contain a * wildcard will be compiled. </p> * * <p>Patterns can optionally be matched "loosely". When http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java b/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java index 7d5e5cc..2bc98ab 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java @@ -145,21 +145,6 @@ public class DefaultConfiguration implements Configuration { * * @throws ConfigurationException */ - public synchronized void reload(List<ConfigurationProvider> providers) throws ConfigurationException { - - // Silly copy necessary due to lack of ability to cast generic lists - List<ContainerProvider> contProviders = new ArrayList<>(); - contProviders.addAll(providers); - - reloadContainer(contProviders); - } - - /** - * Calls the ConfigurationProviderFactory.getConfig() to tell it to reload the configuration and then calls - * buildRuntimeConfiguration(). - * - * @throws ConfigurationException - */ public synchronized List<PackageProvider> reloadContainer(List<ContainerProvider> providers) throws ConfigurationException { packageContexts.clear(); loadedFileNames.clear(); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java b/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java index d5359fe..3148f05 100644 --- a/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java +++ b/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java @@ -86,10 +86,6 @@ public class MockConfiguration implements Configuration { throw new UnsupportedOperationException(); } - public void reload(List<ConfigurationProvider> providers) throws ConfigurationException { - throw new UnsupportedOperationException(); - } - public PackageConfig removePackageConfig(String name) { return packages.remove(name); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverter.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverter.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverter.java deleted file mode 100644 index 988e463..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverter.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2002-2006,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ -package com.opensymphony.xwork2.conversion.impl; - -/** - * <!-- START SNIPPET: javadoc --> - * <p/> - * Type conversion is great for situations where you need to turn a String in to a more complex object. Because the web - * is type-agnostic (everything is a string in HTTP), XWork's type conversion features are very useful. For instance, - * if you were prompting a user to enter in coordinates in the form of a string (such as "3, 22"), you could have - * XWork do the conversion both from String to Point and from Point to String. - * <p/> - * <p/> Using this "point" example, if your action (or another compound object in which you are setting properties on) - * has a corresponding ClassName-conversion.properties file, XWork will use the configured type converters for - * conversion to and from strings. So turning "3, 22" in to new Point(3, 22) is done by merely adding the following - * entry to <b>ClassName-conversion.properties</b> (Note that the PointConverter should impl the TypeConverter - * interface): - * <p/> - * <p/><b>point = com.acme.PointConverter</b> - * <p/> - * <p/> Your type converter should be sure to check what class type it is being requested to convert. Because it is used - * for both to and from strings, you will need to split the conversion method in to two parts: one that turns Strings in - * to Points, and one that turns Points in to Strings. - * <p/> - * <p/> After this is done, you can now reference your point (using <ww:property value="post"/> in JSP or ${point} - * in FreeMarker) and it will be printed as "3, 22" again. As such, if you submit this back to an action, it will be - * converted back to a Point once again. - * <p/> - * <p/> In some situations you may wish to apply a type converter globally. This can be done by editing the file - * <b>xwork-conversion.properties</b> in the root of your class path (typically WEB-INF/classes) and providing a - * property in the form of the class name of the object you wish to convert on the left hand side and the class name of - * the type converter on the right hand side. For example, providing a type converter for all Point objects would mean - * adding the following entry: - * <p/> - * <p/><b>com.acme.Point = com.acme.PointConverter</b> - * <p/> - * <!-- END SNIPPET: javadoc --> - * <p/> - * <p/> - * <p/> - * <!-- START SNIPPET: i18n-note --> - * <p/> - * Type conversion should not be used as a substitute for i18n. It is not recommended to use this feature to print out - * properly formatted dates. Rather, you should use the i18n features of XWork (and consult the JavaDocs for JDK's - * MessageFormat object) to see how a properly formatted date should be displayed. - * <p/> - * <!-- END SNIPPET: i18n-note --> - * <p/> - * <p/> - * <p/> - * <!-- START SNIPPET: error-reporting --> - * <p/> - * Any error that occurs during type conversion may or may not wish to be reported. For example, reporting that the - * input "abc" could not be converted to a number might be important. On the other hand, reporting that an empty string, - * "", cannot be converted to a number might not be important - especially in a web environment where it is hard to - * distinguish between a user not entering a value vs. entering a blank value. - * <p/> - * <p/> By default, all conversion errors are reported using the generic i18n key <b>xwork.default.invalid.fieldvalue</b>, - * which you can override (the default text is <i>Invalid field value for field "xxx"</i>, where xxx is the field name) - * in your global i18n resource bundle. - * <p/> - * <p/>However, sometimes you may wish to override this message on a per-field basis. You can do this by adding an i18n - * key associated with just your action (Action.properties) using the pattern <b>invalid.fieldvalue.xxx</b>, where xxx - * is the field name. - * <p/> - * <p/>It is important to know that none of these errors are actually reported directly. Rather, they are added to a map - * called <i>conversionErrors</i> in the ActionContext. There are several ways this map can then be accessed and the - * errors can be reported accordingly. - * <p/> - * <!-- END SNIPPET: error-reporting --> - * - * @author <a href="mailto:[email protected]">Pat Lightbody</a> - * @author Rainer Hermanns - * @see com.opensymphony.xwork2.conversion.impl.XWorkConverter - * @deprecated Since XWork 2.0.4, the implementation of XWorkConverter handles the processing of annotations. - */ -@Deprecated public class AnnotationXWorkConverter extends XWorkConverter { -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/conversion/impl/EnumTypeConverter.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/EnumTypeConverter.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/EnumTypeConverter.java deleted file mode 100644 index 949eede..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/EnumTypeConverter.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2002-2006,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -package com.opensymphony.xwork2.conversion.impl; - -import java.util.Map; - - -/** - * <code>EnumTypeConverter</code> - * - * <!-- START SNIPPET: description --> - * This class converts java 5 enums to String and from String[] to enum. - * <p/> - * One of Java 5's improvements is providing enumeration facility. - * Up to now, there existed no enumerations. The only way to simulate was the so-called int Enum pattern: - * {code} - * public static final int SEASON_WINTER = 0; - * public static final int SEASON_SPRING = 1; - * public static final int SEASON_SUMMER = 2; - * public static final int SEASON_FALL = 3; - * {code} - * <p/> - * Java 5.0 now provides the following construct: - * {code} - * public static enum Season { WINTER, SPRING, SUMMER, FALL }; - * {code} - * <!-- END SNIPPET: description --> - * - * <!-- START SNIPPET: example --> - * h3. Implementing Java 5 Enumeration Type Conversion - * <p/> - * 1. myAction-conversion.properties* - * <p/> - * Place a myAction-conversion.properties-file in the path of your Action. - * Add the following entry to the properties-file: - * {code} - * nameOfYourField=fullyClassifiedNameOfYourConverter - * {code} - * - * <p/> - * 2. myAction.java* - * Your action contains the _enumeration_: - * {code} - * public enum Criticality {DEBUG, INFO, WARNING, ERROR, FATAL} - * {code} - * - * * Your action contains the _private field_: - * {code} - * private myEnum myFieldForEnum; - * {code} - * - * Your action contains _getters and setters_ for your field: - * {code} - * public myEnum getCriticality() { - * return myFieldForEnum; - * } - * - * public void setCriticality(myEnum myFieldForEnum) { - * this.myFieldForEnum= myFieldForEnum; - * } - * {code} - * <p/> - * 3. JSP* - * <p/> - * In your jsp you can access an enumeration value just normal by using the known <ww:property>-Tag: - * {code} - * <ww:property value="myField"/> - * {code} - * <!-- END SNIPPET: example --> - * - * @author Tamara Cattivelli - * @author <a href="mailto:[email protected]">Rainer Hermanns</a> - * @version $Id$ - * @deprecated Since Struts 2.1.0 as enum support is now built into XWork - */ -@Deprecated public class EnumTypeConverter extends DefaultTypeConverter { - - /** - * Converts the given object to a given type. How this is to be done is implemented in toClass. The OGNL context, o - * and toClass are given. This method should be able to handle conversion in general without any context or object - * specified. - * - * @param context - OGNL context under which the conversion is being done - * @param o - the object to be converted - * @param toClass - the class that contains the code to convert to enumeration - * @return Converted value of type declared in toClass or TypeConverter.NoConversionPossible to indicate that the - * conversion was not possible. - */ - @Override - public Object convertValue(Map<String, Object> context, Object o, Class toClass) { - if (o instanceof String[]) { - return convertFromString(((String[]) o)[0], toClass); - } else if (o instanceof String) { - return convertFromString((String) o, toClass); - } - - return super.convertValue(context, o, toClass); - } - - /** - * Converts one or more String values to the specified class. - * @param value - the String values to be converted, such as those submitted from an HTML form - * @param toClass - the class to convert to - * @return the converted object - */ - public java.lang.Enum convertFromString(String value, Class toClass) { - return Enum.valueOf(toClass, value); - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/conversion/impl/GenericsObjectTypeDeterminer.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/GenericsObjectTypeDeterminer.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/GenericsObjectTypeDeterminer.java deleted file mode 100644 index 69f1ced..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/GenericsObjectTypeDeterminer.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2002-2006,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -package com.opensymphony.xwork2.conversion.impl; - -import com.opensymphony.xwork2.util.reflection.ReflectionProvider; - - -/** - * GenericsObjectTypeDeterminer - * - * @author Patrick Lightbody - * @author Rainer Hermanns - * @author <a href='mailto:the_mindstorm[at]evolva[dot]ro'>Alexandru Popescu</a> - * - * @deprecated Use DefaultObjectTypeDeterminer instead. Since XWork 2.0.4 the DefaultObjectTypeDeterminer handles the - * annotation processing. - */ -@Deprecated public class GenericsObjectTypeDeterminer extends DefaultObjectTypeDeterminer { - - public GenericsObjectTypeDeterminer(XWorkConverter conv, - XWorkBasicConverter basicConv, ReflectionProvider prov) { - super(conv, prov); - } -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java index 386d070..4f749ef 100644 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java +++ b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java @@ -68,11 +68,8 @@ import java.util.*; */ public class InstantiatingNullHandler implements NullHandler { - /** - * @deprecated Use {@link ReflectionContextState#CREATE_NULL_OBJECTS} instead - */ - @Deprecated public static final String CREATE_NULL_OBJECTS = ReflectionContextState.CREATE_NULL_OBJECTS; private static final Logger LOG = LogManager.getLogger(InstantiatingNullHandler.class); + private ReflectionProvider reflectionProvider; private ObjectFactory objectFactory; private ObjectTypeDeterminer objectTypeDeterminer; http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/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 d1a5319..f6efb2f 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java @@ -254,14 +254,6 @@ public class ExceptionMappingInterceptor extends AbstractInterceptor { } /** - * @deprecated since 2.3.15 please use #findMappingFromExceptions directly instead - */ - protected String findResultFromExceptions(List<ExceptionMappingConfig> exceptionMappings, Throwable t) { - ExceptionMappingConfig result = findMappingFromExceptions(exceptionMappings, t); - return result==null?null:result.getResult(); - } - - /** * Try to find appropriate {@link ExceptionMappingConfig} based on provided Throwable * * @param exceptionMappings list of defined exception mappings http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java b/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java index 7a05bc5..74a3471 100644 --- a/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java +++ b/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java @@ -37,16 +37,6 @@ public class XWorkMethodAccessor extends ObjectMethodAccessor { private static final Logger LOG = LogManager.getLogger(XWorkMethodAccessor.class); - /** - * @deprecated Use {@link ReflectionContextState#DENY_METHOD_EXECUTION} instead - */ - @Deprecated public static final String DENY_METHOD_EXECUTION = ReflectionContextState.DENY_METHOD_EXECUTION; - /** - * @deprecated Use {@link ReflectionContextState#DENY_INDEXED_ACCESS_EXECUTION} instead - */ - @Deprecated public static final String DENY_INDEXED_ACCESS_EXECUTION = ReflectionContextState.DENY_INDEXED_ACCESS_EXECUTION; - - @Override public Object callMethod(Map context, Object object, String string, Object[] objects) throws MethodFailedException { http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/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 f1137d9..6475957 100644 --- a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java +++ b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java @@ -247,16 +247,6 @@ public class SpringObjectFactory extends ObjectFactory implements ApplicationCon } /** - * This method sets the ObjectFactory used by XWork to this object. It's best used as the "init-method" of a Spring - * bean definition in order to hook Spring and XWork together properly (as an alternative to the - * org.apache.struts2.spring.lifecycle.SpringObjectFactoryListener) - * @deprecated Since 2.1 as it isn't necessary - */ - @Deprecated public void initObjectFactory() { - // not necessary anymore - } - - /** * Allows for ObjectFactory implementations that support * Actions without no-arg constructors. * http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java b/core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java deleted file mode 100644 index 99f4ab6..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/util/ArrayUtils.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2002-2006,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ -package com.opensymphony.xwork2.util; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -/** - * @author Dan Oxlade, dan d0t oxlade at gmail d0t c0m - * @deprecated Can be replaced eith ArrayUtils from lang3 package --> org.apache.commons.lang3.ArrayUtils - */ -@Deprecated -public class ArrayUtils { - - public static boolean isEmpty(Object[] array) { - return null == array || array.length == 0; - } - - public static boolean isNotEmpty(Object[] array) { - return !isEmpty(array); - } - - /** - * Return a collection from the comma delimited String. - * - * @param commaDelim the comma delimited String. - * @return A collection from the comma delimited String. Returns <tt>null</tt> if the string is empty. - */ - public static Collection<String> asCollection(String commaDelim) { - if (commaDelim == null || commaDelim.trim().length() == 0) { - return null; - } - return TextParseUtil.commaDelimitedStringToSet(commaDelim); - } - - public static <T> Set<T> asSet(T... element) { - HashSet<T> elements = new HashSet<T>(element.length); - Collections.addAll(elements, element); - return elements; - } -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java b/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java index 47d86e1..1b1ea2d 100644 --- a/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java +++ b/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java @@ -15,6 +15,7 @@ */ package com.opensymphony.xwork2.util; +import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ObjectFactory; import com.opensymphony.xwork2.XWorkException; import com.opensymphony.xwork2.util.location.Location; @@ -78,7 +79,8 @@ public class DomHelper { String parserProp = System.getProperty("xwork.saxParserFactory"); if (parserProp != null) { try { - Class clazz = ObjectFactory.getObjectFactory().getClassInstance(parserProp); + ObjectFactory objectFactory = ActionContext.getContext().getContainer().getInstance(ObjectFactory.class); + Class clazz = objectFactory.getClassInstance(parserProp); factory = (SAXParserFactory) clazz.newInstance(); } catch (Exception e) { LOG.error("Unable to load saxParserFactory set by system property 'xwork.saxParserFactory': {}", parserProp, e); @@ -140,7 +142,8 @@ public class DomHelper { String parserProp = System.getProperty("xwork.saxTransformerFactory"); if (parserProp != null) { try { - Class clazz = ObjectFactory.getObjectFactory().getClassInstance(parserProp); + ObjectFactory objectFactory = ActionContext.getContext().getContainer().getInstance(ObjectFactory.class); + Class clazz = objectFactory.getClassInstance(parserProp); FACTORY = (SAXTransformerFactory) clazz.newInstance(); } catch (Exception e) { LOG.error("Unable to load SAXTransformerFactory set by system property 'xwork.saxTransformerFactory': {}", parserProp, e); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java deleted file mode 100644 index 006fd5e..0000000 --- a/core/src/main/java/com/opensymphony/xwork2/util/URLUtil.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2002-2003,2009 The Apache Software Foundation. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ -package com.opensymphony.xwork2.util; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; - -/** - * Helper class to extract file paths from different urls - */ -public class URLUtil { - - private static final Logger LOG = LogManager.getLogger(URLUtil.class); - - /** - * Verify That the given String is in valid URL format. - * @param url The url string to verify. - * @return a boolean indicating whether the URL seems to be incorrect. - */ - @Deprecated - public static boolean verifyUrl(String url) { - LOG.debug("Checking if url [{}] is valid", url); - if (url == null) { - return false; - } - - if (url.startsWith("https://")) { - // URL doesn't understand the https protocol, hack it - url = "http://" + url.substring(8); - } - - try { - URL u = new URL(url); - URI uri = u.toURI(); // perform a additional url syntax check - if (uri.getHost() == null) { - LOG.debug("Url [{}] does not contains a valid host: {}", url, uri); - return false; - } - return true; - } catch (MalformedURLException | URISyntaxException e) { - LOG.debug("Url [{}] is invalid: {}", url, e.getMessage(), e); - return false; - } - } - -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java index 767416d..f49d914 100644 --- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java +++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java @@ -16,9 +16,10 @@ package com.opensymphony.xwork2.validator.validators; import com.opensymphony.xwork2.validator.ValidationException; -import com.opensymphony.xwork2.util.URLUtil; import org.apache.commons.lang3.StringUtils; +import java.util.regex.Pattern; + /** * URLValidator checks that a given field is a String and a valid URL * @@ -54,9 +55,7 @@ public class URLValidator extends FieldValidatorSupport { return; } - // FIXME deprecated! the same regex below should be used instead - // replace logic with next major release - if (!(value.getClass().equals(String.class)) || !URLUtil.verifyUrl((String) value)) { + if (!(value.getClass().equals(String.class)) || !Pattern.compile(getUrlRegex()).matcher((String) value).matches()) { addFieldError(fieldName, object); } } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/StrutsConstants.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/StrutsConstants.java b/core/src/main/java/org/apache/struts2/StrutsConstants.java index 4671eb1..bee144e 100644 --- a/core/src/main/java/org/apache/struts2/StrutsConstants.java +++ b/core/src/main/java/org/apache/struts2/StrutsConstants.java @@ -93,11 +93,7 @@ public final class StrutsConstants { /** The org.apache.struts2.views.freemarker.FreemarkerManager implementation class */ public static final String STRUTS_FREEMARKER_MANAGER_CLASSNAME = "struts.freemarker.manager.classname"; - - @Deprecated - /** Cache Freemarker templates, this cache is managed by struts2,instead of native freemarker cache,set STRUTS_FREEMARKER_MRU_MAX_STRONG_SIZE >0&&STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY>0*/ - public static final String STRUTS_FREEMARKER_TEMPLATES_CACHE = "struts.freemarker.templatesCache"; - + /** Update freemarker templates cache in seconds*/ public static final String STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY = "struts.freemarker.templatesCache.updateDelay"; http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/components/Include.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/components/Include.java b/core/src/main/java/org/apache/struts2/components/Include.java index bcd97a4..298829c 100644 --- a/core/src/main/java/org/apache/struts2/components/Include.java +++ b/core/src/main/java/org/apache/struts2/components/Include.java @@ -228,15 +228,6 @@ public class Include extends Component { } /** - * @deprecated use {@link #include(String, java.io.Writer, javax.servlet.ServletRequest, - * javax.servlet.http.HttpServletResponse, String)} instead with correct encoding specified - */ - public static void include( String relativePath, Writer writer, ServletRequest request, - HttpServletResponse response ) throws ServletException, IOException { - include(relativePath, writer, request, response, null); - } - - /** * Include a resource in a response. * * @param relativePath the relative path of the resource to include; resolves to {@link #getContextRelativePath(javax.servlet.ServletRequest, http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/components/Token.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/components/Token.java b/core/src/main/java/org/apache/struts2/components/Token.java index a52d5ec..dc9fa7b 100644 --- a/core/src/main/java/org/apache/struts2/components/Token.java +++ b/core/src/main/java/org/apache/struts2/components/Token.java @@ -98,14 +98,6 @@ public class Token extends UIBean { addParameter("tokenNameField", TokenHelper.TOKEN_NAME_FIELD); } - /** - * This will be removed in a future version of Struts. - * @deprecated Templates should use $parameters from now on, not $tag. - */ - public String getTokenNameField() { - return TokenHelper.TOKEN_NAME_FIELD; - } - private String buildToken(String name) { Map context = stack.getContext(); Object myToken = context.get(name); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java b/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java index 15cb16d..52b76ab 100644 --- a/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java +++ b/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java @@ -445,9 +445,6 @@ public class DefaultBeanSelectionProvider extends AbstractBeanSelectionProvider if (props.getProperty(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD) == null) { props.setProperty(StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, "true"); } - if (props.getProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE) == null) { - props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE, "false"); - } if (props.getProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY) == null) { props.setProperty(StrutsConstants.STRUTS_FREEMARKER_TEMPLATES_CACHE_UPDATE_DELAY, "0"); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java index f8d9d9e..af5817c 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java @@ -490,16 +490,6 @@ public class Dispatcher { } /** - * @deprecated use version without ServletContext param - */ - @Deprecated - public void serviceAction(HttpServletRequest request, HttpServletResponse response, ServletContext context, - ActionMapping mapping) throws ServletException { - - serviceAction(request, response, mapping); - } - - /** * Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result. * <p/> * This method first creates the action context from the given parameters, @@ -593,16 +583,6 @@ public class Dispatcher { } /** - * @deprecated use version without servletContext param - */ - @Deprecated - public Map<String,Object> createContextMap(HttpServletRequest request, HttpServletResponse response, - ActionMapping mapping, ServletContext context) { - - return createContextMap(request, response, mapping); - } - - /** * Create a context map containing all the wrapped request objects * * @param request The servlet request @@ -636,21 +616,6 @@ public class Dispatcher { } /** - * @deprecated use version without ServletContext param - */ - @Deprecated - public HashMap<String,Object> createContextMap(Map requestMap, - Map parameterMap, - Map sessionMap, - Map applicationMap, - HttpServletRequest request, - HttpServletResponse response, - ServletContext servletContext) { - - return createContextMap(requestMap, parameterMap, sessionMap, applicationMap, request, response); - } - - /** * Merge all application and servlet attributes into a single <tt>HashMap</tt> to represent the entire * <tt>Action</tt> context. * @@ -788,14 +753,6 @@ public class Dispatcher { } /** - * @deprecated use version without ServletContext param - */ - @Deprecated - public HttpServletRequest wrapRequest(HttpServletRequest request, ServletContext servletContext) throws IOException { - return wrapRequest(request); - } - - /** * Wrap and return the given request or return the original request object. * </p> * This method transparently handles multipart data as a wrapped class around the given request. @@ -871,22 +828,6 @@ public class Dispatcher { * @param response the HttpServletResponse object. * @param code the HttpServletResponse error code (see {@link javax.servlet.http.HttpServletResponse} for possible error codes). * @param e the Exception that is reported. - * @param ctx the ServletContext object. - * - * @deprecated remove in version 3.0 - use version without ServletContext parameter - */ - @Deprecated - public void sendError(HttpServletRequest request, HttpServletResponse response, ServletContext ctx, int code, Exception e) { - sendError(request, response, code, e); - } - - /** - * Send an HTTP error response code. - * - * @param request the HttpServletRequest object. - * @param response the HttpServletResponse object. - * @param code the HttpServletResponse error code (see {@link javax.servlet.http.HttpServletResponse} for possible error codes). - * @param e the Exception that is reported. * * @since 2.3.17 */ http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java index 5115b68..d5b9e4e 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java @@ -392,17 +392,6 @@ public class DefaultActionMapper implements ActionMapper { } /** - * Drops the extension from the action name - * - * @param name The action name - * @return The action name without its extension - * @deprecated Since 2.1, use {@link #dropExtension(java.lang.String, org.apache.struts2.dispatcher.mapper.ActionMapping)} instead - */ - protected String dropExtension(String name) { - return dropExtension(name, new ActionMapping()); - } - - /** * Drops the extension from the action name, storing it in the mapping for later use * * @param name The action name http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/dispatcher/ng/ExecuteOperations.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/dispatcher/ng/ExecuteOperations.java b/core/src/main/java/org/apache/struts2/dispatcher/ng/ExecuteOperations.java index 0c94249..1db7cef 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/ng/ExecuteOperations.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/ng/ExecuteOperations.java @@ -38,11 +38,6 @@ public class ExecuteOperations { private Dispatcher dispatcher; - @Deprecated - public ExecuteOperations(ServletContext servletContext, Dispatcher dispatcher) { - this.dispatcher = dispatcher; - } - public ExecuteOperations(Dispatcher dispatcher) { this.dispatcher = dispatcher; } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java b/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java index 6170a54..2861916 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java @@ -51,11 +51,6 @@ public class PrepareOperations { private static final String STRUTS_ACTION_MAPPING_KEY = "struts.actionMapping"; public static final String CLEANUP_RECURSION_COUNTER = "__cleanup_recursion_counter"; - @Deprecated - public PrepareOperations(ServletContext servletContext, Dispatcher dispatcher) { - this.dispatcher = dispatcher; - } - public PrepareOperations(Dispatcher dispatcher) { this.dispatcher = dispatcher; } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java b/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java index b4bcff0..f42fe7c 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java +++ b/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java @@ -60,12 +60,4 @@ public interface PrincipalProxy { */ boolean isRequestSecure(); - /** - * Gets the request. - * - * @return The request - * @deprecated To obtain the HttpServletRequest in your action, use - * {@link org.apache.struts2.servlet.ServletRequestAware}, since this method will be dropped in future. - */ - HttpServletRequest getRequest(); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/servlet/interceptor/ServletPrincipalProxy.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/servlet/interceptor/ServletPrincipalProxy.java b/core/src/main/java/org/apache/struts2/servlet/interceptor/ServletPrincipalProxy.java index e264c6b..953ef5e 100644 --- a/core/src/main/java/org/apache/struts2/servlet/interceptor/ServletPrincipalProxy.java +++ b/core/src/main/java/org/apache/struts2/servlet/interceptor/ServletPrincipalProxy.java @@ -78,14 +78,4 @@ public class ServletPrincipalProxy implements PrincipalProxy { return request.isSecure(); } - /** - * Gets the request. - * - * @return The request - * @deprecated To obtain the HttpServletRequest in your action, use - * {@link org.apache.struts2.servlet.ServletRequestAware}, since this method will be dropped in future. - */ - public HttpServletRequest getRequest() { - return request; - } } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/util/StrutsUtil.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/util/StrutsUtil.java b/core/src/main/java/org/apache/struts2/util/StrutsUtil.java index fad2c36..14265bb 100644 --- a/core/src/main/java/org/apache/struts2/util/StrutsUtil.java +++ b/core/src/main/java/org/apache/struts2/util/StrutsUtil.java @@ -91,23 +91,16 @@ public class StrutsUtil { } public String include(Object aName) throws Exception { - return include(aName, request, response); - } - - /** - * @deprecated the request and response are stored in this util class, please use include(string) - */ - public String include(Object aName, HttpServletRequest aRequest, HttpServletResponse aResponse) throws Exception { try { - RequestDispatcher dispatcher = aRequest.getRequestDispatcher(aName.toString()); + RequestDispatcher dispatcher = request.getRequestDispatcher(aName.toString()); if (dispatcher == null) { throw new IllegalArgumentException("Cannot find included file " + aName); } - ResponseWrapper responseWrapper = new ResponseWrapper(aResponse); + ResponseWrapper responseWrapper = new ResponseWrapper(response); - dispatcher.include(aRequest, responseWrapper); + dispatcher.include(request, responseWrapper); return responseWrapper.getData(); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java b/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java index 4ed6bc3..2c48370 100644 --- a/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java +++ b/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java @@ -70,7 +70,7 @@ import com.opensymphony.xwork2.util.ValueStack; /** * The default Struts tag library */ -public class DefaultTagLibrary implements TagLibraryDirectiveProvider, TagLibraryModelProvider, TagLibrary { +public class DefaultTagLibrary implements TagLibraryDirectiveProvider, TagLibraryModelProvider { public Object getModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/TagLibrary.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/TagLibrary.java b/core/src/main/java/org/apache/struts2/views/TagLibrary.java deleted file mode 100644 index b4c36d7..0000000 --- a/core/src/main/java/org/apache/struts2/views/TagLibrary.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * $Id$ - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -package org.apache.struts2.views; - -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.opensymphony.xwork2.util.ValueStack; - -/** - * Provides Velocity and Freemarker implementation classes for a tag library - * - * @deprecated use two other interfaces: {@link TagLibraryDirectiveProvider}, {@link TagLibraryModelProvider} - */ -@Deprecated -public interface TagLibrary { - - /** - * Gets a Java object that contains getters for the tag library's Freemarker models. - * Called once per Freemarker template processing. - * - * @param stack The current value stack - * @param req The HTTP request - * @param res The HTTP response - * @return The Java object containing the Freemarker model getter methods - */ - public Object getFreemarkerModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res); - - /** - * Gets a list of Velocity directive classes for the tag library. Called once on framework - * startup when initializing Velocity. - * - * @return A list of Velocity directive classes - */ - public List<Class> getVelocityDirectiveClasses(); -} http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java index 375a726..1508cb7 100644 --- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java +++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java @@ -39,7 +39,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.StrutsConstants; import org.apache.struts2.views.JspSupportServlet; -import org.apache.struts2.views.TagLibrary; import org.apache.struts2.views.TagLibraryModelProvider; import org.apache.struts2.views.util.ContextUtil; @@ -164,7 +163,6 @@ public class FreemarkerManager { protected int mruMaxStrongSize; protected String templateUpdateDelay; protected Map<String,TagLibraryModelProvider> tagLibraries; - protected Map<String, TagLibrary> oldTagLibraries; private FileManager fileManager; private FreemarkerThemeTemplateLoader themeTemplateLoader; @@ -202,13 +200,6 @@ public class FreemarkerManager { map.put(prefix, container.getInstance(TagLibraryModelProvider.class, prefix)); } this.tagLibraries = Collections.unmodifiableMap(map); - - Map<String, TagLibrary> oldMap = new HashMap<>(); - Set<String> oldPrefixes = container.getInstanceNames(TagLibrary.class); - for (String prefix : oldPrefixes) { - oldMap.put(prefix, container.getInstance(TagLibrary.class, prefix)); - } - this.oldTagLibraries = Collections.unmodifiableMap(oldMap); } @Inject @@ -504,12 +495,6 @@ public class FreemarkerManager { } } - if (oldTagLibraries != null) { - for (String prefix : oldTagLibraries.keySet()) { - model.put(prefix, oldTagLibraries.get(prefix).getFreemarkerModels(stack, request, response)); - } - } - //place the model in the request using the special parameter. This can be retrieved for freemarker and velocity. request.setAttribute(ATTR_TEMPLATE_MODEL, model); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java index 03f56d6..0090461 100644 --- a/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java +++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java @@ -54,13 +54,6 @@ public class TextFieldTag extends AbstractUITag { textField.setType(type); } - /** - * @deprecated please use {@link #setMaxlength} instead - */ - public void setMaxLength(String maxlength) { - this.maxlength = maxlength; - } - public void setMaxlength(String maxlength) { this.maxlength = maxlength; } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java b/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java index f60a10f..8f49856 100644 --- a/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java +++ b/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java @@ -32,7 +32,6 @@ import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsConstants; import org.apache.struts2.StrutsException; import org.apache.struts2.util.VelocityStrutsUtil; -import org.apache.struts2.views.TagLibrary; import org.apache.struts2.views.TagLibraryDirectiveProvider; import org.apache.struts2.views.jsp.ui.OgnlTool; import org.apache.struts2.views.util.ContextUtil; @@ -94,7 +93,6 @@ public class VelocityManager { private String customConfigFile; private List<TagLibraryDirectiveProvider> tagLibraries; - private List<TagLibrary> oldTagLibraries; @Inject public void setObjectFactory(ObjectFactory fac) { @@ -109,13 +107,6 @@ public class VelocityManager { list.add(container.getInstance(TagLibraryDirectiveProvider.class, prefix)); } this.tagLibraries = Collections.unmodifiableList(list); - - List<TagLibrary> oldList = new ArrayList<>(); - Set<String> oldPrefixes = container.getInstanceNames(TagLibrary.class); - for (String prefix : oldPrefixes) { - oldList.add(container.getInstance(TagLibrary.class, prefix)); - } - this.oldTagLibraries = Collections.unmodifiableList(oldList); } /** @@ -521,13 +512,6 @@ public class VelocityManager { } } - for (TagLibrary tagLibrary : oldTagLibraries) { - List<Class> directives = tagLibrary.getVelocityDirectiveClasses(); - for (Class directive : directives) { - addDirective(sb, directive); - } - } - String directives = sb.toString(); String userdirective = p.getProperty("userdirective"); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java b/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java index faa222d..68b92ae 100644 --- a/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java +++ b/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java @@ -256,13 +256,6 @@ public class XSLTResult implements Result { this.noCache = BooleanUtils.toBoolean(xsltNoCache); } - /** - * @deprecated Use #setStylesheetLocation(String) - */ - public void setLocation(String location) { - setStylesheetLocation(location); - } - public void setStylesheetLocation(String location) { if (location == null) throw new IllegalArgumentException("Null location"); @@ -281,34 +274,6 @@ public class XSLTResult implements Result { this.exposedValue = exposedValue; } - /** - * @deprecated Since 2.1.1 - */ - public String getMatchingPattern() { - return matchingPattern; - } - - /** - * @deprecated Since 2.1.1 - */ - public void setMatchingPattern(String matchingPattern) { - this.matchingPattern = matchingPattern; - } - - /** - * @deprecated Since 2.1.1 - */ - public String getExcludingPattern() { - return excludingPattern; - } - - /** - * @deprecated Since 2.1.1 - */ - public void setExcludingPattern(String excludingPattern) { - this.excludingPattern = excludingPattern; - } - public String getStatus() { return String.valueOf(status); } http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java b/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java index 98a5dac..2482ca0 100644 --- a/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java @@ -138,14 +138,6 @@ public class ActionSupportTest extends XWorkTestCase { assertEquals(false, as.hasErrors()); } - public void testDeprecated() throws Exception { - assertNotNull(as.getErrorMessages()); - assertEquals(0, as.getErrorMessages().size()); - - assertNotNull(as.getErrors()); - assertEquals(0, as.getErrors().size()); - } - public void testLocale() { Locale defLocale = Locale.getDefault(); ActionContext.getContext().setLocale(null); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java b/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java index 787d6e5..990b831 100644 --- a/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java @@ -42,7 +42,6 @@ public class XWorkExceptionTest extends XWorkTestCase { XWorkException e = new XWorkException(); assertNull(e.getCause()); - assertNull(e.getThrowable()); assertNull(e.getMessage()); assertNull(e.getLocation()); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java b/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java index e6de0b9..a425157 100644 --- a/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java @@ -22,6 +22,7 @@ import com.opensymphony.xwork2.config.entities.ActionConfig; import com.opensymphony.xwork2.config.entities.ExceptionMappingConfig; import com.opensymphony.xwork2.config.entities.InterceptorMapping; import com.opensymphony.xwork2.config.entities.ResultConfig; +import com.opensymphony.xwork2.util.WildcardHelper; import java.util.HashMap; import java.util.Map; @@ -36,7 +37,7 @@ public class ActionConfigMatcherTest extends XWorkTestCase { @Override public void setUp() throws Exception { super.setUp(); configMap = buildActionConfigMap(); - matcher = new ActionConfigMatcher(configMap); + matcher = new ActionConfigMatcher(new WildcardHelper(), configMap, false); } @Override public void tearDown() throws Exception { @@ -104,7 +105,7 @@ public class ActionConfigMatcherTest extends XWorkTestCase { public void testLooseMatch() { configMap.put("*!*", configMap.get("bar/*/**")); - ActionConfigMatcher matcher = new ActionConfigMatcher(configMap, true); + ActionConfigMatcher matcher = new ActionConfigMatcher(new WildcardHelper(), configMap, true); // exact match ActionConfig m = matcher.match("foo/class/method"); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java index 250dd64..9004241 100644 --- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java @@ -17,6 +17,7 @@ package com.opensymphony.xwork2.config.providers; import com.opensymphony.xwork2.XWorkTestCase; import com.opensymphony.xwork2.config.ConfigurationProvider; +import com.opensymphony.xwork2.config.ContainerProvider; import com.opensymphony.xwork2.config.RuntimeConfiguration; import com.opensymphony.xwork2.config.entities.ActionConfig; import com.opensymphony.xwork2.config.entities.InterceptorMapping; @@ -40,7 +41,7 @@ public class XmlConfigurationProviderInterceptorParamOverridingTest extends XWor factory.setContainer(container); factory.setFileManager(new DefaultFileManager()); p.setFileManagerFactory(factory); - conf.reload(new ArrayList<ConfigurationProvider>() { + conf.reloadContainer(new ArrayList<ContainerProvider>() { { add(new XWorkConfigurationProvider()); add(p); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java index a028db4..733c3ee 100644 --- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java @@ -2,6 +2,7 @@ package com.opensymphony.xwork2.config.providers; import com.opensymphony.xwork2.XWorkTestCase; import com.opensymphony.xwork2.config.ConfigurationProvider; +import com.opensymphony.xwork2.config.ContainerProvider; import com.opensymphony.xwork2.config.RuntimeConfiguration; import com.opensymphony.xwork2.config.entities.ActionConfig; import com.opensymphony.xwork2.config.entities.InterceptorMapping; @@ -28,12 +29,12 @@ public class XmlConfigurationProviderInterceptorStackParamOverridingTest extends factory.setFileManager(new DefaultFileManager()); p.setFileManagerFactory(factory); configurationManager.addContainerProvider(p); - conf.reload(new ArrayList<ConfigurationProvider>(){ - { - add(new XWorkConfigurationProvider()); - add(p); - } - }); + conf.reloadContainer(new ArrayList<ContainerProvider>() { + { + add(new XWorkConfigurationProvider()); + add(p); + } + }); RuntimeConfiguration rtConf = conf.getRuntimeConfiguration(); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java index f5ef935..80cc093 100644 --- a/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java @@ -50,9 +50,9 @@ public class XmlConfigurationProviderResultTypesTest extends ConfigurationTestBa Map result2ParamsMap = result2ResultTypeConfig.getParams(); assertEquals(result1ResultTypeConfig.getName(), "result1"); - assertEquals(result1ResultTypeConfig.getClazz(), MockResult.class.getName()); + assertEquals(result1ResultTypeConfig.getClassName(), MockResult.class.getName()); assertEquals(result2ResultTypeConfig.getName(), "result2"); - assertEquals(result2ResultTypeConfig.getClazz(), MockResult.class.getName()); + assertEquals(result2ResultTypeConfig.getClassName(), MockResult.class.getName()); assertEquals(result1ParamsMap.size(), 3); assertEquals(result2ParamsMap.size(), 2); assertTrue(result1ParamsMap.containsKey("param1")); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java index 1a5a81e..9413f75 100644 --- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java @@ -42,8 +42,8 @@ public class ScopedModelDrivenInterceptorTest extends XWorkTestCase { public void testResolveModel() throws Exception { ActionContext ctx = ActionContext.getContext(); ctx.setSession(new HashMap<String, Object>()); - - ObjectFactory factory = ObjectFactory.getObjectFactory(); + + ObjectFactory factory = ActionContext.getContext().getContainer().getInstance(ObjectFactory.class); Object obj = inter.resolveModel(factory, ctx, "java.lang.String", "request", "foo"); assertNotNull(obj); assertTrue(obj instanceof String); http://git-wip-us.apache.org/repos/asf/struts/blob/c50605a9/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java b/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java index 25f29d6..37d65e1 100644 --- a/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java @@ -3,9 +3,16 @@ package com.opensymphony.xwork2.util; import com.opensymphony.xwork2.FileManager; import com.opensymphony.xwork2.FileManagerFactory; import com.opensymphony.xwork2.XWorkTestCase; +import com.opensymphony.xwork2.util.fs.DefaultFileManager; +import org.apache.struts2.util.fs.JBossFileManager; +import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; +import java.net.URLStreamHandlerFactory; /** * FileManager Tester. @@ -17,7 +24,6 @@ import java.net.URL; public class DefaultFileManagerTest extends XWorkTestCase { private FileManager fileManager; - private long lastModified; @Override public void setUp() throws Exception { @@ -25,7 +31,7 @@ public class DefaultFileManagerTest extends XWorkTestCase { fileManager = container.getInstance(FileManagerFactory.class).getFileManager(); } - public void testGetFileInJar() throws Exception { + public void disabled_testGetFileInJar() throws Exception { testLoadFile("xwork-jar.xml"); testLoadFile("xwork - jar.xml"); testLoadFile("xwork-zip.xml"); @@ -59,4 +65,115 @@ public class DefaultFileManagerTest extends XWorkTestCase { assertTrue(fm.fileNeedsReloading(resourceName)); } + public void testSimpleFile() throws MalformedURLException { + URL url = new URL("file:c:/somefile.txt"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertEquals(outputURL, url); + } + + public void testJarFile() throws MalformedURLException { + URL url = new URL("jar:file:/c:/somefile.jar!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("jar:file:/c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("jar:file:c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/somefile.jar", outputURL.toExternalForm()); + } + + public void testJarFileWithJarWordInsidePath() throws MalformedURLException { + URL url = new URL("jar:file:/c:/workspace/projar/somefile.jar!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/workspace/projar/somefile.jar", outputURL.toExternalForm()); + + url = new URL("jar:file:/c:/workspace/projar/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/workspace/projar/somefile.jar", outputURL.toExternalForm()); + + url = new URL("jar:file:c:/workspace/projar/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/workspace/projar/somefile.jar", outputURL.toExternalForm()); + } + + public void testZipFile() throws MalformedURLException { + URL url = new URL("zip:/c:/somefile.zip!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/somefile.zip", outputURL.toExternalForm()); + + url = new URL("zip:/c:/somefile.zip!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.zip", outputURL.toExternalForm()); + + url = new URL("zip:c:/somefile.zip!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/somefile.zip", outputURL.toExternalForm()); + } + + public void testWSJarFile() throws MalformedURLException { + URL url = new URL("wsjar:file:/c:/somefile.jar!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("wsjar:file:/c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("wsjar:file:c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/somefile.jar", outputURL.toExternalForm()); + } + + public void disabled_testVsFile() throws MalformedURLException { + URL url = new URL("vfsfile:/c:/somefile.jar!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfsfile:/c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfsfile:c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfszip:/c:/somefile.war/somelibrary.jar"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.war/somelibrary.jar", outputURL.toExternalForm()); + } + + public void disabled_testJBossFile() throws MalformedURLException { + URL url = new URL("vfszip:/c:/somefile.jar!/"); + URL outputURL = fileManager.normalizeToFileProtocol(url); + + assertNotNull(outputURL); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfszip:/c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfsmemory:c:/somefile.jar!/somestuf/bla/bla"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:c:/somefile.jar", outputURL.toExternalForm()); + + url = new URL("vfsmemory:/c:/somefile.war/somelibrary.jar"); + outputURL = fileManager.normalizeToFileProtocol(url); + assertEquals("file:/c:/somefile.war/somelibrary.jar", outputURL.toExternalForm()); + } + }
