Rat (Release Audit Tool) results

The following document contains the results of Rat (Release Audit Tool).

*****************************************************
Summary
-------
Generated at: 2017-09-06T07:50:19+02:00
Notes: 2
Binaries: 1
Archives: 4
Standards: 1550

Apache Licensed: 1163
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

387 Unknown Licenses

*******************************

Unapproved licenses:

  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/BeanSelectionProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorLocator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerFactoryProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableConstantFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/CycleDetector.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/DirectedGraph.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionAnnotationProcessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionFileProcessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/ArrayConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterCreator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterHolder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/StringConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/metadata/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/NullHandler.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterCreator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterHolder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProviderFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ActionFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ConverterFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultActionFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultInterceptorFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultResultFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultUnknownHandlerFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultValidatorFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/InterceptorFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ResultFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/UnknownHandlerFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ValidatorFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManager.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManagerFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Allowed.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BlockByDefault.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Blocked.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationWorkflowAware.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/WithLazyParams.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockContainer.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/HttpParametersPropertyAccessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ObjectAccessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ParameterPropertyAccessor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlNullHandlerWrapper.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionContextFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/result/ParamNameAwareResult.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/AcceptedPatternsChecker.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/ExcludedPatternsChecker.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/test/StubConfigurationProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/AbstractLocalizedTextProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/Evaluated.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/FileRevision.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/JarEntryRevision.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/Revision.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocatableProperties.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/MemberAccessValueStack.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/OgnlTextParser.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionException.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionExceptionHandler.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProviderFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/package.html
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/DateTextField.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/AbstractBeanSelectionProvider.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/MockDispatcher.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/Parameter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/StrutsResultFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/Redirectable.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ComponentUtils.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ContentTypeMatcher.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/DefaultContentTypeMatcher.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/URLDecoderUtil.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoader.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/DateTextFieldTag.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/validator/validators/default.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/xwork-messages.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/jshint.conf.js
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-default-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/submit-close.ftl
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/submit-close.ftl
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.1.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.2.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.3.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.3.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.5.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-default.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.2.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.3.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-config-1.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-definition-1.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/CompositeTextProviderTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/entities/AllowedMethodsTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/EnvsValueSubstitutorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/InterceptorBuilderTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderExceptionMappingsTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderUnknownHandlerStackTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlHelperTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/FooNumberConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/NumberConverterTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/ParentClass.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/StringConverterTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/GenericsBean.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/inject/ContainerImplTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultModel.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultModel.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/InterfaceAnnotatedAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationInterface.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyObjectFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsCheckerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Bar.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExecuteInterceptor.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExternalReferenceAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Foo.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/TestActionInvocation.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/SpringResult.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/TestAspect.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Address.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/AddressTypeConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Person.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonActionTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonTypeConverter.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/subtest/NullModelDrivenAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestSubBean.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UnknownHandlerManagerMock.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UserSpecifiedDefaultAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/Dummy2Class.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClass.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClassExt.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation2.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/AnnotationUtilsTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/BarJunior.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/GetPropertiesTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Indexed.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ListHolder.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/logging/LoggerUtilsTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UnknownHandlerManagerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UrlUtilTest2.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationConfigurationBuilderTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/MyValidator.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/AppendingValidatorContextTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/CreditCardValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/IntRangeFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/LongRangeFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ShortRangeFieldValidatorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/ClassInstantiationTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/template/JspTemplateEngineTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/DefaultStaticContentLoaderTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequestTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ParameterTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/MyResultFactory.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/StrutsResultFactoryTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CookieProviderInterceptorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/MessageStorePreResultListenerTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/ComponentUtilsTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/URLDecoderUtilTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoaderTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/NumberTagTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ActionSupportTest$MyActionSupport_da.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/AnnotatedTestBean.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-invalid-file.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/conversion/impl/test-xwork-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/DefaultTextProviderTest_en_CA.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAnnotationAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-some-alias-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-subproperty-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validationAlias-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_de.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_en.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_de.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_en.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/somefile.txt
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-spring.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/autowireContext.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/resolverApplicationContext.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validationAlias-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware2-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/Equidae-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/package.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validationAlias-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/TestBean2-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/UserMarker-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-anotherContext-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-badtest-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-beanMessageBundle-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-expressionValidation-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorChildValidation-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorValidation-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestChildBean-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TextProviderSupportTest_en.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Bar.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Cat-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/FindMe.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Foo-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/ListHolder-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/LocalizedTextUtilTest.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/location/xml-with-location.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/MyBeanAction-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Tiger-conversion.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_de.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_fr.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ValidationOrderAction-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle1.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle2.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test2.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test3.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test4.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test5.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test6.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validators-fail.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorModelAction-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-beanMessageBundle-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateArray-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateList-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorChildValidation-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidation-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidationAlias-validation.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/includeTest.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/log4j2.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/my-validators.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/myOther-validators.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/static/resource.css
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/PackagelessAction.properties
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/template/test/text.ftl
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/validators.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-1.0.dtd
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-class-param-test.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-param-test.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-proxyinvoke.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-sample.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-beans.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-default.xml
  /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-validation.xml

*******************************

Archives:

 + /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork - jar.jar
 
 + /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork - zip.zip
 
 + /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-jar.jar
 
 + /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-zip.zip
 
*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/pom.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/Action.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionEventListener.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/BeanSelectionProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/Configuration.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ContainerProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/ActionConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/AllowedMethods.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/ExceptionMappingConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorListHolder.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorLocator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorMapping.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/UnknownHandlerConfig.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerFactoryProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableConstantFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/MockConfiguration.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/NamespaceMatch.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/NamespaceMatcher.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/package.html
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/PackageProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/CycleDetector.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/DirectedGraph.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/EnvsValueSubstitutor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/ValueSubstitutor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ReferenceResolverException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/RuntimeConfiguration.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/ServletContextAwareConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/ConversionRule.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/ConversionType.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/TypeConversion.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionAnnotationProcessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionFileProcessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionPropertiesProcessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/ArrayConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterCreator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterHolder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/StringConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/metadata/package.html
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/NullHandler.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ObjectTypeDeterminer.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConversionException.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterCreator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterHolder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxyFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProviderFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultTextProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultUnknownHandlerManager.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ActionFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ConverterFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultActionFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultInterceptorFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultResultFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultUnknownHandlerFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultValidatorFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/InterceptorFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ResultFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/UnknownHandlerFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ValidatorFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManager.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManagerFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/ConstructionContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Container.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Context.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/DependencyException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Factory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Inject.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/InternalContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/InternalFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Key.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/package-info.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/Scoped.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/FinalizablePhantomReference.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/FinalizableReference.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/FinalizableReferenceQueue.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/FinalizableSoftReference.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/FinalizableWeakReference.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/Function.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceType.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/Strings.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/AbstractInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Allowed.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BlockByDefault.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Blocked.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionHolder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptorUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterNameAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/PreResultListener.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDriven.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationErrorAware.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationWorkflowAware.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/WithLazyParams.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/InvalidMetadataException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/LocaleProviderFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/LocalizedTextProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockActionInvocation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockActionProxy.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockContainer.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockObjectTypeDeterminer.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ModelDriven.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/HttpParametersPropertyAccessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ObjectAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ObjectProxyPropertyAccessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ParameterPropertyAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkEnumerationAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkIteratorPropertyAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkObjectPropertyAccessor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/ObjectProxy.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlNullHandlerWrapper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionContextFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlTypeConverterWrapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStackFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/XWorkTypeConverterWrapper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/Preparable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ResourceBundleTextProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/result/ParamNameAwareResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/Result.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/AcceptedPatternsChecker.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/ExcludedPatternsChecker.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/package.html
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/SpringProxyableObjectFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/StrutsTextProviderFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/test/StubConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/TestNGXWorkTestCase.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/TextProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/TextProviderFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/Unchainable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/UnknownHandlerManager.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/AbstractLocalizedTextProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/AnnotationUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/AbstractResourceStore.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/FileResourceStore.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/JarResourceStore.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStore.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/classloader/ResourceStoreClassLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ClassPathFinder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ClearableValueStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/CompoundRoot.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/Element.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/Evaluated.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinderFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassLoaderInterface.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassLoaderInterfaceDelegate.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/Test.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/FileRevision.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/JarEntryRevision.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/Revision.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/GlobalLocalizedTextProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/Key.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/Locatable.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocatableProperties.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/Located.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/Location.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocationAttributes.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocationImpl.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocationUtils.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/commons/CommonsLogger.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/commons/CommonsLoggerFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/jdk/JdkLogger.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/jdk/JdkLoggerFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/log4j2/Log4j2Logger.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/log4j2/Log4j2LoggerFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/Logger.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/slf4j/Slf4jLogger.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/logging/slf4j/Slf4jLoggerFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/MemberAccessValueStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcher.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/OgnlTextParser.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/PatternMatcher.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ProxyUtil.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionException.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionExceptionHandler.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProviderFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ResolverUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ValueStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/ValueStackFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/WildcardHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/WildcardUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/XWorkTestCaseHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/Validateable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ActionValidatorManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CreditCardValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/LongRangeFieldValidator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/UrlValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidatorType.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationValidationConfigurationBuilder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParser.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/DelegatingValidatorContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/FieldValidator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ShortCircuitableValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorContext.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/CreditCardValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/DoubleRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/EmailValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldValidatorSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/IntRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/LongRangeFieldValidator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/RangeValidatorSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/RegexFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ShortRangeFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkTestCase.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ActionComponent.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ActionError.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ActionMessage.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Anchor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/AppendIterator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Bean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Checkbox.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/CheckboxList.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ClosingUIBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ComboBox.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Component.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ComponentUrlProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ContextBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Date.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/DateTextField.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Debug.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Else.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ElseIf.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ExtraParameterProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/FieldError.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/File.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Form.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/FormButton.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/GenericUIBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Head.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Hidden.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/I18n.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/If.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Include.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/IteratorComponent.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Label.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ListUIBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/MergeIterator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Number.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/OptGroup.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Param.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Password.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Property.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Push.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Radio.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Reset.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Select.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Set.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Submit.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/BaseTemplateEngine.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/JspTemplateEngine.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/Template.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/TemplateEngine.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/TemplateRenderingContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/template/VelocityTemplateEngine.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Text.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/TextArea.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/TextField.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/Token.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/UIBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/UpDownSelect.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/URL.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/UrlProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/UrlRenderer.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/AbstractBeanSelectionProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/DefaultBeanSelectionProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/DefaultPropertiesProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/DefaultSettings.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/DelegatingSettings.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/NullResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/PropertiesConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/PropertiesSettings.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/Settings.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/conversion/UploadedFileConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DispatcherListener.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/ExecuteOperations.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/filter/FilterHostConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/filter/StrutsExecuteFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/filter/StrutsPrepareAndExecuteFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/filter/StrutsPrepareFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/HostConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/InitOperations.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/listener/ListenerHostConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/listener/StrutsListener.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/LocalizedMessage.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/ParameterAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/MockDispatcher.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/StrutsUploadedFile.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/UploadedFile.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/package-info.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/Parameter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/PrepareOperations.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/servlet/ServletHostConfig.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/servlet/StrutsServlet.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/StaticContentLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/StrutsActionProxy.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/StrutsActionProxyFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/StrutsResultFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/BackgroundProcess.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CookieProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CookieProviderInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CookiesAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/debugging/ObjectToHTMLWriter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/debugging/PrettyPrintWriter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/HttpParametersAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/MessageStorePreResultListener.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/MultiselectInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/NoOpInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/NoParameters.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/PrincipalAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ProfilingActivationInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/servlet/ServletPrincipalProxy.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/validation/AnnotationValidationInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/validation/SkipValidation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/RequestUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/PlainTextResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/PostbackResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/Redirectable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/ServletActionRedirectResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/StreamResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/VelocityResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/ServletActionContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/StrutsConstants.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/StrutsException.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/StrutsStatics.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/AppendIteratorFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/AttributeMap.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ComponentUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ContainUtil.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ContentTypeMatcher.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/Counter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/DateFormatter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/DefaultContentTypeMatcher.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/InvocationSessionStore.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/IteratorFilterSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/IteratorGenerator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ListEntry.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/MakeIterator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/MergeIteratorFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ObjectFactoryDestroyable.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/PrefixTrie.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/RegexPatternMatcherExpression.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ServletContextAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/SortIteratorFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/StrutsTestCaseHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/StrutsUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/SubsetIteratorFilter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/TabbedPane.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/TextProviderHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/Timer.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/TokenHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/Ascii.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/B2CConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/ByteChunk.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/CharChunk.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/HexUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/MessageBytes.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/StringCache.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/UDecoder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/tomcat/buf/Utf8Decoder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/URLBean.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/URLDecoderUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/VelocityStrutsUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/annotations/StrutsTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/annotations/StrutsTagAttribute.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/annotations/StrutsTagSkipInheritance.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/DefaultTagLibrary.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/StrutsClassTemplateLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionErrorModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionMessageModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/AnchorModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/BeanModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/CallbackWriter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/CheckboxListModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/CheckboxModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ComboBoxModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ComponentModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/DateModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/DoubleSelectModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ElseIfModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ElseModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/FieldErrorModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/FileModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/FormModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/HeadModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/HiddenModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/I18nModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/IfModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/IncludeModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/InputTransferSelectModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/IteratorModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/LabelModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/OptGroupModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/OptionTransferSelectModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ParamModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/PasswordModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/PropertyModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/PushModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/RadioModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/ResetModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/SelectModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/SetModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/SubmitModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/TagModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextAreaModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextFieldModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/TokenModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/UpDownSelectModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/tags/URLModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/DateTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ElseIfTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ElseTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/I18nTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/IfTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/IncludeTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/iterator/AppendIteratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/iterator/IteratorGeneratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/iterator/MergeIteratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/iterator/SortIteratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/iterator/SubsetIteratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/IteratorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/NumberTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ParamTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/PropertyTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/PushTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/SetTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/TextTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractClosingTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractDoubleListTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractRequiredListTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITagBeanInfo.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/ActionErrorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/ActionMessageTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxListTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/ComboBoxTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/ComponentTag.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/DateTextFieldTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/DebugTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/DoubleSelectTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/FileTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/FormTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/HeadTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/HiddenTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/InputTransferSelectTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/LabelTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/OgnlTool.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/PasswordTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/RadioTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/ResetTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/SelectTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/SubmitTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/TokenTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/UpDownSelectTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/JspSupportServlet.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/TagLibraryDirectiveProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/TagLibraryModelProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/ContextUtil.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/ResourceUtil.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ActionDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ActionErrorDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ActionMessageDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/AnchorDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/BeanDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/CheckBoxDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/CheckBoxListDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ComboBoxDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ComponentDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/DateDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/DoubleSelectDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/FieldErrorDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/FileDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/FormDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/HeadDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/HiddenDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/I18nDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/IncludeDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/InputTransferSelectDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/LabelDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/OptGroupDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/OptionTransferSelectDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ParamDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/PasswordDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/PropertyDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/PushDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/RadioDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/ResetDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/SelectDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/SetDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/SubmitDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/TextAreaDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/TextDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/TextFieldDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/TokenDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/UpDownSelectDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/components/URLDirective.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/StrutsResourceLoader.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/StrutsVelocityContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/AbstractAdapterElement.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/AbstractAdapterNode.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/AdapterNode.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ArrayAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/BeanAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/CollectionAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/MapAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ProxyAttrAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ProxyElementAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ProxyNamedNodeMap.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ProxyNodeAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ProxyTextNodeAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/ServletURIResolver.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/SimpleAdapterDocument.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/SimpleNodeList.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/SimpleTextNode.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/validator/validators/default.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/xwork-messages.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/jshint.conf.js
  N     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/META-INF/README.txt
  N     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/NOTICE.txt
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/default.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/dispatcher/error.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/debugging/browser.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/debugging/console.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.css
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.js
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/static/domTT.css
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/static/inputtransferselect.js
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/static/optiontransferselect.js
  B     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/static/tooltip.gif
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/static/utils.js
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages_da.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages_de.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages_en.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages_pl.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/struts-messages_pt.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/util/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/views/freemarker/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/views/jsp/iterator/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/views/jsp/ui/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/org/apache/struts2/views/jsp/ui/table/package.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/overview.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-2.0.dtd
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-2.1.7.dtd
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-2.1.dtd
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-2.3.dtd
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-2.5.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-default-conversion.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-default.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/a-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/a.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/div-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/div.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/form-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/form.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/submit.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/tab-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/ajax/tab.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/checkbox.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/checkboxlist.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/combobox.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/debug.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/doubleselect.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/empty.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/file.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/form-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/form.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/hidden.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/label.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/password.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/radiomap.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/scripting-events.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/select.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/submit.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/table.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/text.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/textarea.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/simple/token.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/checkbox.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/checkboxlist.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/combobox.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/controlfooter.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/controlheader.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/debug.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/doubleselect.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/empty.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/file.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/form-close.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/form.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/hidden.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/label.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/password.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/radiomap.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/select.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/submit.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/table.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/text.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/textarea.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/archive/xhtml/token.vm
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/checkbox.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/control-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/control.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/controlfooter.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/controlheader-core.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/controlheader.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/form-validate.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/head.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/hidden.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/label.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/reset.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/styles.css
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/submit-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/submit.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/theme.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/validation.js
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/a-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/a.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/actionerror.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/actionmessage.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/checkbox.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/checkboxlist.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/combobox.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/common-attributes.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/controlfooter.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/controlheader.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/css.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/datetext.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/debug.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/doubleselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/dynamic-attributes.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/empty.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/fielderror.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/file.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/form-close-tooltips.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/form-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/form-common.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/form.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/head.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/hidden.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/inputtransferselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/label.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/optgroup.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/optiontransferselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/password.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/radiomap.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/reset.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/scripting-events.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/select.ftl
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/submit-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/submit.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/text.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/textarea.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/token.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/updownselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/checkbox.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/checkboxlist.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/combobox.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/control-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/control.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/controlfooter.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/controlheader-core.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/controlheader.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/datetext.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/doubleselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/file.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/form-close-validate.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/form-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/form-validate.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/form.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/head.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/hidden.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/inputtransferselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/label.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/optiontransferselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/password.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/radiomap.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/reset.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/select.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/styles.css
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/submit-close.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/submit.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/text.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/textarea.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/theme.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/tooltip.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/updownselect.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/xhtml/validation.js
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.0.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.1.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.2.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.0.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.3.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.3.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.5.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-default.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.2.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.3.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-config-1.0.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-definition-1.0.dtd
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/site/confluence/ww-template-autoexport.html
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/site/site.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ActionContextTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ActionContextThreadLocalTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ActionInvocationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ActionNestingTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/AnnotatedTestBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ChainResultTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/CompositeTextProviderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationManagerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/entities/ActionConfigTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/entities/AllowedMethodsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/entities/PackageConfigTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcherTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/impl/NamespaceMatcherTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/ConfigurationTestBase.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/EnvsValueSubstitutorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/InterceptorBuilderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/InterceptorForTestPurpose.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/SomeUnknownHandler.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderActionsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderAllowedMethodsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderEnvsSubstitutionTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderExceptionMappingsTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorParamOverridingTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsSpringTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInvalidFileTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderMultilevelTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderPackagesTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultTypesTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderUnknownHandlerStackTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderWildCardIncludeTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlHelperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/ConversionTestAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/FooBarConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/FooNumberConverter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandlerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/NumberConverterTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/ParentClass.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/StringConverterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultClasstTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultTextProviderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/Foo.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/GenericsBean.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/inject/ContainerImplTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultModel.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotatedAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BaseAnnotatedAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultModel.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/InterfaceAnnotatedAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/ShortcircuitedAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ChainingInterceptorWithConfigTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptorUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/PrepareInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/PreResultListenerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/TimerInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationInterceptorPrefixMethodInvocationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/LocaleAwareTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/mock/MockLazyInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ModelDrivenAnnotationAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/NestedAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SetPropertiesTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationInterface.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyObjectFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsCheckerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/SimpleAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/SimpleAnnotationAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/SimpleFooAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Bar.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExecuteInterceptor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExternalReferenceAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Foo.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/TestActionInvocation.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/SpringObjectFactoryTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/SpringProxyUtilTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/SpringResult.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/TestAspect.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/StubValueStack.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/AnnotationDataAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/AnnotationDataAware2.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Address.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/AddressTypeConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Person.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonActionTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonTypeConverter.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/AnnotationTestBean2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/AnnotationUser.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/AnnotationUserMarker.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/DataAware.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/DataAware2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/Equidae.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAction2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/ModelDrivenAnnotationAction2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/SimpleAction3.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/SimpleAnnotationAction3.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/subtest/NullModelDrivenAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/TestBean2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/User.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/UserMarker.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestChildBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestNGXWorkTestCaseTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestSubBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TextProviderSupportTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UnknownHandlerManagerMock.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UserSpecifiedDefaultAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/AnnotatedCat.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/Dummy2Class.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClass.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClassExt.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/package-info.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/AnnotationUtilsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Bar.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/BarJunior.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Cat.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ClassLoaderUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ClassPathFinderTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Dog.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/DomHelperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Foo.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/FurColor.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/GetPropertiesTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Indexed.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ListHolder.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/location/LocationAttributesTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/location/LocationImplTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/location/LocationUtilsTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/logging/LoggerUtilsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/MyBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/MyBeanAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/NamedVariablePatternMatcherTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Owner.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBeanTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/profiling/UtilTimerStackTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ResolverUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/StrutsLocalizedTextProviderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/TextParseUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Tiger.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UnknownHandlerManagerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UrlUtilTest2.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/WildcardHelperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/WildcardUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ValidationOrderAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManagerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationConfigurationBuilderTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ConversionErrorFieldValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DateRangeValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManagerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFactoryTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DummyValidatorContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/EmailValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ExpressionValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ModelDrivenValidationTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/MyValidator.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/RepopulateConversionErrorFieldValidatorSupportTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/StringValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/AppendingValidatorContextTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/CreditCardValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/IntRangeFieldValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/LongRangeFieldValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ShortRangeFieldValidatorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidatorSupportTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/VisitorFieldValidatorModelTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/VisitorFieldValidatorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorModelAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/VoidResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/WildCardResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/XWorkExceptionTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/ClassInstantiationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/ActionComponentTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/ComponentTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/FormButtonTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/FormTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/PropertyTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/template/BaseTemplateEngineTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/template/JspTemplateEngineTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/UIBeanTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/UIComponentTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/config/DefaultBeanSelectionProviderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/config/PropertiesConfigurationProviderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/config/SettingsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/config/TestSettings.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/DefaultStaticContentLoaderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/mapper/CompositeActionMapperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequestTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ng/StrutsPrepareAndExecuteFilterIntegrationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ng/TwoFilterIntegrationTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ParameterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ServletDispatchedTestAssertInterceptor.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/SessionMapTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/StaticContentLoaderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/MyResultFactory.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/StrutsResultFactoryTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CheckboxInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/ClearSessionInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CookieProviderInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CreateSessionInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitDelayAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/I18nInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/MessageStoreInterceptorTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/MessageStorePreResultListenerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/MultiselectInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/RolesInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/ServletConfigInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/validation/AnnotationValidationInterceptorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/RequestUtilsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/HttpHeaderResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/PlainTextResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/ServletActionRedirectResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/ServletDispatcherResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/ServletRedirectResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/StreamResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/StrutsResultSupportTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/result/VelocityResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/ServletActionContextTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/SomeEnum.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/StrutsInternalTestCase.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/TestAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/TestActionTagResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/TestResult.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/TestUtils.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/ComponentUtilsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/ContainUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/CounterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/InvocationSessionStoreTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/PrefixTrieTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/StrutsTypeConverterTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/StrutsUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/TokenHelperTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/URLDecoderUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoaderTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/tags/TagModelTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/TestAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/TestBean.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/AppendIteratorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/BeanTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/DynAttribsTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/I18nTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/IncludeTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/IteratorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/MergeIteratorTagTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/NumberTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/PushTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/SetTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockBodyContent.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpServletRequest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpServletResponse.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpSession.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockPageContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockServletContext.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/TextTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ActionErrorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ActionMessageTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ComboBoxTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ComponentTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleValidationAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/InputTransferSelectTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/IntValidationAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/JspTemplateTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/MockTag.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/PasswordTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/RadioTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/StrutsBodyContent.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/TestAction1.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/TokenTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/UpDownSelectTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/User.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/ValidationStylesTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/util/ResourceUtilTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/PackagelessAction.java
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ActionSupportTest$MyActionSupport_da.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/AnnotatedTestBean.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-invalid-file.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/conversion/impl/test-xwork-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/DefaultTextProviderTest_en_CA.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAnnotationAction.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-some-alias-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-subproperty-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validationAlias-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_de.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_en.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_de.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_en.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/somefile.txt
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-spring.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/autowireContext.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/resolverApplicationContext.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validationAlias-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware2-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/Equidae-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/package.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validationAlias-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/TestBean2-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/UserMarker-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-anotherContext-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-badtest-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-beanMessageBundle-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-expressionValidation-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorChildValidation-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorValidation-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestChildBean-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TextProviderSupportTest_en.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Bar.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Cat-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/FindMe.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Foo-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/ListHolder-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/LocalizedTextUtilTest.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/location/xml-with-location.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/MyBeanAction-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Tiger-conversion.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_de.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_fr.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ValidationOrderAction-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle1.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle2.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test2.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test3.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test4.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test5.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test6.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validators-fail.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorModelAction-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-beanMessageBundle-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateArray-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateList-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorChildValidation-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidation-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidationAlias-validation.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/includeTest.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/log4j2.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/my-validators.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/myOther-validators.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/components/template/dummy.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/components/template/theme1/themeThroughClassPath.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/components/template/theme1/themeThroughFileSystem.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/components/tempo.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/dispatcher/ng/struts-no-op.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/dispatcher/someJspFile.jsp
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/othertest.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/static/resource.css
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/TestAction-validation.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/TestAction.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/callActionFreeMarker.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/callActionFreeMarker2.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/manual-list.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/nested.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/someFreeMarkerFile.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/freemarker/something.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/views/jsp/WW3090-struts.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/PackagelessAction.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/struts-object-factory-result-builder.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/struts.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/struts.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/template/test/checkbox.jsp
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/template/test/Component.ftl
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/template/test/text.ftl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/test.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/testmessages.properties
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/testmessages2.properties
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/validators.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest-val.xml
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest.bad.character.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest2.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest3.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest4.badinclude.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest4.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest5.xsl
  AL    /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/XSLTResultTest6.xsl
  A     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork - jar.jar
  A     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork - zip.zip
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-1.0.dtd
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-class-param-test.xml
  A     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-jar.jar
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-param-test.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-proxyinvoke.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-sample.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-beans.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-default.xml
 !????? /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-validation.xml
  A     /Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-zip.zip
 
*****************************************************
 Printing headers for files without AL header...
 
 
=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
=======================================================================
package com.opensymphony.xwork2;

import com.opensymphony.xwork2.util.ValueStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.*;


/**
 * This is a composite {@link TextProvider} that takes in an array or {@link java.util.List} of {@link TextProvider}s, it will
 * consult each of them in order to get a composite result. To know how each method behaves, please refer to the
 * javadoc for each methods.
 *
 * @author tmjee
 */
public class CompositeTextProvider implements TextProvider {

    private static final Logger LOG = LogManager.getLogger(CompositeTextProvider.class);

    private List<TextProvider> textProviders = new ArrayList<>();

    /**
     * Instantiates a {@link CompositeTextProvider} with some predefined <code>textProviders</code>.
     *
     * @param textProviders list of text providers
     */
    public CompositeTextProvider(List<TextProvider> textProviders) {
        this.textProviders.addAll(textProviders);
    }

    /**
     * Instantiates a {@link CompositeTextProvider} with some predefined <code>textProviders</code>.
     *
     * @param textProviders array of text providers
     */
    public CompositeTextProvider(TextProvider[] textProviders) {
        this(Arrays.asList(textProviders));
    }

    /**
     *  It will consult each individual {@link TextProvider}s and return true if either one of the {@link TextProvider}" has such a <code>key</code> else false.
     *
     * @param key The key to lookup in resource bundles.
     * @return <tt>true</tt>, if the requested key is found in one of the resource bundles.
     *
     * @see com.opensymphony.xwork2.TextProvider#hasKey(String)
     *
     */
    public boolean hasKey(String key) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/BeanSelectionProvider.java
=======================================================================
package com.opensymphony.xwork2.config;

/**
 * When implemented allows to alias already existing beans
 */
public interface BeanSelectionProvider extends ConfigurationProvider {

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorLocator.java
=======================================================================
package com.opensymphony.xwork2.config.entities;

/**
 * Defines an object that can be used to retrieve interceptor configuration
 */
public interface InterceptorLocator {

    /**
     * Gets an interceptor configuration object.
     * @param name The interceptor or interceptor stack name
     * @return Either an {@link InterceptorConfig} or {@link InterceptorStackConfig} object
     */
    Object getInterceptorConfig(String name);
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/entities/package.html
=======================================================================
<body>

<p>
Configuration entity classes.  All objects ending in "Config" are immutable and must be constructed using
their inner "Builder" class.  For example, a PackageConfig object can be created via:
</p>
<pre>
    PackageConfig config = new PackageConfig.Builder("myPackage").build();
</pre>
<p>
    The methods on the builder object are chainable to support constructions like this:
</p>
<pre>
    ResultConfig config = new ResultConfig.Builder("success", "myapp.MyResult")
        .addParam("location", "/foo.jsp")
        .build();
</pre>
</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerFactoryProvider.java
=======================================================================
package com.opensymphony.xwork2.config;

import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.inject.Scope;
import com.opensymphony.xwork2.util.location.LocatableProperties;

/**
 * Allows to specify custom {@link FileManagerFactory}
 */
public class FileManagerFactoryProvider implements ContainerProvider {

    private Class<? extends FileManagerFactory> factoryClass;

    public FileManagerFactoryProvider(Class<? extends FileManagerFactory> factoryClass) {
        this.factoryClass = factoryClass;
    }

    public void destroy() {
    }

    public void init(Configuration configuration) throws ConfigurationException {
    }

    public boolean needsReload() {
        return false;
    }

    public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
        builder.factory(FileManagerFactory.class, factoryClass.getSimpleName(), factoryClass, Scope.SINGLETON);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/FileManagerProvider.java
=======================================================================
package com.opensymphony.xwork2.config;

import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.inject.Scope;
import com.opensymphony.xwork2.util.location.LocatableProperties;

/**
 * Allows to specify custom {@link FileManager} by user
 */
public class FileManagerProvider implements ContainerProvider {

    private Class<? extends FileManager> fileManagerClass;
    private String name;

    public FileManagerProvider(Class<? extends FileManager> fileManagerClass, String name) {
        this.fileManagerClass = fileManagerClass;
        this.name = name;
    }

    public void destroy() {
    }

    public void init(Configuration configuration) throws ConfigurationException {
    }

    public boolean needsReload() {
        return false;
    }

    public void register(ContainerBuilder builder, LocatableProperties props) throws ConfigurationException {
        builder.factory(FileManager.class, name, fileManagerClass, Scope.SINGLETON);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableConstantFactory.java
=======================================================================
/**
 * 
 */
package com.opensymphony.xwork2.config.impl;

import com.opensymphony.xwork2.inject.Context;
import com.opensymphony.xwork2.inject.Factory;
import com.opensymphony.xwork2.util.location.Located;
import com.opensymphony.xwork2.util.location.LocationUtils;

/**
 * Factory that remembers where a constant came from
 */
public class LocatableConstantFactory<T> extends Located implements Factory {
    T constant;
    public LocatableConstantFactory(T constant, Object location) {
        this.constant = constant;
        setLocation(LocationUtils.getLocation(location));
    }
    
    public T create(Context ignored) {
        return constant;
    }
    
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(super.toString());
        sb.append(" defined at ");
        sb.append(getLocation().toString());
        return sb.toString();
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/LocatableFactory.java
=======================================================================
package com.opensymphony.xwork2.config.impl;

import com.opensymphony.xwork2.inject.Context;
import com.opensymphony.xwork2.inject.Factory;
import com.opensymphony.xwork2.inject.Scope;
import com.opensymphony.xwork2.util.location.Located;
import com.opensymphony.xwork2.util.location.LocationUtils;

import java.util.LinkedHashMap;

/**
 * Attaches location information to the factory.
 */
public class LocatableFactory<T> extends Located implements Factory<T> {


    private Class implementation;
    private Class type;
    private String name;
    private Scope scope;

    public LocatableFactory(String name, Class type, Class implementation, Scope scope, Object location) {
        this.implementation = implementation;
        this.type = type;
        this.name = name;
        this.scope = scope;
        setLocation(LocationUtils.getLocation(location));
    }

    @SuppressWarnings("unchecked")
    public T create(Context context) {
        Object obj = context.getContainer().inject(implementation);
        return (T) obj;
    }

    @Override
    public String toString() {
        String fields = new LinkedHashMap<String, Object>() {
            {
                put("type", type);
                put("name", name);
                put("implementation", implementation);
                put("scope", scope);
            }
        }.toString();
        StringBuilder sb = new StringBuilder(fields);
        sb.append(super.toString());
        sb.append(" defined at ");
        sb.append(getLocation().toString());
        return sb.toString();

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/impl/package.html
=======================================================================
<body>Configuration implementation classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/package.html
=======================================================================
<body>Configuration core classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/CycleDetector.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CycleDetector<T> {
    private DirectedGraph<T> graph;
    private Map<T, Status> marks;
    private List<T> verticesInCycles;
    
    private enum Status { MARKED, COMPLETE };

    public CycleDetector(DirectedGraph<T> graph) {
        this.graph = graph;
        marks = new HashMap<>();
        verticesInCycles = new ArrayList<>();
    }

    public boolean containsCycle() {
        for (T v : graph) {
            if (!marks.containsKey(v)) {
                if (mark(v)) {
                    // return true;
                }
            }
        }
        // return false;
        return !verticesInCycles.isEmpty();
    }

    private boolean mark(T vertex) {
        /*
         * return statements commented out for fail slow behavior detect all nodes in cycles instead of just the first one
         */
        List<T> localCycles = new ArrayList<T>();
        marks.put(vertex, Status.MARKED);
        for (T u : graph.edgesFrom(vertex)) {
            if (marks.get(u) == Status.MARKED) {
                localCycles.add(vertex);
                // return true;
            } else if (!marks.containsKey(u)) {
                if (mark(u)) {
                    localCycles.add(vertex);
                    // return true;
                }
            }
        }
        marks.put(vertex, Status.COMPLETE);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/DirectedGraph.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;

public final class DirectedGraph<T> implements Iterable<T> {
    private final Map<T, Set<T>> mGraph = new HashMap<T, Set<T>>();

    /**
     * Adds a new node to the graph. If the node already exists, this function is a no-op.
     * 
     * @param node
     *            The node to add.
     * @return Whether or not the node was added.
     */
    public boolean addNode(T node) {
        /* If the node already exists, don't do anything. */
        if (mGraph.containsKey(node))
            return false;

        /* Otherwise, add the node with an empty set of outgoing edges. */
        mGraph.put(node, new HashSet<T>());
        return true;
    }

    /**
     * Given a start node, and a destination, adds an arc from the start node to the destination. If an arc already exists, this operation is a no-op.
     * If either endpoint does not exist in the graph, throws a NoSuchElementException.
     * 
     * @param start
     *            The start node.
     * @param dest
     *            The destination node.
     * @throws NoSuchElementException
     *             If either the start or destination nodes do not exist.
     */
    public void addEdge(T start, T dest) {
        /* Confirm both endpoints exist. */
        if (!mGraph.containsKey(start)) {
            throw new NoSuchElementException("The start node does not exist in the graph.");
        } else if (!mGraph.containsKey(dest)) {
            throw new NoSuchElementException("The destination node does not exist in the graph.");
        }

        /* Add the edge. */

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/package.html
=======================================================================
<body>Configuration provider classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/config/providers/XWorkConfigurationProvider.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.ActionProxyFactory;
import com.opensymphony.xwork2.DefaultActionProxyFactory;
import com.opensymphony.xwork2.DefaultLocaleProviderFactory;
import com.opensymphony.xwork2.LocaleProviderFactory;
import com.opensymphony.xwork2.StrutsTextProviderFactory;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory;
import com.opensymphony.xwork2.factory.UnknownHandlerFactory;
import com.opensymphony.xwork2.ognl.accessor.HttpParametersPropertyAccessor;
import com.opensymphony.xwork2.ognl.accessor.ParameterPropertyAccessor;
import com.opensymphony.xwork2.security.AcceptedPatternsChecker;
import com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker;
import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
import com.opensymphony.xwork2.DefaultTextProvider;
import com.opensymphony.xwork2.DefaultUnknownHandlerManager;
import com.opensymphony.xwork2.security.ExcludedPatternsChecker;
import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.TextProvider;
import com.opensymphony.xwork2.UnknownHandlerManager;
import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor;
import com.opensymphony.xwork2.conversion.ConversionFileProcessor;
import com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor;
import com.opensymphony.xwork2.conversion.NullHandler;
import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.TypeConverterCreator;
import com.opensymphony.xwork2.conversion.TypeConverterHolder;
import com.opensymphony.xwork2.conversion.impl.ArrayConverter;
import com.opensymphony.xwork2.conversion.impl.CollectionConverter;
import com.opensymphony.xwork2.conversion.impl.DateConverter;
import com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor;
import com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor;
import com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor;
import com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator;
import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterHolder;
import com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler;
import com.opensymphony.xwork2.conversion.impl.NumberConverter;
import com.opensymphony.xwork2.conversion.impl.StringConverter;
import com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.factory.ActionFactory;
import com.opensymphony.xwork2.factory.ConverterFactory;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/annotations/package.html
=======================================================================
<body>Type conversion annotations.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionAnnotationProcessor.java
=======================================================================
package com.opensymphony.xwork2.conversion;

import com.opensymphony.xwork2.conversion.annotations.TypeConversion;

import java.util.Map;

/**
 * Used to process {@link com.opensymphony.xwork2.conversion.annotations.TypeConversion}
 * annotation to read defined Converters
 */
public interface ConversionAnnotationProcessor {

    /**
     * Process annotation and build {@link TypeConverter} base on provided annotation
     * and assigning it under given key
     *
     * @param mapping keeps converters per given key
     * @param tc annotation which keeps information about converter
     * @param key key under which converter should be registered
     */
    void process(Map<String, Object> mapping, TypeConversion tc, String key);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/ConversionFileProcessor.java
=======================================================================
package com.opensymphony.xwork2.conversion;

import java.util.Map;

/**
 * Used to process &lt;clazz&gt;-conversion.properties file to read defined Converters
 */
public interface ConversionFileProcessor {

    /**
     * Process conversion file to create mapping for key (property, type) and corresponding converter
     *
     * @param mapping keeps converters per given key
     * @param clazz class which should be converted by the converter
     * @param converterFilename to read converters from
     */
    void process(Map<String, Object> mapping, Class clazz, String converterFilename);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/ArrayConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.conversion.TypeConverter;

import java.lang.reflect.Array;
import java.lang.reflect.Member;
import java.util.Map;

public class ArrayConverter extends DefaultTypeConverter {

    @Override
    public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
        Object result = null;
        Class componentType = toType.getComponentType();

        if (componentType != null) {
            TypeConverter converter = getTypeConverter(context);

            if (value.getClass().isArray()) {
                int length = Array.getLength(value);
                result = Array.newInstance(componentType, length);

                for (int i = 0; i < length; i++) {
                    Object valueItem = Array.get(value, i);
                    Array.set(result, i, converter.convertValue(context, target, member, propertyName, valueItem, componentType));
                }
            } else {
                result = Array.newInstance(componentType, 1);
                Array.set(result, 0, converter.convertValue(context, target, member, propertyName, value, componentType));
            }
        }

        return result;
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.XWorkList;

import java.lang.reflect.Member;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

public class CollectionConverter extends DefaultTypeConverter {

    private ObjectTypeDeterminer objectTypeDeterminer;

    @Inject
    public void setObjectTypeDeterminer(ObjectTypeDeterminer determiner) {
        this.objectTypeDeterminer = determiner;
    }

    public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
        Collection result;
        Class memberType = String.class;

        if (target != null) {
            memberType = objectTypeDeterminer.getElementClass(target.getClass(), propertyName, null);

            if (memberType == null) {
                memberType = String.class;
            }
        }

        if (toType.isAssignableFrom(value.getClass())) {
            // no need to do anything
            result = (Collection) value;
        } else if (value.getClass().isArray()) {
            Object[] objArray = (Object[]) value;
            TypeConverter converter = getTypeConverter(context);
            result = createCollection(toType, memberType, objArray.length);

            for (Object anObjArray : objArray) {
                Object convertedValue = converter.convertValue(context, target, member, propertyName, anObjArray, memberType);
                if (!TypeConverter.NO_CONVERSION_POSSIBLE.equals(convertedValue)) {
                    result.add(convertedValue);
                }
            }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.XWorkException;

import java.lang.reflect.Constructor;
import java.lang.reflect.Member;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Map;

public class DateConverter extends DefaultTypeConverter {

    @Override
    public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
        Date result = null;

        if (value instanceof String && value != null && ((String) value).length() > 0) {
            String sa = (String) value;
            Locale locale = getLocale(context);

            DateFormat df = null;
            if (java.sql.Time.class == toType) {
                df = DateFormat.getTimeInstance(DateFormat.MEDIUM, locale);
            } else if (java.sql.Timestamp.class == toType) {
                Date check = null;
                SimpleDateFormat dtfmt = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT,
                        DateFormat.MEDIUM,
                        locale);
                SimpleDateFormat fullfmt = new SimpleDateFormat(dtfmt.toPattern() + MILLISECOND_FORMAT,
                        locale);

                SimpleDateFormat dfmt = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT,
                        locale);

                SimpleDateFormat[] fmts = {fullfmt, dtfmt, dfmt};
                for (SimpleDateFormat fmt : fmts) {
                    try {
                        check = fmt.parse(sa);
                        df = fmt;
                        if (check != null) {
                            break;
                        }
                    } catch (ParseException ignore) {
                    }
                }
            } else if (java.util.Date.class == toType) {
                Date check;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.TypeConverterCreator;
import com.opensymphony.xwork2.conversion.TypeConverterHolder;
import com.opensymphony.xwork2.conversion.annotations.ConversionRule;
import com.opensymphony.xwork2.conversion.annotations.ConversionType;
import com.opensymphony.xwork2.conversion.annotations.TypeConversion;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * Default implementation of {@link ConversionAnnotationProcessor}
 */
public class DefaultConversionAnnotationProcessor implements ConversionAnnotationProcessor {

    private static final Logger LOG = LogManager.getLogger(DefaultConversionAnnotationProcessor.class);

    private TypeConverterCreator converterCreator;
    private TypeConverterHolder converterHolder;

    @Inject
    public void setTypeConverterCreator(TypeConverterCreator converterCreator) {
        this.converterCreator = converterCreator;
    }

    @Inject
    public void setTypeConverterHolder(TypeConverterHolder converterHolder) {
        this.converterHolder = converterHolder;
    }

    public void process(Map<String, Object> mapping, TypeConversion tc, String key) {
        LOG.debug("TypeConversion [{}/{}] with key: [{}]", tc.converter(), tc.converterClass(), key);
        if (key == null) {
            return;
        }
        try {
            if (tc.type() == ConversionType.APPLICATION) {
                if (StringUtils.isNoneEmpty(tc.converter())) {
                    converterHolder.addDefaultMapping(key, converterCreator.createTypeConverter(tc.converter()));
                } else {
                    converterHolder.addDefaultMapping(key, converterCreator.createTypeConverter(tc.converterClass()));
                }
            } else {
                if (tc.rule() == ConversionRule.KEY_PROPERTY || tc.rule() == ConversionRule.CREATE_IF_NULL) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.conversion.ConversionFileProcessor;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.TypeConverterCreator;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.ClassLoaderUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.InputStream;
import java.util.Map;
import java.util.Properties;

/**
 * Default implementation of {@link ConversionFileProcessor}
 */
public class DefaultConversionFileProcessor implements ConversionFileProcessor {

    private static final Logger LOG = LogManager.getLogger(DefaultConversionFileProcessor.class);

    private FileManager fileManager;
    private TypeConverterCreator converterCreator;

    @Inject
    public void setFileManagerFactory(FileManagerFactory factory) {
        fileManager = factory.getFileManager();
    }

    @Inject
    public void setTypeConverterCreator(TypeConverterCreator converterCreator) {
        this.converterCreator = converterCreator;
    }

    public void process(Map<String, Object> mapping, Class clazz, String converterFilename) {
        try {
            InputStream is = fileManager.loadFile(ClassLoaderUtil.getResource(converterFilename, clazz));

            if (is != null) {
                LOG.debug("Processing conversion file [{}] for class [{}]", converterFilename, clazz);

                Properties prop = new Properties();
                prop.load(is);

                for (Map.Entry<Object, Object> entry : prop.entrySet()) {
                    String key = (String) entry.getKey();

                    if (mapping.containsKey(key)) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverter.java
=======================================================================
//--------------------------------------------------------------------------
//  Copyright (c) 1998-2004, Drew Davidson and Luke Blanshard
//  All rights reserved.
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are
//  met:
//
//  Redistributions of source code must retain the above copyright notice,
//  this list of conditions and the following disclaimer.
//  Redistributions in binary form must reproduce the above copyright
//  notice, this list of conditions and the following disclaimer in the
//  documentation and/or other materials provided with the distribution.
//  Neither the name of the Drew Davidson nor the names of its contributors
//  may be used to endorse or promote products derived from this software
//  without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
//  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
//  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
//  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
//  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
//  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
//  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
//  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
//  DAMAGE.
//--------------------------------------------------------------------------
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.LocaleProvider;
import com.opensymphony.xwork2.LocaleProviderFactory;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.ognl.XWorkTypeConverterWrapper;

import java.lang.reflect.Array;
import java.lang.reflect.Member;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

/**

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterCreator.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.TypeConverterCreator;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.ognl.XWorkTypeConverterWrapper;

/**
 * Default implementation of {@link TypeConverterCreator}
 */
public class DefaultTypeConverterCreator implements TypeConverterCreator {

    private ObjectFactory objectFactory;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    public TypeConverter createTypeConverter(String className) throws Exception {
        Object obj = objectFactory.buildBean(className, null);
        return getTypeConverter(obj);
    }

    public TypeConverter createTypeConverter(Class<?> clazz) throws Exception {
        Object obj = objectFactory.buildBean(clazz, null);
        return getTypeConverter(obj);
    }

    protected TypeConverter getTypeConverter(Object obj) {
        if (obj instanceof TypeConverter) {
            return (TypeConverter) obj;

            // For backwards compatibility
        } else if (obj instanceof ognl.TypeConverter) {
            return new XWorkTypeConverterWrapper((ognl.TypeConverter) obj);
        } else {
            throw new IllegalArgumentException("Type converter class " + obj.getClass() + " doesn't implement com.opensymphony.xwork2.conversion.TypeConverter");
        }
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultTypeConverterHolder.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.TypeConverterHolder;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;

/**
 * Default implementation of {@link TypeConverterHolder}
 */
public class DefaultTypeConverterHolder implements TypeConverterHolder {

    /**
     * Record class and its type converter mapping.
     * <pre>
     * - String - classname as String
     * - TypeConverter - instance of TypeConverter
     * </pre>
     */
    private HashMap<String, TypeConverter> defaultMappings = new HashMap<>();  // non-action (eg. returned value)

    /**
     * Target class conversion Mappings.
     * <pre>
     * Map<Class, Map<String, Object>>
     *  - Class -> convert to class
     *  - Map<String, Object>
     *    - String -> property name
     *                eg. Element_property, property etc.
     *    - Object -> String to represent properties
     *                eg. value part of
     *                    KeyProperty_property=id
     *             -> TypeConverter to represent an Ognl TypeConverter
     *                eg. value part of
     *                    property=foo.bar.MyConverter
     *             -> Class to represent a class
     *                eg. value part of
     *                    Element_property=foo.bar.MyObject
     * </pre>
     */
    private HashMap<Class, Map<String, Object>> mappings = new HashMap<>(); // action

    /**
     * Unavailable target class conversion mappings, serves as a simple cache.
     */
    private HashSet<Class> noMapping = new HashSet<>(); // action

    /**

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/NumberConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.XWorkException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.lang.reflect.Member;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParsePosition;
import java.util.Locale;
import java.util.Map;

public class NumberConverter extends DefaultTypeConverter {

    private static final Logger LOG = LogManager.getLogger(NumberConverter.class);

    public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
        if (value instanceof String) {
            String stringValue = String.valueOf(value);

            if (toType == BigDecimal.class) {
                return convertToBigDecimal(context, stringValue);
            } else if (toType == BigInteger.class) {
                return new BigInteger(stringValue);
            } else if (toType == Double.class || toType == double.class) {
                return convertToDouble(context, stringValue);
            } else if (toType == Float.class || toType == float.class) {
                return convertToFloat(context, stringValue);
            } else if (toType.isPrimitive()) {
                Object convertedValue = super.convertValue(context, value, toType);

                if (!isInRange((Number) convertedValue, stringValue, toType))
                    throw new XWorkException("Overflow or underflow casting: \"" + stringValue + "\" into class " + convertedValue.getClass().getName());

                return convertedValue;
            } else {
                if (!toType.isPrimitive() && stringValue.isEmpty()) {
                    return null;
                }
                NumberFormat numFormat = NumberFormat.getInstance(getLocale(context));
                ParsePosition parsePos = new ParsePosition(0);
                if (isIntegerType(toType)) {
                    numFormat.setParseIntegerOnly(true);
                }
                numFormat.setGroupingUsed(true);
                Number number = numFormat.parse(stringValue, parsePos);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/impl/StringConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import org.apache.commons.lang3.StringUtils;

import java.lang.reflect.Array;
import java.lang.reflect.Member;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;

public class StringConverter extends DefaultTypeConverter {

    @Override
    public Object convertValue(Map<String, Object> context, Object target, Member member, String propertyName, Object value, Class toType) {
        String result;

        if (value.getClass().isArray()) {
            int length = Array.getLength(value);
            List<String> converted = new ArrayList<>(length);

            for (int i = 0; i < length; i++) {
                Object o = Array.get(value, i);
                converted.add(convertToString(getLocale(context), o));
            }

            result = StringUtils.join(converted, ", ");
        } else if(value.getClass().isAssignableFrom(Collection.class)) {
            Collection<?> colValue = (Collection) value;
            List<String> converted = new ArrayList<>(colValue.hashCode());

            for (Object o : colValue) {
                converted.add(convertToString(getLocale(context), o));
            }

            result = StringUtils.join(converted, ", ");
        } else if (value instanceof Date) {
            DateFormat df;
            if (value instanceof java.sql.Time) {
                df = DateFormat.getTimeInstance(DateFormat.MEDIUM, getLocale(context));
            } else if (value instanceof java.sql.Timestamp) {
                SimpleDateFormat dfmt = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT,
                        DateFormat.MEDIUM,

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/metadata/package.html
=======================================================================
<body>Type conversion meta data classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/NullHandler.java
=======================================================================
//--------------------------------------------------------------------------
//Copyright (c) 1998-2004, Drew Davidson and Luke Blanshard
//All rights reserved.
//
//Redistribution and use in source and binary forms, with or without
//modification, are permitted provided that the following conditions are
//met:
//
//Redistributions of source code must retain the above copyright notice,
//this list of conditions and the following disclaimer.
//Redistributions in binary form must reproduce the above copyright
//notice, this list of conditions and the following disclaimer in the
//documentation and/or other materials provided with the distribution.
//Neither the name of the Drew Davidson nor the names of its contributors
//may be used to endorse or promote products derived from this software
//without specific prior written permission.
//
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
//FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
//COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
//BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
//OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
//AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
//OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
//THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
//DAMAGE.
//--------------------------------------------------------------------------
package com.opensymphony.xwork2.conversion;

import java.util.Map;

/**
 * <p>
 * Interface for handling null results from Chains.
 * Object has the opportunity to substitute an object for the
 * null and continue.
 * </p>
 *
 * @author Luke Blanshard (blanshlu@netscape.net)
 * @author Drew Davidson (drew@ognl.org)
 */
public interface NullHandler
{
    /**
     *  Method called on target returned null.
     *  @param context context
     *  @param target target object

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverter.java
=======================================================================
//--------------------------------------------------------------------------
//  Copyright (c) 1998-2004, Drew Davidson and Luke Blanshard
//  All rights reserved.
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions are
//  met:
//
//  Redistributions of source code must retain the above copyright notice,
//  this list of conditions and the following disclaimer.
//  Redistributions in binary form must reproduce the above copyright
//  notice, this list of conditions and the following disclaimer in the
//  documentation and/or other materials provided with the distribution.
//  Neither the name of the Drew Davidson nor the names of its contributors
//  may be used to endorse or promote products derived from this software
//  without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
//  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
//  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
//  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
//  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
//  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
//  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
//  THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
//  DAMAGE.
//--------------------------------------------------------------------------
package com.opensymphony.xwork2.conversion;

import java.lang.reflect.Member;
import java.util.Map;

/**
 * Interface for accessing the type conversion facilities within a context.
 * 
 * This interface was copied from OGNL's TypeConverter
 * 
 * @author Luke Blanshard (blanshlu@netscape.net)
 * @author Drew Davidson (drew@ognl.org)
 */
public interface TypeConverter
{
    /**
       * Converts the given value to a given type.  The OGNL context, target, member and
       * name of property being set are given.  This method should be able to handle
       * conversion in general without any context, target, member or property name specified.
       * @param context context under which the conversion is being done

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterCreator.java
=======================================================================
package com.opensymphony.xwork2.conversion;

/**
 * Instantiate converter classes, if cannot create TypeConverter throws exception
 */
public interface TypeConverterCreator {

    /**
     * Creates {@link TypeConverter} from given class
     *
     * @param className convert class
     * @return instance of {@link TypeConverter}
     * @throws Exception when cannot create/cast to {@link TypeConverter}
     */
    TypeConverter createTypeConverter(String className) throws Exception;

    /**
     * Creates {@link TypeConverter} from given class
     *
     * @param clazz convert class
     * @return instance of {@link TypeConverter}
     * @throws Exception when cannot create/cast to {@link TypeConverter}
     */
    TypeConverter createTypeConverter(Class<?> clazz) throws Exception;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/conversion/TypeConverterHolder.java
=======================================================================
package com.opensymphony.xwork2.conversion;

import java.util.Map;

/**
 * Holds all mappings related to {@link TypeConverter}s
 */
public interface TypeConverterHolder {

    /**
     * Adds mapping for default type converters - application scoped
     *
     * @param className     name of the class with associated converter
     * @param typeConverter {@link TypeConverter} instance for associated class
     */
    void addDefaultMapping(String className, TypeConverter typeConverter);

    /**
     * Checks if converter was already defined for given class
     *
     * @param className name of the class to check for
     * @return true if default mapping was already specified
     */
    boolean containsDefaultMapping(String className);

    /**
     * Returns instance of {@link TypeConverter} associated with given class
     *
     * @param className name of the class to return converter for
     * @return instance of {@link TypeConverter} to be used to convert class
     */
    TypeConverter getDefaultMapping(String className);

    /**
     * Target class conversion Mappings.
     *
     * @param clazz class to convert to/from
     * @return {@link TypeConverter} for given class
     */
    Map<String, Object> getMapping(Class clazz);

    /**
     * Assign mapping of converters for given class
     *
     * @param clazz   class to convert to/from
     * @param mapping property converters
     */
    void addMapping(Class clazz, Map<String, Object> mapping);

    /**

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProviderFactory.java
=======================================================================
package com.opensymphony.xwork2;

public class DefaultLocaleProviderFactory implements LocaleProviderFactory {

    @Override
    public LocaleProvider createLocaleProvider() {
        return new DefaultLocaleProvider();
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ActionFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.config.entities.ActionConfig;

import java.util.Map;

/**
 * Used by {@link com.opensymphony.xwork2.ObjectFactory} to build actions
 */
public interface ActionFactory {

    /**
     * Builds action instance
     *
     * @param actionName name of the action
     * @param namespace namespace for the action
     * @param config action config
     * @param extraContext extra context map
     *
     * @return action object
     *
     * @throws Exception in case of any errors
     */
    Object buildAction(String actionName, String namespace, ActionConfig config, Map<String, Object> extraContext) throws Exception;

}


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ConverterFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.conversion.TypeConverter;

import java.util.Map;

/**
 * Dedicated interface used by {@link com.opensymphony.xwork2.ObjectFactory} to build {@link TypeConverter}
 */
public interface ConverterFactory {

    /**
     * Build converter of given type
     *
     * @param converterClass to instantiate
     * @param extraContext a Map of extra context which uses the same keys as the {@link com.opensymphony.xwork2.ActionContext}
     *
     * @return instance of converterClass with inject dependencies
     *
     * @throws Exception in case of any errors
     */
    TypeConverter buildConverter(Class<? extends TypeConverter> converterClass, Map<String, Object> extraContext) throws Exception;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultActionFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.inject.Inject;

import java.util.Map;

/**
 * Default implementation
 */
public class DefaultActionFactory implements ActionFactory {

    private ObjectFactory objectFactory;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    public Object buildAction(String actionName, String namespace, ActionConfig config, Map<String, Object> extraContext) throws Exception {
        return objectFactory.buildBean(config.getClassName(), extraContext);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

import java.util.Map;

/**
 * Default implementation
 */
public class DefaultConverterFactory implements ConverterFactory {

    private static final Logger LOG = LogManager.getLogger(DefaultConverterFactory.class);

    private Container container;

    @Inject
    public void setContainer(Container container) {
        this.container = container;
    }

    public TypeConverter buildConverter(Class<? extends TypeConverter> converterClass, Map<String, Object> extraContext) throws Exception {
        LOG.debug("Creating converter of type [{}]", converterClass.getCanonicalName());
        return container.getInstance(converterClass);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultInterceptorFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.entities.InterceptorConfig;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.interceptor.Interceptor;
import com.opensymphony.xwork2.interceptor.WithLazyParams;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.HashMap;
import java.util.Map;

/**
 * Default implementation
 */
public class DefaultInterceptorFactory implements InterceptorFactory {

    private static final Logger LOG = LogManager.getLogger(DefaultInterceptorFactory.class);

    private ObjectFactory objectFactory;
    private ReflectionProvider reflectionProvider;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    @Inject
    public void setReflectionProvider(ReflectionProvider reflectionProvider) {
        this.reflectionProvider = reflectionProvider;
    }

    public Interceptor buildInterceptor(InterceptorConfig interceptorConfig, Map<String, String> interceptorRefParams) throws ConfigurationException {
        String interceptorClassName = interceptorConfig.getClassName();
        Map<String, String> thisInterceptorClassParams = interceptorConfig.getParams();
        Map<String, String> params = (thisInterceptorClassParams == null) ? new HashMap<String, String>() : new HashMap<>(thisInterceptorClassParams);
        params.putAll(interceptorRefParams);

        String message;
        Throwable cause;

        try {
            // interceptor instances are long-lived and used across user sessions, so don't try to pass in any extra context
            Object o = objectFactory.buildBean(interceptorClassName, null);
            if (o instanceof WithLazyParams) {
                LOG.debug("Interceptor {} is marked with interface {} and params will be set during action invocation",
                        interceptorClassName, WithLazyParams.class.getName());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultResultFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.reflection.ReflectionException;
import com.opensymphony.xwork2.util.reflection.ReflectionExceptionHandler;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;

import java.util.Map;

/**
 * Default implementation
 */
public class DefaultResultFactory implements ResultFactory {

    private ObjectFactory objectFactory;
    private ReflectionProvider reflectionProvider;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    @Inject
    public void setReflectionProvider(ReflectionProvider reflectionProvider) {
        this.reflectionProvider = reflectionProvider;
    }

    public Result buildResult(ResultConfig resultConfig, Map<String, Object> extraContext) throws Exception {
        String resultClassName = resultConfig.getClassName();
        Result result = null;

        if (resultClassName != null) {
            result = (Result) objectFactory.buildBean(resultClassName, extraContext);
            Map<String, String> params = resultConfig.getParams();
            if (params != null) {
                for (Map.Entry<String, String> paramEntry : params.entrySet()) {
                    try {
                        reflectionProvider.setProperty(paramEntry.getKey(), paramEntry.getValue(), result, extraContext, true);
                    } catch (ReflectionException ex) {
                        if (result instanceof ReflectionExceptionHandler) {
                            ((ReflectionExceptionHandler) result).handle(ex);
                        }
                    }
                }
            }
        }


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultUnknownHandlerFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.UnknownHandler;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;

import java.util.Map;

/**
 * Default implementation
 */
public class DefaultUnknownHandlerFactory implements UnknownHandlerFactory {

    private Container container;

    @Inject
    public void setContainer(Container container) {
        this.container = container;
    }

    public UnknownHandler buildUnknownHandler(String unknownHandlerName, Map<String, Object> extraContext) throws Exception {
        return container.getInstance(UnknownHandler.class, unknownHandlerName);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/DefaultValidatorFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import com.opensymphony.xwork2.validator.Validator;

import java.util.Map;

/**
 * Default implementation
 */
public class DefaultValidatorFactory implements ValidatorFactory {

    private ObjectFactory objectFactory;
    private ReflectionProvider reflectionProvider;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    @Inject
    public void setReflectionProvider(ReflectionProvider reflectionProvider) {
        this.reflectionProvider = reflectionProvider;
    }

    public Validator buildValidator(String className, Map<String, Object> params, Map<String, Object> extraContext) throws Exception {
        Validator validator = (Validator) objectFactory.buildBean(className, extraContext);
        reflectionProvider.setProperties(params, validator, extraContext);

        return validator;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/InterceptorFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.entities.InterceptorConfig;
import com.opensymphony.xwork2.interceptor.Interceptor;

import java.util.Map;

/**
 * Dedicated interface used by {@link com.opensymphony.xwork2.ObjectFactory} to build {@link com.opensymphony.xwork2.interceptor.Interceptor}
 */
public interface InterceptorFactory {

    /**
     * Builds an Interceptor from the InterceptorConfig and the Map of
     * parameters from the interceptor reference. Implementations of this method
     * should ensure that the Interceptor is parameterized with both the
     * parameters from the Interceptor config and the interceptor ref Map (the
     * interceptor ref params take precedence), and that the Interceptor.init()
     * method is called on the Interceptor instance before it is returned.
     *
     * @param interceptorConfig    the InterceptorConfig from the configuration
     * @param interceptorRefParams a Map of params provided in the Interceptor reference in the
     *                             Action mapping or InterceptorStack definition
     *
     * @return interceptor
     *
     * @throws ConfigurationException in case of any configuration errors
     */
    Interceptor buildInterceptor(InterceptorConfig interceptorConfig, Map<String, String> interceptorRefParams) throws ConfigurationException;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ResultFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.config.entities.ResultConfig;

import java.util.Map;

/**
 * Used by {@link com.opensymphony.xwork2.ObjectFactory} to build {@link com.opensymphony.xwork2.Result}
 */
public interface ResultFactory {

    Result buildResult(ResultConfig resultConfig, Map<String, Object> extraContext) throws Exception;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/UnknownHandlerFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.UnknownHandler;

import java.util.Map;

/**
 * Dedicated interface used by {@link com.opensymphony.xwork2.ObjectFactory} to build {@link com.opensymphony.xwork2.UnknownHandler}
 */
public interface UnknownHandlerFactory {

    /**
     * Builds unknown handler of given name
     *
     * @param unknownHandlerName name of unknown handler defined in struts.xml
     * @param extraContext extra params
     *
     * @return instance of {@link com.opensymphony.xwork2.UnknownHandler} with injected dependencies
     *
     * @throws Exception in case of any errors
     */
    UnknownHandler buildUnknownHandler(String unknownHandlerName, Map<String, Object> extraContext) throws Exception;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/factory/ValidatorFactory.java
=======================================================================
package com.opensymphony.xwork2.factory;

import com.opensymphony.xwork2.validator.Validator;

import java.util.Map;

/**
 * Dedicated interface used by {@link com.opensymphony.xwork2.ObjectFactory} to build {@link Validator}
 */
public interface ValidatorFactory {

    /**
     * Build a Validator of the given type and set the parameters on it
     *
     * @param className the type of Validator to build
     * @param params    property name -&gt; value Map to set onto the Validator instance
     * @param extraContext a Map of extra context which uses the same keys as the {@link com.opensymphony.xwork2.ActionContext}
     *
     * @return a validator instance
     *
     * @throws Exception in case of any errors
     */
    Validator buildValidator(String className, Map<String, Object> params, Map<String, Object> extraContext) throws Exception;

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManager.java
=======================================================================
package com.opensymphony.xwork2;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Collection;

/**
 * Basic interface to access file on the File System and to monitor changes
 */
public interface FileManager {

    /**
     * Enables configs reloading when config file changed
     *
     * @param reloadingConfigs {@link org.apache.struts2.StrutsConstants#STRUTS_CONFIGURATION_XML_RELOAD}
     */
    void setReloadingConfigs(boolean reloadingConfigs);

    /**
     * Checks if given file changed and must be reloaded if {@link #setReloadingConfigs(boolean)} is true
     *
     * @param fileName to check
     * @return true if file changed
     */
    boolean fileNeedsReloading(String fileName);

    /**
     * Checks if file represented by provided URL should be reloaded
     *
     * @param fileUrl url to a file
     * @return true if file exists and should be reloaded, if url is null return false
     */
    boolean fileNeedsReloading(URL fileUrl);

    /**
     * Loads opens the named file and returns the InputStream
     *
     * @param fileUrl - the URL of the file to open
     * @return an InputStream of the file contents or null
     * @throws IllegalArgumentException if there is no file with the given file name
     */
    InputStream loadFile(URL fileUrl);

    /**
     * Adds file to list of monitored files if {@link #setReloadingConfigs(boolean)} is true
     *
     * @param fileUrl {@link URL} to file to be monitored
     */
    void monitorFile(URL fileUrl);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/FileManagerFactory.java
=======================================================================
package com.opensymphony.xwork2;

/**
 * Factory that creates FileManager, default to {@link com.opensymphony.xwork2.util.fs.DefaultFileManager}
 */
public interface FileManagerFactory {

    void setReloadingConfigs(String reloadingConfigs);

    FileManager getFileManager();

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/inject/util/package.html
=======================================================================
<body>Guice util classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Allowed.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Declares that it is permitted for the field be mutated through
 * a HttpRequest parameter.
 *
 * @author martin.gilday
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Allowed {

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;


import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.interceptor.Interceptor;
import com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor;
import com.opensymphony.xwork2.interceptor.ParametersInterceptor;
import com.opensymphony.xwork2.util.AnnotationUtils;
import org.apache.struts2.dispatcher.HttpParameters;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

/**
 * Annotation based version of {@link ParameterFilterInterceptor}.
 *
 * <p>
 * This {@link Interceptor} must be placed in the stack before the {@link ParametersInterceptor}
 * When a parameter matches a field that is marked {@link Blocked} then it is removed from
 * the parameter map.
 * </p>
 * <p>
 * If an {@link Action} class is marked with {@link BlockByDefault} then all parameters are
 * removed unless a field on the Action exists and is marked with {@link Allowed}
 * </p>
 *
 * @author martin.gilday
 */
public class AnnotationParameterFilterInterceptor extends AbstractInterceptor {

    /* (non-Javadoc)
      * @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
      */
    @Override public String intercept(ActionInvocation invocation) throws Exception {

        final Object action = invocation.getAction();
        HttpParameters parameters = invocation.getInvocationContext().getParameters();

        Object model = invocation.getStack().peek();
        if (model == action) {
            model = null;
        }

        boolean blockByDefault = action.getClass().isAnnotationPresent(BlockByDefault.class);
        List<Field> annotatedFields = new ArrayList<>();


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BlockByDefault.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import com.opensymphony.xwork2.Action;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Declares that by default fields on the {@link Action} class
 * are NOT permitted to be set from HttpRequest parameters.
 * To allow access to a field it must be annotated with {@link Allowed}
 *
 * @author martin.gilday
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface BlockByDefault {

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Blocked.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Declares that the given field should NOT be able to be mutated through
 * a HttpRequest parameter.
 *
 * @author martin.gilday
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Blocked {

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/package.html
=======================================================================
<body>Interceptor annotations.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/package.html
=======================================================================
<body>Interceptor classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationWorkflowAware.java
=======================================================================
package com.opensymphony.xwork2.interceptor;

/**
 * ValidationWorkflowAware classes can programmatically change result name when errors occurred
 *
 * This interface can be only applied to action which already implements {@link ValidationAware} interface!
 */
public interface ValidationWorkflowAware {

    String getInputResultName();

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/interceptor/WithLazyParams.java
=======================================================================
package com.opensymphony.xwork2.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.ognl.OgnlUtil;
import com.opensymphony.xwork2.util.TextParseUtil;
import com.opensymphony.xwork2.util.TextParser;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;

import java.util.Map;

/**
 * Interceptors marked with this interface won't be fully initialised during initialisation.
 * Appropriated params will be injected just before usage of the interceptor.
 *
 * Please be aware that in such case {@link Interceptor#init()} method must be prepared for this.
 *
 * @since 2.5.9
 */
public interface WithLazyParams {

    class LazyParamInjector {

        protected OgnlUtil ognlUtil;
        protected TextParser textParser;
        protected ReflectionProvider reflectionProvider;

        private final TextParseUtil.ParsedValueEvaluator valueEvaluator;

        public LazyParamInjector(final ValueStack valueStack) {
            valueEvaluator = new TextParseUtil.ParsedValueEvaluator() {
                public Object evaluate(String parsedValue) {
                    return valueStack.findValue(parsedValue); // no asType !!!
                }
            };
        }

        @Inject
        public void setTextParser(TextParser textParser) {
            this.textParser = textParser;
        }

        @Inject
        public void setReflectionProvider(ReflectionProvider reflectionProvider) {
            this.reflectionProvider = reflectionProvider;
        }

        @Inject
        public void setOgnlUtil(OgnlUtil ognlUtil) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/MockContainer.java
=======================================================================
package com.opensymphony.xwork2.mock;

import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Scope;

import java.util.Set;

/**
 * Mock implementation to be used in unittests
 */
public class MockContainer implements Container {

    public void inject(Object o) {

    }

    public <T> T inject(Class<T> implementation) {
        return null;
    }

    public <T> T getInstance(Class<T> type, String name) {
        return null;
    }

    public <T> T getInstance(Class<T> type) {
        return null;
    }

    public Set<String> getInstanceNames(Class<?> type) {
        return null;
    }

    public void setScopeStrategy(Scope.Strategy scopeStrategy) {

    }

    public void removeScopeStrategy() {

    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/mock/package.html
=======================================================================
<body>XWork specific mock classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/HttpParametersPropertyAccessor.java
=======================================================================
/**
 *
 */
package com.opensymphony.xwork2.ognl.accessor;

import ognl.ObjectPropertyAccessor;
import ognl.OgnlException;
import org.apache.struts2.dispatcher.HttpParameters;
import org.apache.struts2.dispatcher.Parameter;

import java.util.Map;

public class HttpParametersPropertyAccessor extends ObjectPropertyAccessor {

    @Override
    public Object getProperty(Map context, Object target, Object oname) throws OgnlException {
        HttpParameters parameters = (HttpParameters) target;
        return parameters.get(String.valueOf(oname)).getObject();
    }

    @Override
    public void setProperty(Map context, Object target, Object oname, Object value) throws OgnlException {
        throw new OgnlException("Access to " + target.getClass().getName() + " is read-only!");
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ObjectAccessor.java
=======================================================================
/**
 * 
 */
package com.opensymphony.xwork2.ognl.accessor;

import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.ognl.OgnlValueStack;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
import ognl.ObjectPropertyAccessor;
import ognl.OgnlException;

import java.util.Map;

public class ObjectAccessor extends ObjectPropertyAccessor {
    @Override
    public Object getProperty(Map map, Object o, Object o1) throws OgnlException {
        Object obj = super.getProperty(map, o, o1);

        map.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED, o.getClass());
        map.put(XWorkConverter.LAST_BEAN_PROPERTY_ACCESSED, o1.toString());
        ReflectionContextState.updateCurrentPropertyPath(map, o1);
        return obj;
    }

    @Override
    public void setProperty(Map map, Object o, Object o1, Object o2) throws OgnlException {
        super.setProperty(map, o, o1, o2);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/ParameterPropertyAccessor.java
=======================================================================
/**
 *
 */
package com.opensymphony.xwork2.ognl.accessor;

import ognl.ObjectPropertyAccessor;
import ognl.OgnlException;
import org.apache.struts2.dispatcher.Parameter;

import java.util.Map;

public class ParameterPropertyAccessor extends ObjectPropertyAccessor {

    @Override
    public Object getProperty(Map context, Object target, Object oname) throws OgnlException {
        if (target instanceof Parameter) {
            if ("value".equalsIgnoreCase(String.valueOf(oname))) {
                throw new OgnlException("Access to " + oname + " is not allowed! Call parameter name directly!");
            }
            return ((Parameter) target).getObject();
        }
        return super.getProperty(context, target, oname);
    }

    @Override
    public void setProperty(Map context, Object target, Object oname, Object value) throws OgnlException {
        if (target instanceof Parameter) {
            throw new OgnlException("Access to " + target.getClass().getName() + " is read-only!");
        } else {
            super.setProperty(context, target, oname, value);
        }
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/ErrorMessageBuilder.java
=======================================================================
package com.opensymphony.xwork2.ognl;

/**
 * Helper class to build error messages.
 */
public class ErrorMessageBuilder {

    private StringBuilder message = new StringBuilder();

    public static ErrorMessageBuilder create() {
        return new ErrorMessageBuilder();
    }

    private ErrorMessageBuilder() {
    }

    public ErrorMessageBuilder errorSettingExpressionWithValue(String expr, Object value) {
        appenExpression(expr);
        if (value instanceof Object[]) {
            appendValueAsArray((Object[]) value, message);
        } else {
            appendValue(value);
        }
        return this;
    }

    private void appenExpression(String expr) {
        message.append("Error setting expression '");
        message.append(expr);
        message.append("' with value ");
    }

    private void appendValue(Object value) {
        message.append("'");
        message.append(value);
        message.append("'");
    }

    private void appendValueAsArray(Object[] valueArray, StringBuilder msg) {
        msg.append("[");
        for (int index = 0; index < valueArray.length; index++) {
            appendValue(valueArray[index]);
            if (hasMoreElements(valueArray, index)) {
                msg.append(", ");
            }
        }
        msg.append("]");
    }

    private boolean hasMoreElements(Object[] valueArray, int index) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlNullHandlerWrapper.java
=======================================================================
package com.opensymphony.xwork2.ognl;

import com.opensymphony.xwork2.conversion.NullHandler;

import java.util.Map;

public class OgnlNullHandlerWrapper implements ognl.NullHandler {

    private NullHandler wrapped;
    
    public OgnlNullHandlerWrapper(NullHandler target) {
        this.wrapped = target;
    }
    
    public Object nullMethodResult(Map context, Object target,
            String methodName, Object[] args) {
        return wrapped.nullMethodResult(context, target, methodName, args);
    }

    public Object nullPropertyValue(Map context, Object target, Object property) {
        return wrapped.nullPropertyValue(context, target, property);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionContextFactory.java
=======================================================================
package com.opensymphony.xwork2.ognl;

import com.opensymphony.xwork2.util.reflection.ReflectionContextFactory;
import ognl.Ognl;

import java.util.Map;

public class OgnlReflectionContextFactory implements ReflectionContextFactory {

    public Map createDefaultContext(Object root) {
        return Ognl.createDefaultContext(root);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/ognl/OgnlReflectionProvider.java
=======================================================================
package com.opensymphony.xwork2.ognl;

import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.reflection.ReflectionException;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import ognl.Ognl;
import ognl.OgnlException;
import ognl.OgnlRuntime;

import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Map;

public class OgnlReflectionProvider implements ReflectionProvider {
    
    private OgnlUtil ognlUtil;
    
    @Inject
    public void setOgnlUtil(OgnlUtil ognlUtil) {
        this.ognlUtil = ognlUtil;
    }

    public Field getField(Class inClass, String name) {
        return OgnlRuntime.getField(inClass, name);
    }

    public Method getGetMethod(Class targetClass, String propertyName)
            throws IntrospectionException, ReflectionException {
        try {
            return OgnlRuntime.getGetMethod(null, targetClass, propertyName);
        } catch (OgnlException e) {
            throw new ReflectionException(e);
        }
    }

    public Method getSetMethod(Class targetClass, String propertyName)
            throws IntrospectionException, ReflectionException {
        try {
            return OgnlRuntime.getSetMethod(null, targetClass, propertyName);
        } catch (OgnlException e) {
            throw new ReflectionException(e);
        }
    }

    public void setProperties(Map<String, ?> props, Object o, Map<String, Object> context) {
        ognlUtil.setProperties(props, o, context);
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/package.html
=======================================================================
<body>Main XWork interfaces and classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/result/ParamNameAwareResult.java
=======================================================================
package com.opensymphony.xwork2.result;

/**
 * Accept parameter name/value to be set on {@link com.opensymphony.xwork2.Result}
 */
public interface ParamNameAwareResult {

    boolean acceptableParameterName(String name, String value);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/AcceptedPatternsChecker.java
=======================================================================
package com.opensymphony.xwork2.security;

import java.util.Set;
import java.util.regex.Pattern;

/**
 * Used across different interceptors to check if given string matches one of the excluded patterns.
 */
public interface AcceptedPatternsChecker {

    /**
     * Checks if value matches any of patterns on exclude list
     *
     * @param value to check
     * @return object containing result of matched pattern and pattern itself
     */
    public IsAccepted isAccepted(String value);

    /**
     * Sets excluded patterns during runtime
     *
     * @param commaDelimitedPatterns comma delimited string with patterns
     */
    public void setAcceptedPatterns(String commaDelimitedPatterns);

    /**
     * Set excluded patterns during runtime
     *
     * @param patterns array of additional excluded patterns
     */
    public void setAcceptedPatterns(String[] patterns);

    /**
     * Sets excluded patterns during runtime
     *
     * @param patterns set of additional patterns
     */
    public void setAcceptedPatterns(Set<String> patterns);

    /**
     * Allow access list of all defined excluded patterns
     *
     * @return set of excluded patterns
     */
    public Set<Pattern> getAcceptedPatterns();

    public final static class IsAccepted {

        private final boolean accepted;
        private final String acceptedPattern;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsChecker.java
=======================================================================
package com.opensymphony.xwork2.security;

import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.TextParseUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;

public class DefaultAcceptedPatternsChecker implements AcceptedPatternsChecker {

    private static final Logger LOG = LogManager.getLogger(DefaultAcceptedPatternsChecker.class);

    public static final String[] ACCEPTED_PATTERNS = {
            "\\w+((\\.\\w+)|(\\[\\d+\\])|(\\(\\d+\\))|(\\['(\\w|[\\u4e00-\\u9fa5])+'\\])|(\\('(\\w|[\\u4e00-\\u9fa5])+'\\)))*"
    };

    private Set<Pattern> acceptedPatterns;

    public DefaultAcceptedPatternsChecker() {
        setAcceptedPatterns(ACCEPTED_PATTERNS);
    }

    @Inject(value = XWorkConstants.OVERRIDE_ACCEPTED_PATTERNS, required = false)
    public void setOverrideAcceptedPatterns(String acceptablePatterns) {
        LOG.warn("Overriding accepted patterns [{}] with [{}], be aware that this affects all instances and safety of your application!",
                    XWorkConstants.OVERRIDE_ACCEPTED_PATTERNS, acceptablePatterns);
        acceptedPatterns = new HashSet<>();
        for (String pattern : TextParseUtil.commaDelimitedStringToSet(acceptablePatterns)) {
            acceptedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
        }
    }

    @Inject(value = XWorkConstants.ADDITIONAL_ACCEPTED_PATTERNS, required = false)
    public void setAdditionalAcceptedPatterns(String acceptablePatterns) {
        LOG.warn("Adding additional global patterns [{}] to accepted patterns!", acceptablePatterns);
        for (String pattern : TextParseUtil.commaDelimitedStringToSet(acceptablePatterns)) {
            acceptedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
        }
    }

    public void setAcceptedPatterns(String commaDelimitedPatterns) {
        setAcceptedPatterns(TextParseUtil.commaDelimitedStringToSet(commaDelimitedPatterns));
    }

    public void setAcceptedPatterns(String[] additionalPatterns) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
=======================================================================
package com.opensymphony.xwork2.security;

import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.TextParseUtil;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;

public class DefaultExcludedPatternsChecker implements ExcludedPatternsChecker {

    private static final Logger LOG = LogManager.getLogger(DefaultExcludedPatternsChecker.class);

    public static final String[] EXCLUDED_PATTERNS = {
        "(^|\\%\\{)((#?)(top(\\.|\\['|\\[\")|\\[\\d\\]\\.)?)(dojo|struts|session|request|response|application|servlet(Request|Response|Context)|parameters|context|_memberAccess)(\\.|\\[).*",
        ".*(^|\\.|\\[|\\'|\"|get)class(\\(\\.|\\[|\\'|\").*"
    };

    private Set<Pattern> excludedPatterns;

    public DefaultExcludedPatternsChecker() {
        setExcludedPatterns(EXCLUDED_PATTERNS);
    }

    @Inject(value = XWorkConstants.OVERRIDE_EXCLUDED_PATTERNS, required = false)
    public void setOverrideExcludePatterns(String excludePatterns) {
        LOG.warn("Overriding excluded patterns [{}] with [{}], be aware that this affects all instances and safety of your application!",
                    XWorkConstants.OVERRIDE_EXCLUDED_PATTERNS, excludePatterns);
        excludedPatterns = new HashSet<Pattern>();
        for (String pattern : TextParseUtil.commaDelimitedStringToSet(excludePatterns)) {
            excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
        }
    }

    @Inject(value = XWorkConstants.ADDITIONAL_EXCLUDED_PATTERNS, required = false)
    public void setAdditionalExcludePatterns(String excludePatterns) {
        LOG.debug("Adding additional global patterns [{}] to excluded patterns!", excludePatterns);
        for (String pattern : TextParseUtil.commaDelimitedStringToSet(excludePatterns)) {
            excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
        }
    }

    @Inject(StrutsConstants.STRUTS_ENABLE_DYNAMIC_METHOD_INVOCATION)
    public void setDynamicMethodInvocation(String dmiValue) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/security/ExcludedPatternsChecker.java
=======================================================================
package com.opensymphony.xwork2.security;

import java.util.Set;
import java.util.regex.Pattern;

/**
 * Used across different interceptors to check if given string matches one of the excluded patterns.
 */
public interface ExcludedPatternsChecker {

    /**
     * Checks if value matches any of patterns on exclude list
     *
     * @param value to check
     * @return object containing result of matched pattern and pattern itself
     */
    public IsExcluded isExcluded(String value);

    /**
     * Sets excluded patterns during runtime
     *
     * @param commaDelimitedPatterns comma delimited string with patterns
     */
    public void setExcludedPatterns(String commaDelimitedPatterns);

    /**
     * Sets excluded patterns during runtime
     *
     * @param patterns array of additional excluded patterns
     */
    public void setExcludedPatterns(String[] patterns);

    /**
     * Sets excluded patterns during runtime
     *
     * @param patterns set of additional patterns
     */
    public void setExcludedPatterns(Set<String> patterns);

    /**
     * Allow access list of all defined excluded patterns
     *
     * @return set of excluded patterns
     */
    public Set<Pattern> getExcludedPatterns();

    public final static class IsExcluded {

        private final boolean excluded;
        private final String excludedPattern;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/package.html
=======================================================================
<body>Spring specific interceptor classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/spring/package.html
=======================================================================
<body>Spring ObjectFactory classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/test/StubConfigurationProvider.java
=======================================================================
package com.opensymphony.xwork2.test;

import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.util.location.LocatableProperties;

public class StubConfigurationProvider implements ConfigurationProvider {

    public void destroy() {
        // TODO Auto-generated method stub

    }

    public void init(Configuration configuration) throws ConfigurationException {
        // TODO Auto-generated method stub
    }

    public void loadPackages() throws ConfigurationException {
        // TODO Auto-generated method stub

    }

    public boolean needsReload() {
        // TODO Auto-generated method stub
        return false;
    }

    public void register(ContainerBuilder builder, LocatableProperties props)
            throws ConfigurationException {
        // TODO Auto-generated method stub

    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/AbstractLocalizedTextProvider.java
=======================================================================
package com.opensymphony.xwork2.util;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.LocalizedTextProvider;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
import org.apache.struts2.StrutsConstants;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.MessageFormat;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;

abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider {

    private static final Logger LOG = LogManager.getLogger(AbstractLocalizedTextProvider.class);

    public static final String XWORK_MESSAGES_BUNDLE = "com/opensymphony/xwork2/xwork-messages";
    public static final String STRUTS_MESSAGES_BUNDLE = "org/apache/struts2/struts-messages";

    private static final String TOMCAT_RESOURCE_ENTRIES_FIELD = "resourceEntries";
    private final String RELOADED = "com.opensymphony.xwork2.util.LocalizedTextProvider.reloaded";

    protected final ConcurrentMap<String, ResourceBundle> bundlesMap = new ConcurrentHashMap<>();
    protected boolean devMode = false;
    protected boolean reloadBundles = false;

    private final ConcurrentMap<MessageFormatKey, MessageFormat> messageFormats = new ConcurrentHashMap<>();
    private final ConcurrentMap<Integer, List<String>> classLoaderMap = new ConcurrentHashMap<>();
    private final Set<String> missingBundles = Collections.synchronizedSet(new HashSet<String>());
    private final ConcurrentMap<Integer, ClassLoader> delegatedClassLoaderMap = new ConcurrentHashMap<>();

    /**
     * Add's the bundle to the internal list of default bundles.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/Evaluated.java
=======================================================================
package com.opensymphony.xwork2.util;

public class Evaluated {

    private Object value;

    public Evaluated(Object value) {
        this.value = value;
    }

    public boolean isDefined() {
        return value != null;
    }

    public Object get() {
        return value;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
=======================================================================
package com.opensymphony.xwork2.util.finder;

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

/**
 * ClassFinder searches the classpath of the specified ClassLoaderInterface for
 * packages, classes, constructors, methods, or fields with specific annotations.
 *
 * For security reasons ASM is used to find the annotations.  Classes are not
 * loaded unless they match the requirements of a called findAnnotated* method.
 * Once loaded, these classes are cached.
 *
 * The getClassesNotLoaded() method can be used immediately after any find*
 * method to get a list of classes which matched the find requirements (i.e.
 * contained the annotation), but were unable to be loaded.
 */
public interface ClassFinder {

    boolean isAnnotationPresent(Class<? extends Annotation> annotation);

    /**
     * <p>
     * Returns a list of classes that could not be loaded in last invoked findAnnotated* method.
     * </p>
     *
     * <p>
     * The list will only contain entries of classes whose byte code matched the requirements
     * of last invoked find* method, but were unable to be loaded and included in the results.
     * </p>
     *
     * <p>
     * The list returned is unmodifiable.  Once obtained, the returned list will be a live view of the
     * results from the last findAnnotated* method call.
     * </p>
     *
     * <p>
     * This method is not thread safe.
     * </p>
     *
     * @return an unmodifiable live view of classes that could not be loaded in previous findAnnotated* call.
     */
    List<String> getClassesNotLoaded();

    List<Package> findAnnotatedPackages(Class<? extends Annotation> annotation);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
=======================================================================
package com.opensymphony.xwork2.util.fs;

import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.FileManagerFactory;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;

import java.util.HashSet;
import java.util.Set;

/**
 * Default implementation
 */
public class DefaultFileManagerFactory implements FileManagerFactory {

    private static final Logger LOG = LogManager.getLogger(DefaultFileManagerFactory.class);

    private boolean reloadingConfigs;
    private FileManagerHolder fileManagerHolder;
    private FileManager systemFileManager;
    private Container container;

    @Inject(value = "system")
    public void setFileManager(FileManager fileManager) {
        this.systemFileManager = fileManager;
    }

    @Inject
    public void setContainer(Container container) {
        this.container = container;
    }

    @Inject(value = StrutsConstants.STRUTS_CONFIGURATION_XML_RELOAD, required = false)
    public void setReloadingConfigs(String reloadingConfigs) {
        this.reloadingConfigs = Boolean.parseBoolean(reloadingConfigs);
    }

    public FileManager getFileManager() {
        if (fileManagerHolder != null) {
            return fileManagerHolder.getFileManager();
        }

        FileManager fileManager = lookupFileManager();
        if (fileManager != null) {
            LOG.debug("Using FileManager implementation [{}]", fileManager.getClass().getSimpleName());
            fileManager.setReloadingConfigs(reloadingConfigs);
            fileManagerHolder = new FileManagerHolder(fileManager);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/FileRevision.java
=======================================================================
package com.opensymphony.xwork2.util.fs;

import java.io.File;
import java.net.URISyntaxException;
import java.net.URL;

/**
 * Represents file resource revision, used for file://* resources
 */
public class FileRevision extends Revision {

    private File file;
    private long lastModified;

    public static Revision build(URL fileUrl) {
        File file;
        try {
            if (fileUrl != null) {
                file = new File(fileUrl.toURI());
            } else {
                return null;
            }
        } catch (URISyntaxException e) {
            file = new File(fileUrl.getPath());
        }  catch (Throwable t) {
            return null;
        }
        if (file.exists() && file.canRead()) {
            long lastModified = file.lastModified();
            return new FileRevision(file, lastModified);
        }
        return null;
    }

    private FileRevision(File file, long lastUpdated) {
        if (file == null) {
            throw new IllegalArgumentException("File cannot be null");
        }

        this.file = file;
        this.lastModified = lastUpdated;
    }

    public File getFile() {
        return file;
    }

    public boolean needsReloading() {
        return this.lastModified < this.file.lastModified();
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/JarEntryRevision.java
=======================================================================
package com.opensymphony.xwork2.util.fs;

import com.opensymphony.xwork2.FileManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.commons.io.FileUtils;

import java.io.IOException;
import java.net.URL;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;

/**
 * Represents jar resource revision, used for jar://* resource
 */
public class JarEntryRevision extends Revision {

    private static Logger LOG = LogManager.getLogger(JarEntryRevision.class);

    private static final String JAR_FILE_NAME_SEPARATOR = "!/";
    private static final String JAR_FILE_EXTENSION_END = ".jar/";

    private String jarFileName;
    private String fileNameInJar;
    private long lastModified;

    public static Revision build(URL fileUrl, FileManager fileManager) {
        // File within a Jar
        // Find separator index of jar filename and filename within jar
        String jarFileName = "";
        try {
            String fileName = fileUrl.toString();
            int separatorIndex = fileName.indexOf(JAR_FILE_NAME_SEPARATOR);
            if (separatorIndex == -1) {
                separatorIndex = fileName.lastIndexOf(JAR_FILE_EXTENSION_END);
            }
            if (separatorIndex == -1) {
                LOG.warn("Could not find end of jar file!");
                return null;
            }

            // Split file name
            jarFileName = fileName.substring(0, separatorIndex);
            int index = separatorIndex + JAR_FILE_NAME_SEPARATOR.length();
            String fileNameInJar = fileName.substring(index).replaceAll("%20", " ");

            URL url = fileManager.normalizeToFileProtocol(fileUrl);
            if (url != null) {
                JarFile jarFile = new JarFile(FileUtils.toFile(url));
                ZipEntry entry = jarFile.getEntry(fileNameInJar);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/fs/Revision.java
=======================================================================
package com.opensymphony.xwork2.util.fs;

import java.net.URL;

/**
 * Class represents common revision resource, should be used as default class when no other option exists
 */
public class Revision {

    protected Revision() {
    }

    public boolean needsReloading() {
        return false;
    }

    public static Revision build(URL fileUrl) {
        return new Revision();
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/LocatableProperties.java
=======================================================================
package com.opensymphony.xwork2.util.location;

import com.opensymphony.xwork2.util.PropertiesReader;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;

/**
 * Properties implementation that remembers the location of each property.  When
 * loaded, a custom properties file parser is used to remember both the line number
 * and preceeding comments for each property entry.
 */
public class LocatableProperties extends Properties implements Locatable {

    Location location;
    Map<String, Location> propLocations;

    public LocatableProperties() {
        this(Location.UNKNOWN);
    }

    public LocatableProperties(Location loc) {
        super();
        this.location = loc;
        this.propLocations = new HashMap<>();
    }

    @Override
    public void load(InputStream in) throws IOException {
        Reader reader = new InputStreamReader(in);
        PropertiesReader pr = new PropertiesReader(reader);
        while (pr.nextProperty()) {
            String name = pr.getPropertyName();
            String val = pr.getPropertyValue();
            int line = pr.getLineNumber();
            String desc = convertCommentsToString(pr.getCommentLines());

            Location loc = new LocationImpl(desc, location.getURI(), line, 0);
            setProperty(name, val, loc);
        }
    }

    String convertCommentsToString(List<String> lines) {
        StringBuilder sb = new StringBuilder();

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/location/package.html
=======================================================================
<html>
  <body>Classes and utilities used to track location information.</body>
</html>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/MemberAccessValueStack.java
=======================================================================
package com.opensymphony.xwork2.util;

import java.util.Set;
import java.util.regex.Pattern;

/**
 * ValueStacks implementing this interface provide a way to remove block or allow access
 * to properties using regular expressions
 */
public interface MemberAccessValueStack {

    void setExcludeProperties(Set<Pattern> excludeProperties);

    void setAcceptProperties(Set<Pattern> acceptedProperties);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/OgnlTextParser.java
=======================================================================
package com.opensymphony.xwork2.util;

import org.apache.commons.lang3.StringUtils;

/**
 * OGNL implementation of {@link TextParser}
 */
public class OgnlTextParser implements TextParser {

    public Object evaluate(char[] openChars, String expression, TextParseUtil.ParsedValueEvaluator evaluator, int maxLoopCount) {
        // deal with the "pure" expressions first!
        //expression = expression.trim();
        Object result = expression = (expression == null) ? "" : expression;
        int pos = 0;

        for (char open : openChars) {
            int loopCount = 1;
            //this creates an implicit StringBuffer and shouldn't be used in the inner loop
            final String lookupChars = open + "{";

            while (true) {
                int start = expression.indexOf(lookupChars, pos);
                if (start == -1) {
                    loopCount++;
                    start = expression.indexOf(lookupChars);
                }
                if (loopCount > maxLoopCount) {
                    // translateVariables prevent infinite loop / expression recursive evaluation
                    break;
                }
                int length = expression.length();
                int x = start + 2;
                int end;
                char c;
                int count = 1;
                while (start != -1 && x < length && count != 0) {
                    c = expression.charAt(x++);
                    if (c == '{') {
                        count++;
                    } else if (c == '}') {
                        count--;
                    }
                }
                end = x - 1;

                if ((start != -1) && (end != -1) && (count == 0)) {
                    String var = expression.substring(start + 2, end);

                    Object o = evaluator.evaluate(var);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/package.html
=======================================================================
<body>XWork util classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
=======================================================================
/*
 * Copyright (c) 2002-2003, Atlassian Software Systems Pty Ltd All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * 
 *     * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation and/or
 * other materials provided with the distribution.
 *     * Neither the name of Atlassian Software Systems Pty Ltd nor the names of
 * its contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package com.opensymphony.xwork2.util.profiling;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * @author <a href="mailto:scott@atlassian.com">Scott Farquhar</a>
 * @deprecated will be dropped with next major release (2.6)
 */
@Deprecated
public class ObjectProfiler {

    /**
     * <p>
     * Given a class, and an interface that it implements, return a proxied version of the class that implements
     * the interface.
     * </p>
     *
     * <p>
     * The usual use of this is to profile methods from Factory objects:
     * </p>
     *

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html
=======================================================================
<body>Classes to enable profiling of action execution.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java
=======================================================================
/*
 * Copyright (c) 2002-2003, Atlassian Software Systems Pty Ltd All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * 
 *     * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation and/or
 * other materials provided with the distribution.
 *     * Neither the name of Atlassian Software Systems Pty Ltd nor the names of
 * its contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package com.opensymphony.xwork2.util.profiling;

import java.util.ArrayList;
import java.util.List;

/**
 * Bean to contain information about the pages profiled
 *
 * @author <a href="mailto:mike@atlassian.com">Mike Cannon-Brookes</a>
 * @author <a href="mailto:scott@atlassian.com">Scott Farquhar</a>
 * @version $Date$ $Id$
 *
 * @deprecated will be dropped with next major release (2.6)
 */
@Deprecated
public class ProfilingTimerBean implements java.io.Serializable {

    private static final long serialVersionUID = -6180672043920208784L;

    List<ProfilingTimerBean> children = new ArrayList<>();
    ProfilingTimerBean parent = null;

    String resource;


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
=======================================================================
/*
 * Copyright (c) 2002-2003, Atlassian Software Systems Pty Ltd All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * 
 *     * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation and/or
 * other materials provided with the distribution.
 *     * Neither the name of Atlassian Software Systems Pty Ltd nor the names of
 * its contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package com.opensymphony.xwork2.util.profiling;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


/**
 * <p>A timer stack.</p>
 * <!-- START SNIPPET: profilingAspect_struts2 -->
 * <p>
 * Struts2 profiling aspects involves the following:
 * </p>
 *
 * <ul>
 *  <li>ActionContextCleanUp</li>
 *  <li>FreemarkerPageFilter</li>
 *  <li>DispatcherFilter
 *      <ul>
 *          <li>Dispatcher
 *              <ul>
 *                  <li>creation of DefaultActionProxy
 *                      <ul>
 *                          <li>creation of DefaultActionInvocation
 *                              <ul>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextFactory.java
=======================================================================
package com.opensymphony.xwork2.util.reflection;

import java.util.Map;

public interface ReflectionContextFactory {
    /**
     * Creates and returns a new standard naming context for evaluating an OGNL
     * expression.
     *
     * @param root the root of the object graph
     * @return a new Map with the keys <CODE>root</CODE> and <CODE>context</CODE>
     *         set appropriately
     */
    Map createDefaultContext( Object root );
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionException.java
=======================================================================
package com.opensymphony.xwork2.util.reflection;

import com.opensymphony.xwork2.XWorkException;

public class ReflectionException extends XWorkException {

    public ReflectionException() {
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(String s) {
        super(s);
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(String s, Object target) {
        super(s, target);
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(Throwable cause) {
        super(cause);
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(Throwable cause, Object target) {
        super(cause, target);
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(String s, Throwable cause) {
        super(s, cause);
        // TODO Auto-generated constructor stub
    }

    public ReflectionException(String s, Throwable cause, Object target) {
        super(s, cause, target);
        // TODO Auto-generated constructor stub
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionExceptionHandler.java
=======================================================================
package com.opensymphony.xwork2.util.reflection;

/**
 * Declares a class that wants to handle its own reflection exceptions
 */
public interface ReflectionExceptionHandler {

    /**
     * Handles a reflection exception
     * 
     * @param ex The reflection exception
     */
    void handle(ReflectionException ex);
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProvider.java
=======================================================================
package com.opensymphony.xwork2.util.reflection;

import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Map;

public interface ReflectionProvider {
    
    Method getGetMethod(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException;
    
    Method getSetMethod(Class targetClass, String propertyName) throws IntrospectionException, ReflectionException;
    
    Field getField(Class inClass, String name);
    
    /**
     * Sets the object's properties using the default type converter, defaulting to not throw
     * exceptions for problems setting the properties.
     *
     * @param props   the properties being set
     * @param o       the object
     * @param context the action context
     */
    void setProperties(Map<String, ?> props, Object o, Map<String, Object> context);

    /**
     * Sets the object's properties using the default type converter.
     *
     * @param props                   the properties being set
     * @param o                       the object
     * @param context                 the action context
     * @param throwPropertyExceptions boolean which tells whether it should throw exceptions for
     *                                problems setting the properties
     */
    void setProperties(Map<String, ?> props, Object o, Map<String, Object> context, boolean throwPropertyExceptions) throws ReflectionException;
    
    /**
     * Sets the properties on the object using the default context, defaulting to not throwing
     * exceptions for problems setting the properties.
     *
     * @param properties property map
     * @param o object
     */
    void setProperties(Map<String, ?> properties, Object o);
    
    /**
     *  This method returns a PropertyDescriptor for the given class and property name using
     * a Map lookup (using getPropertyDescriptorsMap()).

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProviderFactory.java
=======================================================================
package com.opensymphony.xwork2.util.reflection;

import com.opensymphony.xwork2.ActionContext;

public class ReflectionProviderFactory {

    public static ReflectionProvider getInstance() {
        return ActionContext.getContext().getContainer().getInstance(ReflectionProvider.class);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
=======================================================================
package com.opensymphony.xwork2.util;

/**
 * Used to parse expressions like ${foo.bar} or %{bar.foo} but it is up tp the TextParser's
 * implementation what kind of opening char to use (#, $, %, etc)
 */
public interface TextParser {

    int DEFAULT_LOOP_COUNT = 1;

    Object evaluate(char[] openChars, String expression, TextParseUtil.ParsedValueEvaluator evaluator, int maxLoopCount);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
=======================================================================
package com.opensymphony.xwork2.validator.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <!-- START SNIPPET: description -->
 * <p>
 * The validator allows you to forward validator to object properties of your action
 * using the objects own validator files. This allows you to use the ModelDriven development
 * pattern and manage your validations for your models in one place, where they belong, next to
 * your model classes.
 * </p>
 *
 * <p>
 * The ConditionalVisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
 * The error message for the ConditionalVisitorFieldValidator will be appended in front of validator messages added
 * by the validations for the Object message.
 * </p>
 *
 * <!-- END SNIPPET: description -->
 *
 * <p><u>Annotation usage:</u></p>
 *
 * <!-- START SNIPPET: usage -->
 * <p>The annotation must be applied at method level.</p>
 * <!-- END SNIPPET: usage -->
 *
 * <p><u>Annotation parameters:</u></p>
 *
 * <!-- START SNIPPET: parameters -->
 * <table class='confluenceTable' summary=''>
 * <tr>
 * <th class='confluenceTh'> Parameter </th>
 * <th class='confluenceTh'> Required </th>
 * <th class='confluenceTh'> Default </th>
 * <th class='confluenceTh'> Notes </th>
 * </tr>
 * <tr>
 * <td class='confluenceTd'>expression</td>
 * <td class='confluenceTd'>yes</td>
 * <td class='confluenceTd'>&nbsp;</td>
 * <td class='confluenceTd'>Boolean conditional expression</td>
 * </tr>
 * <tr>
 * <td class='confluenceTd'>message</td>
 * <td class='confluenceTd'>yes</td>
 * <td class='confluenceTd'>&nbsp;</td>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/annotations/package.html
=======================================================================
<body>Validator annotations.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/package.html
=======================================================================
<body>XWork validation subsystem.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFactory.java
=======================================================================
package com.opensymphony.xwork2.validator;

/**
 * ValidatorFactory
 *
 * <p>
 * <!-- START SNIPPET: javadoc -->
 * Validation rules are handled by validators, which must be registered with
 * the ValidatorFactory (using the registerValidator method). The simplest way to do so is to add a file name
 * validators.xml in the root of the classpath (/WEB-INF/classes) that declares
 * all the validators you intend to use.
 * <!-- END SNIPPET: javadoc -->
 * </p>
 *
 *
 * <p>
 * <b>INFORMATION</b>
 * <!-- START SNIPPET: information -->
 * validators.xml if being defined should be available in the classpath. However
 * this is not necessary, if no custom validator is needed. Predefined sets of validators
 * will automatically be picked up when defined in
 * com/opensymphony/xwork2/validator/validators/default.xml packaged in
 * in the xwork jar file. See ValidatorFactory static block for details.
 * <!-- END SNIPPET: information -->
 * </p>
 *
 * <p>
 * <b>WARNING</b>
 * <!-- START SNIPPET: warning -->
 * If custom validator is being defined and a validators.xml is created and
 * place in the classpath, do remember to copy all the other pre-defined validators
 * that is needed into the validators.xml as if not they will not be registered.
 * Once a validators.xml is detected in the classpath, the default one
 * (com/opensymphony/xwork2/validator/validators/default.xml) will not be loaded.
 * It is only loaded when a custom validators.xml cannot be found in the classpath.
 *  Be careful.
 * <!-- END SNIPPET: warning -->
 * </p>
 *
 * <p><b>Note:</b>
 * <!-- START SNIPPET: turningOnValidators -->
 * The default validationWorkflowStack already includes this.<br>
 * All that is required to enable validation for an Action is to put the
 * ValidationInterceptor in the interceptor refs of the action (see xwork.xml) like so:
 * <!-- END SNIPPET: turningOnValidators -->
 * </p>
 *
 * <pre>
 * <!-- START SNIPPET: exTurnOnValidators -->
 *     &lt;interceptor name="validator" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/&gt;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/ValidatorFileParser.java
=======================================================================
package com.opensymphony.xwork2.validator;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
 * This class serves 2 purpose :
 * <ul>
 * <li>
 * Parse the validation config file. (eg. MyAction-validation.xml, MyAction-actionAlias-validation.xml)
  * to return a List of ValidatorConfig encapsulating the validator information.
 * </li>
 * <li>
 * Parse the validator definition file, (eg. validators.xml) that defines the {@link Validator}s
 * registered with XWork.
 * </li>
 * </ul>
 *
 * @author Jason Carreira
 * @author James House
 * @author tm_jee ( tm_jee (at) yahoo.co.uk )
 * @author Rob Harrop
 * @author Rene Gielen
 *
 * @see com.opensymphony.xwork2.validator.ValidatorConfig
 */
public interface ValidatorFileParser {
    /**
     * Parse resource for a list of ValidatorConfig objects (configuring which validator(s) are
     * being applied to a particular field etc.)
     *
     * @param validatorFactory a validator factory
     * @param is input stream to the resource
     * @param resourceName file name of the resource
     * @return List list of ValidatorConfig
     */
    List<ValidatorConfig> parseActionValidatorConfigs(ValidatorFactory validatorFactory, InputStream is, String resourceName);

    /**
     * Parses validator definitions (register various validators with XWork).
     *
     * @param validators map of validators
     * @param is The input stream
     * @param resourceName The location of the input stream
     */
    void parseValidatorDefinitions(Map<String,String> validators, InputStream is, String resourceName);
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConditionalVisitorFieldValidator.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.validator.ValidationException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * <!-- START SNIPPET: javadoc -->
 * The ConditionalVisitorFieldValidator will forward validation to the VisitorFieldValidator
 * only if the expression will evaluate to true.
 * <!-- END SNIPPET: javadoc -->
 *
 * <!-- START SNIPPET: parameters -->
 * <ul>
 *     <li>expression - an OGNL expression which should evaluate to true to pass validation to the VisitorFieldValidator</li>
 * </ul>
 * <!-- END SNIPPET: parameters -->
 *
 * <pre>
 * <!-- START SNIPPET: example -->
 * &lt;field name="colleaguePosition"&gt;
 *     &lt;field-validator type="conditionalvisitor"&gt;
 *         &lt;param name="expression"&gt;reason == 'colleague' and colleaguePositionID == 'OTHER'&lt;/param&gt;
 *         &lt;message&gt;You must select reason Colleague and position Other&lt;/message&gt;
 *     &lt;/field-validator&gt;
 * &lt;/field&gt;
 * <!-- END SNIPPET: example -->
 * </pre>
 *
 * @author Matt Raible
 */
public class ConditionalVisitorFieldValidator extends VisitorFieldValidator {

    private static final Logger LOG = LogManager.getLogger(ConditionalVisitorFieldValidator.class);

    private String expression;

    public void setExpression(String expression) {
        this.expression = expression;
    }

    public String getExpression() {
        return expression;
    }

    /**
     * If expression evaluates to true, invoke visitor validation.
     *
     * @param object the object being validated
     * @throws ValidationException in case of validation problems

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/validator/validators/package.html
=======================================================================
<body>XWork default validator classes.</body>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java
=======================================================================
package com.opensymphony.xwork2;

/**
 * Constants used across framework
 */
@Deprecated
public final class XWorkConstants {

    @Deprecated
    public static final String COLLECTION_CONVERTER = "collectionConverter";
    @Deprecated
    public static final String DATE_CONVERTER = "dateConverter";
    @Deprecated
    public static final String NUMBER_CONVERTER = "numberConverter";
    @Deprecated
    public static final String STRING_CONVERTER = "stringConverter";
    @Deprecated
    public static final String ARRAY_CONVERTER = "arrayConverter";
    @Deprecated
    public static final String DEV_MODE = "devMode";
    @Deprecated
    public static final String LOG_MISSING_PROPERTIES = "logMissingProperties";
    @Deprecated
    public static final String ENABLE_OGNL_EXPRESSION_CACHE = "enableOGNLExpressionCache";
    @Deprecated
    public static final String ENABLE_OGNL_EVAL_EXPRESSION = "enableOGNLEvalExpression";
    @Deprecated
    public static final String RELOAD_XML_CONFIGURATION = "reloadXmlConfiguration";
    @Deprecated
    public static final String ALLOW_STATIC_METHOD_ACCESS = "allowStaticMethodAccess";
    @Deprecated
    public static final String XWORK_LOGGER_FACTORY = "xwork.loggerFactory";
    @Deprecated
    public static final String OGNL_EXCLUDED_CLASSES = "ognlExcludedClasses";
    @Deprecated
    public static final String OGNL_EXCLUDED_PACKAGE_NAME_PATTERNS = "ognlExcludedPackageNamePatterns";
    @Deprecated
    public static final String OGNL_EXCLUDED_PACKAGE_NAMES = "ognlExcludedPackageNames";
    @Deprecated
    public static final String ADDITIONAL_EXCLUDED_PATTERNS = "additionalExcludedPatterns";
    @Deprecated
    public static final String ADDITIONAL_ACCEPTED_PATTERNS = "additionalAcceptedPatterns";
    @Deprecated
    public static final String OVERRIDE_EXCLUDED_PATTERNS = "overrideExcludedPatterns";
    @Deprecated
    public static final String OVERRIDE_ACCEPTED_PATTERNS = "overrideAcceptedPatterns";

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/components/DateTextField.java
=======================================================================
package org.apache.struts2.components;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.views.annotations.StrutsTag;
import org.apache.struts2.views.annotations.StrutsTagAttribute;

import com.opensymphony.xwork2.util.ValueStack;

@StrutsTag(
    name="datetextfield",
    tldTagClass="org.apache.struts2.views.jsp.ui.DateTextFieldTag",
    description="Render an HTML input fields with the date time",
    allowDynamicAttributes=true)
public class DateTextField extends UIBean {
    /**
     * The name of the default template for the DateTextFieldTag
     */
    final public static String TEMPLATE = "datetextfield";
    
    protected String format;

    public DateTextField(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
        super(stack, request, response);
    }

    protected String getDefaultTemplate() {
        return TEMPLATE;
    }

    protected void evaluateExtraParams() {
        super.evaluateExtraParams();

        if (format != null) {
            addParameter("format", findValue(format, String.class));
        }
    }

    @StrutsTagAttribute(description="Date format attribute", required=true, type="String")
    public void setFormat(String format) {
        this.format = format;
    }

	@SuppressWarnings("unchecked")
	@Override
	protected Class getValueClassType() {
		return null;
	}
    

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/config/AbstractBeanSelectionProvider.java
=======================================================================
package org.apache.struts2.config;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.BeanSelectionProvider;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.inject.*;
import com.opensymphony.xwork2.util.ClassLoaderUtil;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Properties;

/**
 * TODO lukaszlenart: write a JavaDoc
 */
public abstract class AbstractBeanSelectionProvider implements BeanSelectionProvider {

    private static final Logger LOG = LogManager.getLogger(AbstractBeanSelectionProvider.class);

    public static final String DEFAULT_BEAN_NAME = "struts";

    public void destroy() {
        // NO-OP
    }

    public void loadPackages() throws ConfigurationException {
        // NO-OP
    }

    public void init(Configuration configuration) throws ConfigurationException {
        // NO-OP
    }

    public boolean needsReload() {
        return false;
    }

    protected void alias(Class type, String key, ContainerBuilder builder, Properties props) {
        alias(type, key, builder, props, Scope.SINGLETON);
    }

    protected void alias(Class type, String key, ContainerBuilder builder, Properties props, Scope scope) {
        if (!builder.contains(type, Container.DEFAULT_NAME)) {
            String foundName = props.getProperty(key, DEFAULT_BEAN_NAME);
            if (builder.contains(type, foundName)) {
                LOG.trace("Choosing bean ({}) for ({})", foundName, type.getName());
                builder.alias(type, foundName, Container.DEFAULT_NAME);
            } else {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/ContainerHolder.java
=======================================================================
package org.apache.struts2.dispatcher;

import com.opensymphony.xwork2.inject.Container;

/**
 * Simple class to hold Container instance per thread to minimise number of attempts
 * to read configuration and build each time a new configuration.
 *
 * As ContainerHolder operates just per thread (which means per request) there is no need
 * to check if configuration changed during the same request. If changed between requests,
 * first call to store Container in ContainerHolder will be with the new configuration.
 */
class ContainerHolder {

    private static ThreadLocal<Container> instance = new ThreadLocal<>();

    public static void store(Container instance) {
        ContainerHolder.instance.set(instance);
    }

    public static Container get() {
        return ContainerHolder.instance.get();
    }

    public static void clear() {
        ContainerHolder.instance.remove();
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
=======================================================================
package org.apache.struts2.dispatcher;

import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.location.Location;
import com.opensymphony.xwork2.util.location.LocationUtils;
import freemarker.template.Template;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsException;
import org.apache.struts2.views.freemarker.FreemarkerManager;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * Default implementation of {@link org.apache.struts2.dispatcher.DispatcherErrorHandler}
 * which sends Error Report in devMode or {@link javax.servlet.http.HttpServletResponse#sendError} otherwise.
 */
public class DefaultDispatcherErrorHandler implements DispatcherErrorHandler {

    private static final Logger LOG = LogManager.getLogger(DefaultDispatcherErrorHandler.class);

    private FreemarkerManager freemarkerManager;
    private boolean devMode;
    private Template template;

    @Inject
    public void setFreemarkerManager(FreemarkerManager freemarkerManager) {
        this.freemarkerManager = freemarkerManager;
    }

    @Inject(StrutsConstants.STRUTS_DEVMODE)
    public void setDevMode(String devMode) {
        this.devMode = BooleanUtils.toBoolean(devMode);
    }

    public void init(ServletContext ctx) {
        try {
            freemarker.template.Configuration config = freemarkerManager.getConfiguration(ctx);
            template = config.getTemplate("/org/apache/struts2/dispatcher/error.ftl");
        } catch (IOException e) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
=======================================================================
package org.apache.struts2.dispatcher;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Implementation of this interface is used to handle internal errors or missing resources.
 * Basically it sends back HTTP error codes or error page depends on requirements.
 */
public interface DispatcherErrorHandler {

    /**
     * Init instance after creating {@link org.apache.struts2.dispatcher.Dispatcher}
     * @param ctx current {@link javax.servlet.ServletContext}
     */
    public void init(ServletContext ctx);

    /**
     * Handle passed error code or exception
     *
     * @param request current {@link javax.servlet.http.HttpServletRequest}
     * @param response current {@link javax.servlet.http.HttpServletResponse}
     * @param code HTTP Error Code, see {@link javax.servlet.http.HttpServletResponse} for possible error codes
     * @param e Exception to report
     */
    public void handleError(HttpServletRequest request, HttpServletResponse response, int code, Exception e);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
=======================================================================
package org.apache.struts2.dispatcher.mapper;

import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.RequestUtils;
import org.apache.struts2.StrutsConstants;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * <!-- START SNIPPET: description -->
 * <p>
 * A prefix based action mapper that is capable of delegating to other {@link ActionMapper}s based on the request's prefix.<br>
 * It is configured through struts.xml<br>
 * For example, with the following entries in struts.properties
 * </p>
 *
 * <pre>
 * &lt;constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/&gt;
 * &lt;constant name="struts.mapper.prefixMapping" value="/communities:pseudoRestful,/communityTags:pseudoRestful,/events:pseudoRestful,/mediaList:pseudoRestful,/users:pseudoRestful,/community:struts,/communityTag:struts,/event:struts,/media:struts,/user:struts,:struts"/&gt;
 * </pre>
 *
 * <p>
 * When {@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} or
 * {@link PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)} is invoked,
 * {@link PrefixBasedActionMapper} will check each possible prefix (url prefix terminating just before a /) to find the most specific ActionMapper that returns a mapping when asked to map the request.  If none are found, null is returned for both
 * {@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} and
 * {@link PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)} methods.
 * </p>
 *
 * <!-- END SNIPPET: description -->
 *
 * @see ActionMapper
 * @see ActionMapping
 */
public class PrefixBasedActionMapper extends DefaultActionMapper implements ActionMapper {

    private static final Logger LOG = LogManager.getLogger(PrefixBasedActionMapper.class);

    protected Container container;
    protected Map<String, ActionMapper> actionMappers = new HashMap<>();

    @Inject

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/MockDispatcher.java
=======================================================================
package org.apache.struts2.dispatcher;

import com.opensymphony.xwork2.config.ConfigurationManager;

import javax.servlet.ServletContext;
import java.util.HashMap;
import java.util.Map;

public class MockDispatcher extends Dispatcher {

    private final ConfigurationManager copyConfigurationManager;

    public MockDispatcher(ServletContext servletContext, Map<String, String> context, ConfigurationManager configurationManager) {
        super(servletContext, context);
        this.copyConfigurationManager = configurationManager;
    }

    @Override
    public void init() {
        super.init();
        ContainerHolder.clear();
        this.configurationManager = copyConfigurationManager;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
=======================================================================
package org.apache.struts2.dispatcher.multipart;

import com.opensymphony.xwork2.LocaleProvider;
import com.opensymphony.xwork2.LocaleProviderFactory;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.dispatcher.LocalizedMessage;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

/**
 * Abstract class with some helper methods, it should be used
 * when starting development of another implementation of {@link MultiPartRequest}
 */
public abstract class AbstractMultiPartRequest implements MultiPartRequest {

    private static final Logger LOG = LogManager.getLogger(AbstractMultiPartRequest.class);

    /**
     * Defines the internal buffer size used during streaming operations.
     */
    public static final int BUFFER_SIZE = 10240;

    /**
     * Internal list of raised errors to be passed to the the Struts2 framework.
     */
    protected List<LocalizedMessage> errors = new ArrayList<>();

    /**
     * Specifies the maximum size of the entire request.
     */
    protected long maxSize;
    protected boolean maxSizeProvided;

    /**
     * Specifies the buffer size to use during streaming.
     */
    protected int bufferSize = BUFFER_SIZE;

    protected String defaultEncoding;

    /**
     * Localization to be used regarding errors.
     */
    protected Locale defaultLocale = Locale.ENGLISH;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
=======================================================================
package org.apache.struts2.dispatcher.multipart;

import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.dispatcher.LocalizedMessage;

import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.*;

/**
 * Multi-part form data request adapter for Jakarta Commons FileUpload package that
 * leverages the streaming API rather than the traditional non-streaming API.
 *
 * For more details see WW-3025
 *
 * @author Chris Cranford
 * @since 2.3.18
 */
public class JakartaStreamMultiPartRequest extends AbstractMultiPartRequest {

    static final Logger LOG = LogManager.getLogger(JakartaStreamMultiPartRequest.class);

    /**
     * Map between file fields and file data.
     */
    protected Map<String, List<FileInfo>> fileInfos = new HashMap<>();

    /**
     * Map between non-file fields and values.
     */
    protected Map<String, List<String>> parameters = new HashMap<>();

    /* (non-Javadoc)
     * @see org.apache.struts2.dispatcher.multipart.MultiPartRequest#cleanUp()
     */
    public void cleanUp() {
        LOG.debug("Performing File Upload temporary storage cleanup.");
        for (String fieldName : fileInfos.keySet()) {
            for (FileInfo fileInfo : fileInfos.get(fieldName)) {
                File file = fileInfo.getFile();
                LOG.debug("Deleting file '{}'.", file.getName());
                if (!file.delete()) {
                    LOG.warn("There was a problem attempting to delete file '{}'.", file.getName());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/dispatcher/Parameter.java
=======================================================================
package org.apache.struts2.dispatcher;

import java.util.Objects;

import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public interface Parameter {

    String getName();

    String getValue();

    boolean isDefined();

    boolean isMultiple();

    String[] getMultipleValues();

    Object getObject();

    class Request implements Parameter {

        private static final Logger LOG = LogManager.getLogger(Request.class);

        private final String name;
        private final Object value;

        public Request(String name, Object value) {
            this.name = name;
            this.value = value;
        }

        @Override
        public String getName() {
            return name;
        }

        @Override
        public String getValue() {
            String[] values = toStringArray();
            return (values != null && values.length > 0) ? values[0] : null;
        }

        private String[] toStringArray() {
            if (value == null) {
                LOG.trace("The value is null, empty array of string will be returned!");
                return new String[]{};
            } else if (value.getClass().isArray()) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
=======================================================================
package org.apache.struts2.factory;

import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.ActionProxyFactory;
import com.opensymphony.xwork2.DefaultActionProxyFactory;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.StrutsConstants;

import java.util.HashMap;
import java.util.Map;

/**
 * <!-- START SNIPPET: description -->
 * <p>
 * Prefix based factory should be used with {@link org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper}
 * to use appropriate {@link com.opensymphony.xwork2.ActionProxyFactory} connected with given
 * {@link org.apache.struts2.dispatcher.mapper.ActionMapper}
 * </p>
 *
 * <p>
 * Add below entry to struts.xml to enable the factory:
 * </p>
 *
 * <pre>
 * &lt;constant name="struts.actionProxyFactory" value="prefix"/&gt;
 * </pre>
 *
 * <p>
 * The factory will use the same set of patterns as defined with:
 * </p>
 *
 * <pre>
 * &lt;constant name="struts.mapper.prefixMapping" value="..."/&gt;
 * </pre>
 * <!-- END SNIPPET: description -->
 */
public class PrefixBasedActionProxyFactory extends DefaultActionProxyFactory {

    private static final Logger LOG = LogManager.getLogger(PrefixBasedActionProxyFactory.class);

    private Map<String, ActionProxyFactory> actionProxyFactories = new HashMap<>();
    private ActionProxyFactory defaultFactory;

    @Inject
    public void setContainer(Container container) {
        this.container = container;
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/factory/StrutsResultFactory.java
=======================================================================
package org.apache.struts2.factory;

import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.factory.ResultFactory;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.reflection.ReflectionException;
import com.opensymphony.xwork2.util.reflection.ReflectionExceptionHandler;
import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
import com.opensymphony.xwork2.result.ParamNameAwareResult;

import java.util.Map;

/**
 * Default implementation which uses {@link com.opensymphony.xwork2.result.ParamNameAwareResult} to accept or throw away parameters
 */
public class StrutsResultFactory implements ResultFactory {

    protected ObjectFactory objectFactory;
    protected ReflectionProvider reflectionProvider;

    @Inject
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    @Inject
    public void setReflectionProvider(ReflectionProvider provider) {
        this.reflectionProvider = provider;
    }

    public Result buildResult(ResultConfig resultConfig, Map<String, Object> extraContext) throws Exception {
        String resultClassName = resultConfig.getClassName();
        Result result = null;

        if (resultClassName != null) {
            result = (Result) objectFactory.buildBean(resultClassName, extraContext);
            Map<String, String> params = resultConfig.getParams();
            if (params != null) {
                setParameters(extraContext, result, params);
            }
        }
        return result;
    }

    protected void setParameters(Map<String, Object> extraContext, Result result, Map<String, String> params) {
        for (Map.Entry<String, String> paramEntry : params.entrySet()) {
            try {
                String name = paramEntry.getKey();

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java
=======================================================================
package org.apache.struts2.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.struts2.dispatcher.Parameter;
import org.apache.struts2.dispatcher.HttpParameters;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Map.Entry;

public class DateTextFieldInterceptor extends AbstractInterceptor {

    private static final Logger LOG = LogManager.getLogger(DateTextFieldInterceptor.class);

    public static enum DateWord {

		S("millisecond", 3, "SSS"),
		s("second", 2, "ss"),
		m("minute", 2, "mm"),
		H("hour", 2, "HH"),
		d("day", 2, "dd"),
		M("month", 2, "MM"),
		y("year", 4, "yyyy");

		private String description;
		private Integer length;
		private String dateType;

        DateWord(String n, Integer l, String t) {
            description = n;
			length = l;
			dateType = t;
		}

        public String getDescription() {
            return description;
        }

        public Integer getLength() {
            return length;
        }

        public String getDateType() {
            return dateType;
        }


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/result/Redirectable.java
=======================================================================
package org.apache.struts2.result;

/**
 * Marking interface for results which perform browser redirection
 */
public interface Redirectable {

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ComponentUtils.java
=======================================================================
package org.apache.struts2.util;

import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.views.util.ContextUtil;

/**
 * Various static methods used with components
 */
public class ComponentUtils {

    /**
     * If altSyntax (%{...}) is applied, simply strip the "%{" and "}" off.
     *
     * @param stack the ValueStack where the context value is searched for.
     * @param expr  the expression (must be not null)
     * @return the stripped expression if altSyntax is enabled. Otherwise
     *         the parameter expression is returned as is.
     */
    public static String stripExpressionIfAltSyntax(ValueStack stack, String expr) {
        if (altSyntax(stack)) {
            // does the expression start with %{ and end with }? if so, just cut it off!
            if (isExpression(expr)) {
                return expr.substring(2, expr.length() - 1);
            }
        }
        return expr;
    }

    /**
     * Is the altSyntax enabled? [TRUE]
     *
     * @param stack the ValueStack where the context value is searched for.
     * @return true if altSyntax is activated. False otherwise.
     *         See <code>struts.properties</code> where the altSyntax flag is defined.
     */
    public static boolean altSyntax(ValueStack stack) {
        return ContextUtil.isUseAltSyntax(stack.getContext());
    }

    /**
     * Check if object is expression base on altSyntax
     *
     * @param expr to treat as an expression
     * @return true if it is an expression
     */
    public static boolean isExpression(String expr) {
        return expr != null && expr.startsWith("%{") && expr.endsWith("}");
    }

    public static boolean containsExpression(String expr) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/ContentTypeMatcher.java
=======================================================================
package org.apache.struts2.util;

import java.util.Map;

/**
 * Matches content type of uploaded files, similar to {@link com.opensymphony.xwork2.util.PatternMatcher}
 *
 * @since 2.3.22
 */
public interface ContentTypeMatcher<E extends Object> {

    E compilePattern(String data);

    boolean match(Map<String,String> map, String data, E expr);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/DefaultContentTypeMatcher.java
=======================================================================
package org.apache.struts2.util;

import com.opensymphony.xwork2.util.PatternMatcher;
import com.opensymphony.xwork2.util.WildcardHelper;

import java.util.Map;

public class DefaultContentTypeMatcher implements ContentTypeMatcher<int[]> {

    private PatternMatcher<int[]> matcher = new WildcardHelper();

    public int[] compilePattern(String data) {
        return matcher.compilePattern(data);
    }

    public boolean match(Map<String, String> map, String data, int[] expr) {
        return matcher.match(map, data, expr);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java
=======================================================================
package org.apache.struts2.util.fs;

import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import com.opensymphony.xwork2.util.fs.FileRevision;
import com.opensymphony.xwork2.util.fs.JarEntryRevision;
import com.opensymphony.xwork2.util.fs.Revision;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * FileManager implementation used with JBoss AS
 */
public class JBossFileManager extends DefaultFileManager {

    private static final Logger LOG = LogManager.getLogger(JBossFileManager.class);

    private static final String JBOSS5_VFS = "vfs";
    private static final String JBOSS5_VFSZIP = "vfszip";
    private static final String JBOSS5_VFSMEMORY = "vfsmemory";
    private static final String JBOSS5_VFSFILE = "vfsfile";

    private static final String VFS_JBOSS7 = "org.jboss.vfs.VirtualFile";
    private static final String VFS_JBOSS5 = "org.jboss.virtual.VirtualFile";

    @Override
    public boolean support() {
        boolean supports = isJBoss7() || isJBoss5();
        if (supports) {
            LOG.debug("JBoss server detected, Struts 2 will use [{}] to support file system operations!", JBossFileManager.class.getSimpleName());
        }
        return supports;
    }

    private boolean isJBoss5() {
        try {
            Class.forName(VFS_JBOSS5);
            return true;
        } catch (ClassNotFoundException e) {
            LOG.debug("Cannot load [{}] class, not a JBoss 5!", VFS_JBOSS5);
            return false;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/util/URLDecoderUtil.java
=======================================================================
package org.apache.struts2.util;

import org.apache.struts2.util.tomcat.buf.UDecoder;

/**
 * URLDecoderUtil serves as a facade for a correct URL decoding implementation.
 * As of Struts 2.3.25 it uses Tomcat URLDecoder functionality rather than the one found in java.io.
 */
public class URLDecoderUtil {

    /**
     * Decodes a <code>x-www-form-urlencoded</code> string.
     * @param sequence the String to decode
     * @param charset The name of a supported character encoding.
     * @return the newly decoded <code>String</code>
     * @exception IllegalArgumentException If the encoding is not valid
     */
    public static String decode(String sequence, String charset) {
        return UDecoder.URLDecode(sequence, charset);
    }

    /**
     * Decodes a <code>x-www-form-urlencoded</code> string.
     * @param sequence the String to decode
     * @param charset The name of a supported character encoding.
     * @param isQueryString whether input is a query string. If <code>true</code> other decoding rules apply.
     * @return the newly decoded <code>String</code>
     * @exception IllegalArgumentException If the encoding is not valid
     */
    public static String decode(String sequence, String charset, boolean isQueryString) {
        return UDecoder.URLDecode(sequence, charset, isQueryString);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoader.java
=======================================================================
package org.apache.struts2.views.freemarker;

import java.io.IOException;
import java.io.Reader;
import java.util.List;

import org.apache.struts2.StrutsConstants;
import org.apache.struts2.components.template.Template;
import org.apache.struts2.components.template.TemplateEngine;

import com.opensymphony.xwork2.inject.Inject;

import freemarker.cache.TemplateLoader;

/**
 * When loading a template, if sees theme token in path, does a template search through
 * theme hierarchy for template, starting at the theme name after the token.
 */
public class FreemarkerThemeTemplateLoader implements TemplateLoader{
    private TemplateLoader parentTemplateLoader;

    // Injected
    private String themeExpansionToken;
    private TemplateEngine templateEngine;

    /**
     * Initialize the loader for the given parent.
     *
     * @param parent the parent template loader
     */
    public void init(TemplateLoader parent) {
        this.parentTemplateLoader = parent;
    }

    /** {@inheritDoc} */
    public Object findTemplateSource(String name) throws IOException {
        int tokenIndex = (name == null) ? -1 : name.indexOf(themeExpansionToken);
        if (tokenIndex < 0) {
            return parentTemplateLoader.findTemplateSource(name);
        }

        int themeEndIndex = name.lastIndexOf('/');
        if (themeEndIndex < 0) {
            return parentTemplateLoader.findTemplateSource(name);
        }

        Template template = new Template(
            name.substring(0, tokenIndex - 1), 
            name.substring(tokenIndex + themeExpansionToken.length(), themeEndIndex), 
            name.substring(themeEndIndex + 1));

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/jsp/ui/DateTextFieldTag.java
=======================================================================
package org.apache.struts2.views.jsp.ui;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.components.Component;
import org.apache.struts2.components.DateTextField;

import com.opensymphony.xwork2.util.ValueStack;

/**
 * @see DateTextField
 */
public class DateTextFieldTag extends AbstractUITag {

    private static final long serialVersionUID = 5811285953670562288L;

    protected String format;
    
    public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
        return new DateTextField(stack, req, res);
    }

    protected void populateParams() {
        super.populateParams();

        DateTextField textField = ((DateTextField) component);
        textField.setFormat(format);
    }

	public void setFormat(String format) {
		this.format = format;
	}

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
=======================================================================
package org.apache.struts2.views.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * Helper class used to build Urls or parse request params
 */
public interface UrlHelper {

    /**
     * Default HTTP port (80).
     */
    static final int DEFAULT_HTTP_PORT = 80;

    /**
     * Default HTTPS port (443).
     */
    static final int DEFAULT_HTTPS_PORT = 443;

    static final String AMP = "&amp;";

    String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params);

    String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String scheme,
                    boolean includeContext, boolean encodeResult);

    String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String scheme,
                    boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort);

    String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String scheme,
                    boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp);

    void buildParametersString(Map<String, Object> params, StringBuilder link, String paramSeparator);

    Map<String, Object> parseQueryString(String queryString, boolean forceValueArray);

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/validator/validators/default.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Definition 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">

<!-- START SNIPPET: validators-default -->
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="creditcard" class="com.opensymphony.xwork2.validator.validators.CreditCardValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!--  END SNIPPET: validators-default -->

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/com/opensymphony/xwork2/xwork-messages.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

xwork.error.action.execution=Error during Action invocation
xwork.exception.missing-action=There is no Action mapped for action name {0}.
xwork.exception.missing-package-action=There is no Action mapped for namespace {0} and action name {1}.
xwork.default.invalid.fieldvalue=Invalid field value for field "{0}".
struts.exception.method-not-allowed=Method {0} for action {1} is not allowed!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/jshint.conf.js
=======================================================================
{
    "maxparams": 5,
    "indent": true,
    "camelcase": true,
    "eqeqeq": true,
    "forin": true,
    "immed": true,
    "latedef": false,
    "noarg": true,
    "noempty": true,
    "nonew": true,
    "globals": {}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/struts-default-conversion.properties
=======================================================================
java.io.File=org.apache.struts2.conversion.UploadedFileConverter

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/css_xhtml/submit-close.ftl
=======================================================================
<#include "/${parameters.templateDir}/simple/submit-close.ftl" />
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
<#assign labelpos = parameters.form.labelposition/>
<#elseif parameters.labelposition??>
<#assign labelpos = parameters.labelposition/>
</#if>
<#if (labelpos!"top") == 'top'>
</div> <#t/>
<#else>
</span> <#t/>
</#if>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/template/simple/submit-close.ftl
=======================================================================
<#if parameters.type?? && parameters.type=="button">
<#if parameters.body?length gt 0>${parameters.body}<#elseif parameters.label??><@s.property value="parameters.label"/><#rt/></#if>
</button>
<#else>
${parameters.body}<#rt/>
</#if>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.0.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
   XWork Configuraion DTD.
   Use the following DOCTYPE.
   
   <!DOCTYPE xwork PUBLIC 
		"-//Apache Struts//XWork 1.0//EN"
		"http://struts.apache.org/dtds/xwork-1.0.dtd">
-->

<!ELEMENT xwork (package|include)*>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, global-results?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref+)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>

<!ELEMENT default-interceptor-ref (param*)>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.1.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE
   
   <!DOCTYPE xwork PUBLIC 
		"-//Apache Struts//XWork 1.0//EN"
		"http://struts.apache.org/dtds/xwork-1.1.1.dtd">
-->

<!ELEMENT xwork (package|include)*>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref+)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.2.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE xwork PUBLIC
		"-//Apache Struts//XWork 1.0//EN"
		"http://struts.apache.org/dtds/xwork-1.1.2.dtd">
-->

<!ELEMENT xwork (parameters?, (package|include)*)>

<!ELEMENT parameters (parameter*)>

<!ELEMENT parameter (#PCDATA)>
<!ATTLIST parameter
    name CDATA #REQUIRED
    value CDATA #REQUIRED
>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref+)>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-1.1.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
   XWork configuration DTD.
   Use the following DOCTYPE
   
   <!DOCTYPE xwork PUBLIC 
		"-//Apache Struts//XWork 1.0//EN"
		"http://struts.apache.org/dtds/xwork-1.1.dtd">
-->

<!ELEMENT xwork (package|include)*>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref+)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>

<!ELEMENT default-interceptor-ref (param*)>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.0.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE
   
   <!DOCTYPE xwork PUBLIC 
	"-//Apache Struts//XWork 2.0//EN"
	"http://struts.apache.org/dtds/xwork-2.0.dtd">
-->

<!ELEMENT xwork (package|include|bean|constant)*>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.3.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE xwork PUBLIC
	"-//Apache Struts//XWork 2.1.3//EN"
	"http://struts.apache.org/dtds/xwork-2.1.3.dtd">
-->

<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
<!ATTLIST xwork
    order CDATA #IMPLIED
>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.1.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE xwork PUBLIC
	"-//Apache Struts//XWork 2.1//EN"
	"http://struts.apache.org/dtds/xwork-2.1.dtd">
-->

<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.3.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE xwork PUBLIC
	"-//Apache Struts//XWork 2.3//EN"
	"http://struts.apache.org/dtds/xwork-2.3.dtd">
-->

<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
<!ATTLIST xwork
    order CDATA #IMPLIED
>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    strict-method-invocation CDATA #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-2.5.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: xworkDtd -->

<!--
   XWork configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE xwork PUBLIC
	"-//Apache Struts//XWork 2.5//EN"
	"http://struts.apache.org/dtds/xwork-2.5.dtd">
-->

<!ELEMENT xwork ((package|include|bean|constant)*, unknown-handler-stack?)>
<!ATTLIST xwork
    order CDATA #IMPLIED
>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-allowed-methods?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    strict-method-invocation (true|false) "true"
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-default.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>
    <package name="xwork-default" abstract="true">

        <!-- START SNIPPET: xwork2-default-result-types -->
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
        </result-types>

        <!-- END SNIPPET: xwork2-default-result-types -->

        <interceptors>
            <!-- START SNIPPET: xwork2-default-interceptors -->

            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="filterParams" class="com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor"/>
            <interceptor name="removeParams" class="com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="scopedModelDriven"
                         class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"/>
            <interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/>
            <interceptor name="workflow" class="com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor"/>
            <interceptor name="prepare" class="com.opensymphony.xwork2.interceptor.PrepareInterceptor"/>
            <interceptor name="conversionError" class="com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor"/>
            <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/>
            <interceptor name="i18n" class="org.apache.struts2.interceptor.I18nInterceptor"/>

            <!-- END SNIPPET: xwork2-default-interceptors -->

            <!--interceptor name="static-params" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="filter-params" class="com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor"/>
            <interceptor name="remove-params" class="com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor"/>
            <interceptor name="model-driven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="scoped-model-driven"
                         class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"/-->

            <!-- START SNIPPET: xwork2-default-interceptor-stack -->

            <interceptor-stack name="emptyStack"/>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="staticParams"/>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.2.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validators DTD.
  Used the following DOCTYPE.
  
  <!DOCTYPE validators PUBLIC 
  		"-//Apache Struts//XWork Validator 1.0.2//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
-->


<!ELEMENT validators (field|validator)+>

<!ELEMENT field (field-validator+)>
<!ATTLIST field
	name CDATA #REQUIRED
>

<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
	type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT validator (param*, message)>
<!ATTLIST validator
	type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!ELEMENT message (#PCDATA)>
<!ATTLIST message
    key CDATA #IMPLIED
>



=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.3.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validators DTD.
  Used the following DOCTYPE.

  <!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator 1.0.3//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
-->


<!ELEMENT validators (field|validator)+>

<!ELEMENT field (field-validator+)>
<!ATTLIST field
	name CDATA #REQUIRED
>

<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
	type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT validator (param*, message)>
<!ATTLIST validator
	type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!ELEMENT message (#PCDATA|param)*>
<!ATTLIST message
    key CDATA #IMPLIED
>



=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-1.0.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validators DTD.
  Used the following DOCTYPE.
  
  <!DOCTYPE validators PUBLIC 
  		"-//Apache Struts//XWork Validator 1.0//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
-->


<!ELEMENT validators (field*,validator*)>

<!ELEMENT field (field-validator+)>
<!ATTLIST field
	name CDATA #REQUIRED
>

<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
	type CDATA #REQUIRED
>

<!ELEMENT validator (param*, message)>
<!ATTLIST validator
	type CDATA #REQUIRED
>

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!ELEMENT message (#PCDATA)>
<!ATTLIST message
    key CDATA #IMPLIED
>



=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-config-1.0.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validator Config DTD.
  Used the following DOCTYPE.

  <!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator Config 1.0//EN"
  		"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
-->
<!ELEMENT validators (validator)+>

<!ELEMENT validator (#PCDATA)>
<!ATTLIST validator
	name CDATA #REQUIRED
    class CDATA #REQUIRED
>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/main/resources/xwork-validator-definition-1.0.dtd
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validators Definition DTD.
  Used the following DOCTYPE.

  <!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator Definition 1.0//EN"
  		"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
-->

<!ELEMENT validators (validator*)>

<!ELEMENT validator (#PCDATA)>
<!ATTLIST validator
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/CompositeTextProviderTest.java
=======================================================================
package com.opensymphony.xwork2;

import java.util.ArrayList;
import java.util.Locale;
import java.util.ResourceBundle;

/**
 * <code>CompositeTextProviderTest</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class CompositeTextProviderTest extends XWorkTestCase {


    private CompositeTextProvider textProvider = null;


    public void testGetText() throws Exception {
        // we should get the text from the 1st text provider
        assertEquals(textProvider.getText("name"), "1 name");
        assertEquals(textProvider.getText("age"), "1 age");
        assertEquals(textProvider.getText("dog"), "This is a dog");
        assertEquals(textProvider.getText("cat"), "This is a cat");
        assertEquals(textProvider.getText("car"), "This is a car");
        assertEquals(textProvider.getText("bike"), "This is a bike");
        assertEquals(textProvider.getText("someNonExistingKey"), "someNonExistingKey");
    }


    public void testGetTextWithDefaultValues() throws Exception {
        assertEquals(textProvider.getText("name", "some default name"), "1 name");
        assertEquals(textProvider.getText("age", "some default age"), "1 age");
        assertEquals(textProvider.getText("no_such_key", "default value"), "default value");
        assertEquals(textProvider.getText("dog", "some default dog"), "This is a dog");
        assertEquals(textProvider.getText("cat", "some default cat"), "This is a cat");
        assertEquals(textProvider.getText("car", "some default car"), "This is a car");
        assertEquals(textProvider.getText("bike", "some default bike"), "This is a bike");
    }


    public void testGetTextWithDefaultValuesAndArgs() throws Exception {
        assertEquals(textProvider.getText("goodnight", "say good night", "Adam"), "1 good night Adam");
        assertEquals(textProvider.getText("goodnight", "say good night", new String[] { "Adam" }), "1 good night Adam");
        assertEquals(textProvider.getText("goodnight", "say good night", new ArrayList<Object>() { {add("Adam");} }), "1 good night Adam");
        assertEquals(textProvider.getText("goodmorning", "say good morning", new String[] { "Jack", "Jim" }), "1 good morning Jack and Jim");
        assertEquals(textProvider.getText("goodmorning", "say good morning", new ArrayList<Object>() { { add("Jack"); add("Jim"); }}), "1 good morning Jack and Jim");
    }

    public void testHasKey() throws Exception {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/entities/AllowedMethodsTest.java
=======================================================================
package com.opensymphony.xwork2.config.entities;

import junit.framework.TestCase;

import java.util.HashSet;
import java.util.Set;

public class AllowedMethodsTest extends TestCase {

    public void testLiteralMethods() throws Exception {
        // given
        String method = "myMethod";
        Set<String> literals = new HashSet<>();
        literals.add(method);

        // when
        AllowedMethods allowedMethods = AllowedMethods.build(false, literals, ActionConfig.DEFAULT_METHOD_REGEX);

        // then
        assertEquals(1, allowedMethods.list().size());
        assertTrue(allowedMethods.isAllowed(method));
        assertFalse(allowedMethods.isAllowed("someOtherMethod"));
    }

    public void testWildcardMethodsWithNoSMI() throws Exception {
        // given
        String method = "my{1}";
        Set<String> literals = new HashSet<>();
        literals.add(method);

        // when
        AllowedMethods allowedMethods = AllowedMethods.build(false, literals, ActionConfig.DEFAULT_METHOD_REGEX);

        // then
        assertEquals(1, allowedMethods.list().size());
        assertTrue(allowedMethods.isAllowed("myMethod"));
        assertFalse(allowedMethods.isAllowed("someOtherMethod"));
    }

    public void testWildcardMethodsWithSMI() throws Exception {
        // given
        Set<String> literals = new HashSet<>();
        literals.add("my{1}");
        literals.add("myMethod");

        // when
        AllowedMethods allowedMethods = AllowedMethods.build(true, literals, ActionConfig.DEFAULT_METHOD_REGEX);

        // then
        assertEquals(1, allowedMethods.list().size());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/EnvsValueSubstitutorTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import org.apache.struts2.StrutsInternalTestCase;


public class EnvsValueSubstitutorTest extends StrutsInternalTestCase {

    public void testSimpleValue() throws Exception {
        // given
        String expected = System.getenv("USER");
        ValueSubstitutor substitutor = new EnvsValueSubstitutor();

        // when
        String actual = substitutor.substitute("${env.USER}");

        // then
        assertEquals(expected, actual);
    }

    public void testNoSubstitution() throws Exception {
        // given
        ValueSubstitutor substitutor = new EnvsValueSubstitutor();

        // when
        String actual = substitutor.substitute("val1");

        // then
        assertEquals("val1", actual);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/InterceptorBuilderTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.entities.InterceptorConfig;
import com.opensymphony.xwork2.config.entities.InterceptorMapping;
import com.opensymphony.xwork2.config.entities.InterceptorStackConfig;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.interceptor.Interceptor;

import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;

/**
 * <code>InterceptorBuilderTest</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class InterceptorBuilderTest extends XWorkTestCase {

    ObjectFactory objectFactory;

    @Override
    public void setUp() throws Exception {
        super.setUp();
        objectFactory = container.getInstance(ObjectFactory.class);
    }
    
    /**
     * Try to test this
     * <interceptor-ref name="interceptorStack1">
     * <param name="interceptor1.param1">interceptor1_value1</param>
     * <param name="interceptor1.param2">interceptor1_value2</param>
     * <param name="interceptor2.param1">interceptor2_value1</param>
     * <param name="interceptor2.param2">interceptor2_value2</param>
     * </interceptor-ref>
     *
     * @throws Exception
     */
    public void testBuildInterceptor_1() throws Exception {
        InterceptorStackConfig interceptorStackConfig1 = new InterceptorStackConfig.Builder("interceptorStack1").build();

        InterceptorConfig interceptorConfig1 = new InterceptorConfig.Builder("interceptor1", "com.opensymphony.xwork2.config.providers.InterceptorBuilderTest$MockInterceptor1").build();

        InterceptorConfig interceptorConfig2 = new InterceptorConfig.Builder("interceptor2", "com.opensymphony.xwork2.config.providers.InterceptorBuilderTest$MockInterceptor2").build();



=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.Action;

/**
 * Action with no public constructor taking no args.
 *
 * <p>
 * Used for unit test of {@link com.opensymphony.xwork2.config.providers.XmlConfigurationProvider}.
 * </p>
 *
 * @author Claus Ibsen
 */
public class NoNoArgsConstructorAction implements Action {

    private int foo;

    public NoNoArgsConstructorAction(int foo) {
        this.foo = foo;
    }

    public String execute() throws Exception {
        return SUCCESS;
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderExceptionMappingsTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.ActionChainResult;
import com.opensymphony.xwork2.SimpleAction;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.ExceptionMappingConfig;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.mock.MockResult;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * User: Matthew E. Porter (matthew dot porter at metissian dot com)
 * Date: Aug 15, 2005
 * Time: 2:05:36 PM
 */
public class XmlConfigurationProviderExceptionMappingsTest extends ConfigurationTestBase {

    public void testActions() throws ConfigurationException {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml";
        ConfigurationProvider provider = buildConfigurationProvider(filename);

        List<ExceptionMappingConfig> exceptionMappings = new ArrayList<>();
        HashMap<String, String> parameters = new HashMap<>();
        HashMap<String, ResultConfig> results = new HashMap<>();

        exceptionMappings.add(
                new ExceptionMappingConfig.Builder("spooky-result", "com.opensymphony.xwork2.SpookyException", "spooky-result")
                        .build());
        results.put("spooky-result", new ResultConfig.Builder("spooky-result", MockResult.class.getName()).build());

        Map<String, String> resultParams = new HashMap<>();
        resultParams.put("actionName", "bar.vm");
        results.put("specificLocationResult",
                new ResultConfig.Builder("specificLocationResult", ActionChainResult.class.getName())
                        .addParams(resultParams)
                        .build());

        ActionConfig expectedAction = new ActionConfig.Builder("default", "Bar", SimpleAction.class.getName())
            .addParams(parameters)
            .addResultConfigs(results)
            .addExceptionMappings(exceptionMappings)
            .build();


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderGlobalResultInheritenceTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;


import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationManager;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.inject.Container;

/**
 * <code>XmlConfigurationProviderGlobalResultInheritenceTest</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @author tm_jee
 * @version $Id$
 */
public class XmlConfigurationProviderGlobalResultInheritenceTest extends ConfigurationTestBase {

    public void testGlobalResultInheritenceTest() throws Exception {
        ConfigurationProvider provider = buildConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml");

        ConfigurationManager configurationManager = new ConfigurationManager(Container.DEFAULT_NAME);
        configurationManager.addContainerProvider(new XWorkConfigurationProvider());
        configurationManager.addContainerProvider(provider);
        Configuration configuration = configurationManager.getConfiguration();

        ActionConfig parentActionConfig = configuration.getRuntimeConfiguration().getActionConfig("/base", "parentAction");
        ActionConfig anotherActionConfig = configuration.getRuntimeConfiguration().getActionConfig("/base", "anotherAction");
        ActionConfig childActionConfig = configuration.getRuntimeConfiguration().getActionConfig("/base", "childAction");

        ResultConfig parentResultConfig1 = parentActionConfig.getResults().get("mockResult1");
        ResultConfig parentResultConfig2 = parentActionConfig.getResults().get("mockResult2");
        ResultConfig anotherResultConfig1 = anotherActionConfig.getResults().get("mockResult1");
        ResultConfig anotherResultConfig2 = anotherActionConfig.getResults().get("mockResult2");
        ResultConfig childResultConfig1 = childActionConfig.getResults().get("mockResult1");
        ResultConfig childResultConfig2 = childActionConfig.getResults().get("mockResult2");

        System.out.println(parentResultConfig1.getParams().get("identity"));
        System.out.println(parentResultConfig2.getParams().get("identity"));
        System.out.println(anotherResultConfig1.getParams().get("identity"));
        System.out.println(anotherResultConfig2.getParams().get("identity"));
        System.out.println(childResultConfig1.getParams().get("identity"));
        System.out.println(childResultConfig2.getParams().get("identity"));

        assertFalse(parentResultConfig1 == anotherResultConfig1);
        assertFalse(parentResultConfig2 == anotherResultConfig2);

        assertFalse(parentResultConfig1 == childResultConfig1);
        assertTrue(parentResultConfig2 == childResultConfig2);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderInterceptorStackParamOverridingTest.java
=======================================================================
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;
import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;

import java.util.ArrayList;
import java.util.List;

/**
 * <code>XmlConfigurationProviderInterceptorStackParamOverridingTest</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class XmlConfigurationProviderInterceptorStackParamOverridingTest extends XWorkTestCase {
    
    public void testInterceptorStackParamOveriding() throws Exception {
    	DefaultConfiguration conf = new DefaultConfiguration();
    	final XmlConfigurationProvider p = new XmlConfigurationProvider("com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml");
        DefaultFileManagerFactory factory = new DefaultFileManagerFactory();
        factory.setContainer(container);
        factory.setFileManager(new DefaultFileManager());
        p.setFileManagerFactory(factory);
    	configurationManager.addContainerProvider(p);
        conf.reloadContainer(new ArrayList<ContainerProvider>() {
			{
				add(new XWorkConfigurationProvider());
				add(p);
			}
		});


    	RuntimeConfiguration rtConf = conf.getRuntimeConfiguration();

    	ActionConfig actionOne = rtConf.getActionConfig("", "actionOne");
    	ActionConfig actionTwo = rtConf.getActionConfig("", "actionTwo");

    	List actionOneInterceptors = actionOne.getInterceptors();
    	List actionTwoInterceptors = actionTwo.getInterceptors();

    	assertNotNull(actionOne);
    	assertNotNull(actionTwo);
    	assertNotNull(actionOneInterceptors);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderUnknownHandlerStackTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.UnknownHandlerManager;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.UnknownHandlerConfig;
import com.opensymphony.xwork2.DefaultUnknownHandlerManager;

import java.util.List;

public class XmlConfigurationProviderUnknownHandlerStackTest extends ConfigurationTestBase {

    public void testStackWithElements() throws ConfigurationException {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml";
        ConfigurationProvider provider = buildConfigurationProvider(filename);
        loadConfigurationProviders(provider);
        configurationManager.reload();

        List<UnknownHandlerConfig> unknownHandlerStack = configuration.getUnknownHandlerStack();
        assertNotNull(unknownHandlerStack);
        assertEquals(2, unknownHandlerStack.size());

        assertEquals("uh1", unknownHandlerStack.get(0).getName());
        assertEquals("uh2", unknownHandlerStack.get(1).getName());

        UnknownHandlerManager unknownHandlerManager = new DefaultUnknownHandlerManager();
        container.inject(unknownHandlerManager);
        assertTrue(unknownHandlerManager.hasUnknownHandlers());
    }

    public void testEmptyStack() throws ConfigurationException {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml";
        ConfigurationProvider provider = buildConfigurationProvider(filename);
        loadConfigurationProviders(provider);
        configurationManager.reload();

        List<UnknownHandlerConfig> unknownHandlerStack = configuration.getUnknownHandlerStack();
        assertNull(unknownHandlerStack);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/config/providers/XmlHelperTest.java
=======================================================================
package com.opensymphony.xwork2.config.providers;

import com.opensymphony.xwork2.XWorkTestCase;
import static org.easymock.EasyMock.*;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import java.util.Map;

/**
 * <code>XmlHelperTest</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class XmlHelperTest extends XWorkTestCase {

    public void testGetContent1() throws Exception {
        // set up Node
        Node mockNode = (Node) createMock(Node.class);

        expect(mockNode.getNodeValue()).andStubReturn("testing testing 123");
        expect(mockNode.getNodeType()).andStubReturn(Node.TEXT_NODE);


        // set up NodeList
        NodeList mockNodeList = (NodeList) createMock(NodeList.class);

        expect(mockNodeList.getLength()).andStubReturn(1);
        expect(mockNodeList.item(0)).andStubReturn(mockNode);


        // set up Element
        Element mockElement = (Element) createMock(Element.class);

        expect(mockElement.getChildNodes()).andStubReturn(mockNodeList);

        replay(mockNode, mockNodeList, mockElement);

        String result = XmlHelper.getContent(mockElement);

        assertEquals(result, "testing testing 123");
        
        verify(mockNode, mockNodeList, mockElement);
    }


    public void testGetContent2() throws Exception {
        // set up Node

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/FooNumberConverter.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import java.util.Map;

public class FooNumberConverter extends DefaultTypeConverter {
    @Override
    public Object convertValue(Map<String, Object> map, Object object, Class aClass) {
        String s = (String) object;

        int length = s.length();
        StringBuilder r = new StringBuilder();
        for (int i = length; i > 0; i--) {
            r.append(s.charAt(i - 1));
        }

        return super.convertValue(map, r.toString(), aClass);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/NumberConverterTest.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.SimpleFooAction;
import com.opensymphony.xwork2.XWorkTestCase;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

public class NumberConverterTest extends XWorkTestCase {

    public void testStringToNumberConversionPL() throws Exception {
        // given
        NumberConverter converter = new NumberConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        SimpleFooAction foo = new SimpleFooAction();

        // when
        Object value = converter.convertValue(context, foo, null, "id", "1234", Integer.class);

        // then
        assertEquals(1234, value);
    }

    public void testStringToNumberConversionUS() throws Exception {
        // given
        NumberConverter converter = new NumberConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("en", "US"));

        SimpleFooAction foo = new SimpleFooAction();

        // when
        Object value = converter.convertValue(context, foo, null, "id", ",1234", Integer.class);

        // then
        assertEquals(1234, value);
    }

    public void testStringToBigDecimalConversionPL() throws Exception {
        // given
        NumberConverter converter = new NumberConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/ParentClass.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

/**
 * <code>ParentClass</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class ParentClass {

    public enum NestedEnum {
        TEST,
        TEST2,
        TEST3
    }


    private NestedEnum value;

    public void setValue(NestedEnum value) {
        this.value = value;
    }

    public NestedEnum getValue() {
        return value;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/conversion/impl/StringConverterTest.java
=======================================================================
package com.opensymphony.xwork2.conversion.impl;

import com.opensymphony.xwork2.ActionContext;
import org.apache.struts2.StrutsInternalTestCase;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

public class StringConverterTest extends StrutsInternalTestCase {

    public void testIntegerToStringConversionPL() throws Exception {
        // given
        StringConverter converter = new StringConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        // when
        Object value = converter.convertValue(context, null, null, null, 234, null);

        // then
        assertEquals("234", value);
    }

    public void testDoubleToStringConversionPL() throws Exception {
        // given
        StringConverter converter = new StringConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        // when
        Object value = converter.convertValue(context, null, null, null, 234.12, null);

        // then
        assertEquals("234,12", value);
    }

    public void testBigDecimalToStringConversionPL() throws Exception {
        // given
        StringConverter converter = new StringConverter();
        Map<String, Object> context = new HashMap<>();
        context.put(ActionContext.LOCALE, new Locale("pl", "PL"));

        // when
        Object value = converter.convertValue(context, null, null, null, BigDecimal.valueOf(234.12), null);

        // then
        assertEquals("234,12", value);
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionInvocationTest.java
=======================================================================
package com.opensymphony.xwork2;

import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.InterceptorMapping;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockActionProxy;
import com.opensymphony.xwork2.mock.MockContainer;
import com.opensymphony.xwork2.mock.MockInterceptor;
import com.opensymphony.xwork2.mock.MockLazyInterceptor;
import com.opensymphony.xwork2.ognl.OgnlUtil;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import org.apache.struts2.dispatcher.HttpParameters;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * A partial test of DefaultActionInvocation.
 * Created to change interceptor chain logic.
 *
 * @author <a href="mailto:kristian at zenior.no">Kristian Rosenvold</a>
 */
public class DefaultActionInvocationTest extends XWorkTestCase {

    /**
     * Tests interceptor chain invoke.
     *
     * @throws Exception when action throws exception
     */
    public void testInvoke() throws Exception {
        List<InterceptorMapping> interceptorMappings = new ArrayList<>();
        MockInterceptor mockInterceptor1 = new MockInterceptor();
        mockInterceptor1.setFoo("test1");
        mockInterceptor1.setExpectedFoo("test1");
        interceptorMappings.add(new InterceptorMapping("test1", mockInterceptor1));
        MockInterceptor mockInterceptor2 = new MockInterceptor();
        interceptorMappings.add(new InterceptorMapping("test2", mockInterceptor2));
        mockInterceptor2.setFoo("test2");
        mockInterceptor2.setExpectedFoo("test2");
        MockInterceptor mockInterceptor3 = new MockInterceptor();
        interceptorMappings.add(new InterceptorMapping("test3", mockInterceptor3));
        mockInterceptor3.setFoo("test3");
        mockInterceptor3.setExpectedFoo("test3");

        DefaultActionInvocation defaultActionInvocation = new DefaultActionInvocationTester(interceptorMappings);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/DefaultActionProxyTest.java
=======================================================================
package com.opensymphony.xwork2;

import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import org.apache.struts2.StrutsInternalTestCase;
import org.junit.Test;

public class DefaultActionProxyTest extends StrutsInternalTestCase {

    @Test
    public void testThorwExceptionOnNotAllowedMethod() throws Exception {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml";
        loadConfigurationProviders(new XmlConfigurationProvider(filename));
        DefaultActionProxy dap = new DefaultActionProxy(new MockActionInvocation(), "strict", "Default", "notAllowed", true, true);
        container.inject(dap);

        try {
            dap.prepare();
            fail("Must throw exception!");
        } catch (Exception e) {
            assertEquals(e.getMessage(), "Method notAllowed for action Default is not allowed!");
        }
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/GenericsBean.java
=======================================================================
package com.opensymphony.xwork2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <code>GenericsBean</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class GenericsBean {
    private List<Double> blubb;
    private List<Double> getterList;
    private Map<Double, Integer> genericMap = new HashMap<>();
    private Map<Double, List<Integer>> extendedMap = new HashMap<>();

    /**
     * @return Returns the doubles.
     */
    public List<Double> getDoubles() {
        return blubb;
    }

    /**
     * @param doubles The doubles to set.
     */
    public void setDoubles(List<Double> doubles) {
        this.blubb = doubles;
    }

    public Map<Double, Integer> getGenericMap() {
        return genericMap;
    }

    public void setGenericMap(Map<Double, Integer> genericMap) {
        this.genericMap = genericMap;
    }

    public List<Double> getGetterList() {
        if ( getterList == null ) {
            getterList = new ArrayList<>(1);
            getterList.add(42.42);
        }
        return getterList;
    }

    public Map<Double, List<Integer>> getExtendedMap() {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/inject/ContainerImplTest.java
=======================================================================
package com.opensymphony.xwork2.inject;

import junit.framework.TestCase;

/**
 * ContainerImpl Tester.
 *
 * @author Lukasz Lenart
 * @version 1.0
 * @since <pre>11/26/2008</pre>
 */
public class ContainerImplTest extends TestCase {

    private Container c;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        ContainerBuilder cb = new ContainerBuilder();
        cb.constant("methodCheck.name", "Lukasz");
        cb.constant("fieldCheck.name", "Lukasz");
        c = cb.create(false);
    }

    /**
     * Inject values into field
     */
    public void testFieldInjector() throws Exception {

        FieldCheck fieldCheck = new FieldCheck();

        try {
            c.inject(fieldCheck);
            assertTrue(true);
        } catch (DependencyException expected) {
            fail("No exception expected!");
        }

        assertEquals(fieldCheck.getName(), "Lukasz");
    }

    /**
     * Inject values into method
     */
    public void testMethodInjector() throws Exception {

        MethodCheck methodCheck = new MethodCheck();

        try {
            c.inject(methodCheck);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultAction.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import com.opensymphony.xwork2.ActionSupport;

/**
 * @author martin.gilday
 *
 */
public class AllowingByDefaultAction extends ActionSupport {
	
	@Blocked
	private String name;
	private String job;
	
	public void setName(String name) {
		this.name = name;
	}
	
	public void setJob(String job) {
		this.job = job;
	}

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AllowingByDefaultModel.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;


/**
 * @author jafl
 *
 */
public class AllowingByDefaultModel {
	
	@Blocked
	private String m1;
	private String m2;
	
	public void setM1(String s) {
		m1 = s;
	}
	
	public void setM2(String s) {
		m2 = s;
	}

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import com.mockobjects.dynamic.Mock;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.StubValueStack;
import com.opensymphony.xwork2.util.ValueStack;
import junit.framework.TestCase;
import org.apache.struts2.dispatcher.HttpParameters;

import java.util.HashMap;
import java.util.Map;

/**
 * @author martin.gilday
 * @author jafl
 *
 */
public class AnnotationParameterFilterInterceptorTest extends TestCase {

	ValueStack stack;

	@Override
	protected void setUp() throws Exception {
		super.setUp();
		stack = new StubValueStack();
	}

	/**
	 * Only "name" should remain in the parameter map.  All others
	 * should be removed
	 * @throws Exception
	 */
	public void testBlockingByDefault() throws Exception {

		Map<String, Object> contextMap = new HashMap<>();
		Map<String, Object> parameterMap = new HashMap<>();
		
		parameterMap.put("job", "Baker");
		parameterMap.put("name", "Martin");

		contextMap.put(ActionContext.PARAMETERS, HttpParameters.create(parameterMap).build());
		
		Action action = new BlockingByDefaultAction();
		stack.push(action);
		
		Mock mockInvocation = new Mock(ActionInvocation.class);
		mockInvocation.expectAndReturn("getInvocationContext", new ActionContext(contextMap));
		mockInvocation.matchAndReturn("getAction", action);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultAction.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

import com.opensymphony.xwork2.ActionSupport;

/**
 * @author martin.gilday
 *
 */
@BlockByDefault
public class BlockingByDefaultAction extends ActionSupport {
	
	@Allowed
	private String name;
	private String job;
	
	public void setName(String name) {
		this.name = name;
	}
	
	public void setJob(String job) {
		this.job = job;
	}

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/BlockingByDefaultModel.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

/**
 * @author jafl
 *
 */
@BlockByDefault
public class BlockingByDefaultModel {
	
	@Allowed
	private String m1;
	private String m2;
	
	public void setM1(String s) {
		m1 = s;
	}
	
	public void setM2(String s) {
		m2 = s;
	}

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/InterfaceAnnotatedAction.java
=======================================================================
package com.opensymphony.xwork2.interceptor.annotations;

public interface InterfaceAnnotatedAction {
    @Before
    String interfaceBefore();

    @BeforeResult(priority=3)
    void interfaceBeforeResult();

    @After(priority=3)
    void interfaceAfter();
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java
=======================================================================
package com.opensymphony.xwork2.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import junit.framework.TestCase;
import org.apache.struts2.dispatcher.HttpParameters;

import static org.easymock.EasyMock.*;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author tmjee
 * @version $Date$ $Id$
 */
public class ParameterRemoverInterceptorTest extends TestCase {

	protected Map<String, Object> contextMap;
	protected ActionContext context;
	protected ActionInvocation actionInvocation;
	
	@Override
    protected void setUp() throws Exception {
		contextMap = new LinkedHashMap<>();
		context = new ActionContext(contextMap);
		
		actionInvocation = (ActionInvocation) createMock(ActionInvocation.class);
		expect(actionInvocation.getAction()).andStubReturn(new SampleAction());
		expect(actionInvocation.getInvocationContext()).andStubReturn(context);
		expect(actionInvocation.invoke()).andStubReturn("success");
	}
	
	public void testInterception1() throws Exception {
		contextMap.put(ActionContext.PARAMETERS, HttpParameters.create(new LinkedHashMap<String, Object>() {
			{
				put("param1", new String[]{"paramValue1"});
				put("param2", new String[]{"paramValue2"});
				put("param3", new String[]{"paramValue3"});
				put("param", new String[]{"paramValue"});
			}
		}).build());
		
		replay(actionInvocation);
		
		ParameterRemoverInterceptor interceptor = new ParameterRemoverInterceptor();
		interceptor.setParamNames("param1,param2");
		interceptor.setParamValues("paramValue1,paramValue2");
		interceptor.intercept(actionInvocation);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/interceptor/ValidationErrorAwareTest.java
=======================================================================
package com.opensymphony.xwork2.interceptor;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.Validateable;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.InterceptorConfig;
import com.opensymphony.xwork2.validator.ValidationInterceptor;
import org.junit.Assert;
import org.easymock.EasyMock;
import org.easymock.IAnswer;

import java.util.HashMap;

public class ValidationErrorAwareTest extends XWorkTestCase {

    private DefaultWorkflowInterceptor interceptor;
    private ActionInvocation invocation;
    private String result = "testing123";
    private String actionResult = "action1234";

    public void testChangeResultWhenNotifyAboutValidationErrors() throws Exception {
        // given
        ValidationInterceptor validationInterceptor = create();

        // when
        validationInterceptor.intercept(invocation);

        // then
        assertEquals(actionResult, interceptor.intercept(invocation));
    }

    public void testNotChangeResultWhenNotifyAboutValidationError() throws Exception {
        // given
        actionResult = Action.INPUT;
        ValidationInterceptor validationInterceptor = create();

        // when
        validationInterceptor.intercept(invocation);

        // then
        Assert.assertEquals(Action.INPUT, interceptor.intercept(invocation));
    }

    @Override
    protected void setUp() throws Exception {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
=======================================================================
/*
 * Copyright (c) 2005 Opensymphony. All Rights Reserved.
 */
package com.opensymphony.xwork2.ognl.accessor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ListHolder;
import com.opensymphony.xwork2.util.ValueStack;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Jason Carreira <jcarreira@eplus.com>
 */
public class XWorkListPropertyAccessorTest extends XWorkTestCase {

    public void testContains() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        ListHolder listHolder = new ListHolder();
        vs.push(listHolder);

        vs.setValue("longs", new String[] {"1", "2", "3"});

        assertNotNull(listHolder.getLongs());
        assertEquals(3, listHolder.getLongs().size());
        assertEquals(new Long(1), (Long) listHolder.getLongs().get(0));
        assertEquals(new Long(2), (Long) listHolder.getLongs().get(1));
        assertEquals(new Long(3), (Long) listHolder.getLongs().get(2));

        assertTrue(((Boolean) vs.findValue("longs.contains(1)")).booleanValue());
    }

    public void testCanAccessListSizeProperty() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        List myList = new ArrayList();
        myList.add("a");
        myList.add("b");

        ListHolder listHolder = new ListHolder();
        listHolder.setStrings(myList);

        vs.push(listHolder);

        assertEquals(new Integer(myList.size()), vs.findValue("strings.size()"));
        assertEquals(new Integer(myList.size()), vs.findValue("strings.size"));
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessorTest.java
=======================================================================
package com.opensymphony.xwork2.ognl.accessor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.Element;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;

import java.util.Collections;
import java.util.Map;

public class XWorkMapPropertyAccessorTest extends XWorkTestCase {
    public void testCreateNullObjectsIsFalseByDefault() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        vs.push(new MapHolder(Collections.emptyMap()));
        assertNull(vs.findValue("map[key]"));
    }

    public void testMapContentsAreReturned() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        vs.push(new MapHolder(Collections.singletonMap("key", "value")));
        assertEquals("value", vs.findValue("map['key']"));
    }

    public void testNullIsNotReturnedWhenCreateNullObjectsIsSpecified() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        vs.push(new MapHolder(Collections.emptyMap()));
        ReflectionContextState.setCreatingNullObjects(vs.getContext(), true);

        Object value = vs.findValue("map['key']");
        assertNotNull(value);
        assertSame(Object.class, value.getClass());
    }

    public void testNullIsReturnedWhenCreateNullObjectsIsSpecifiedAsFalse() {
        ValueStack vs = ActionContext.getContext().getValueStack();
        vs.push(new MapHolder(Collections.emptyMap()));
        ReflectionContextState.setCreatingNullObjects(vs.getContext(), false);
        assertNull(vs.findValue("map['key']"));
    }

    private static class MapHolder {
        private final Map map;

        public MapHolder(Map m) {
            this.map = m;
        }

        @Element(value = Object.class)
        public Map getMap() {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessProxyTest.java
=======================================================================
package com.opensymphony.xwork2.ognl;

import java.lang.reflect.Member;
import java.util.HashMap;
import java.util.Map;

import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;

public class SecurityMemberAccessProxyTest extends XWorkTestCase {
    private Map<String, Object> context;

    @Override
    public void setUp() throws Exception {
        super.setUp();

        context = new HashMap<>();
        // Set up XWork
        XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
        container.inject(provider);
        loadConfigurationProviders(provider);
    }

    public void testProxyAccessIsBlocked() throws Exception {
        ActionProxy proxy = actionProxyFactory.createActionProxy(null,
                "chaintoAOPedTestSubBeanAction", null, context);

        SecurityMemberAccess sma = new SecurityMemberAccess(false);
        sma.setDisallowProxyMemberAccess(true);

        Member member = proxy.getAction().getClass().getMethod("isExposeProxy");

        boolean accessible = sma.isAccessible(context, proxy.getAction(), member, "");
        assertFalse(accessible);
    }

    public void testProxyAccessIsAccessible() throws Exception {
        ActionProxy proxy = actionProxyFactory.createActionProxy(null,
                "chaintoAOPedTestSubBeanAction", null, context);

        SecurityMemberAccess sma = new SecurityMemberAccess(false);

        Member member = proxy.getAction().getClass().getMethod("isExposeProxy");

        boolean accessible = sma.isAccessible(context, proxy.getAction(), member, "");
        assertTrue(accessible);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ognl/SecurityMemberAccessTest.java
=======================================================================
package com.opensymphony.xwork2.ognl;

import com.opensymphony.xwork2.util.TextParseUtil;
import junit.framework.TestCase;

import java.lang.reflect.Member;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;

public class SecurityMemberAccessTest extends TestCase {

    private Map context;
    private FooBar target;

    @Override
    public void setUp() throws Exception {
        context = new HashMap();
        target = new FooBar();
    }

    public void testWithoutClassExclusion() throws Exception {
        // given
        SecurityMemberAccess sma = new SecurityMemberAccess(false);

        String propertyName = "stringField";
        Member member = FooBar.class.getMethod("get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1));

        // when
        boolean accessible = sma.isAccessible(context, target, member, propertyName);

        // then
        assertTrue(accessible);
    }

    public void testClassExclusion() throws Exception {
        // given
        SecurityMemberAccess sma = new SecurityMemberAccess(false);

        String propertyName = "stringField";
        Member member = FooBar.class.getDeclaredMethod("get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1));

        Set<Class<?>> excluded = new HashSet<Class<?>>();
        excluded.add(FooBar.class);
        sma.setExcludedClasses(excluded);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationAction.java
=======================================================================
package com.opensymphony.xwork2;

/**
 * Need by the ProxyInvocationTest
 */
public class ProxyInvocationAction extends ActionSupport implements ProxyInvocationInterface {
    public String show() {
        return "proxyResult";
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationInterface.java
=======================================================================
package com.opensymphony.xwork2;

/**
 * Need by the ProxyInvocationTest
 */
public interface ProxyInvocationInterface {
    public String show();
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyInvocationTest.java
=======================================================================
package com.opensymphony.xwork2;

import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;

import java.util.HashMap;
import java.util.Map;

/**
 * Contribed by: Ruben Inoto
 */
public class ProxyInvocationTest extends XWorkTestCase {

    /**
     * Sets a ProxyObjectFactory as ObjectFactory (so the FooAction will always be retrieved
     * as a FooProxy), and it tries to call invokeAction on the TestActionInvocation.
     * 
     * It should fail, because the Method got from the action (actually a FooProxy) 
     * will be executed on the InvocationHandler of the action (so, in the action itself). 
     */
    public void testProxyInvocation() throws Exception {

        ActionProxy proxy = actionProxyFactory
            .createActionProxy("", "ProxyInvocation", null, createDummyContext());
        ActionInvocation invocation = proxy.getInvocation();
        
        String result = invocation.invokeActionOnly();
        assertEquals("proxyResult", result);

    }

    /** 
     * Needed for the creation of the action proxy
     */
    private Map<String, Object> createDummyContext() {
        Map<String, Object> params = new HashMap<>();
        params.put("blah", "this is blah");
        Map<String, Object> extraContext = new HashMap<>();
        extraContext.put(ActionContext.PARAMETERS, params);
        return extraContext;
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();

        // ensure we're using the default configuration, not simple config
        XmlConfigurationProvider configurationProvider = new XmlConfigurationProvider("xwork-proxyinvoke.xml");
        container.inject(configurationProvider);
        loadConfigurationProviders(configurationProvider);
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/ProxyObjectFactory.java
=======================================================================
package com.opensymphony.xwork2;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Map;

import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;

/**
 * ObjectFactory that returns a FooProxy in the buildBean if the clazz is FooAction 
 */
public class ProxyObjectFactory extends ObjectFactory {

    @Inject
    public ProxyObjectFactory(Container container) {
        super(container);
    }

    /**
     * It returns an instance of the bean except if the class is FooAction. 
     * In this case, it returns a FooProxy of it.
     */
    @Override
    public Object buildBean(Class clazz, Map<String, Object> extraContext)
        throws Exception {
        Object bean = super.buildBean(clazz, extraContext);
        if(clazz.equals(ProxyInvocationAction.class)) {
            return Proxy.newProxyInstance(bean.getClass()
                .getClassLoader(), bean.getClass().getInterfaces(),
                new ProxyInvocationProxy(bean));

        }
        return bean;
    }
    
    /**
     * Simple proxy that just invokes the method on the target on the invoke method
     */
    public class ProxyInvocationProxy implements InvocationHandler {

        private Object target;

        public ProxyInvocationProxy(Object target) {
            this.target = target;
        }

        public Object invoke(Object proxy, Method m, Object[] args)
            throws Throwable {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultAcceptedPatternsCheckerTest.java
=======================================================================
package com.opensymphony.xwork2.security;

import com.opensymphony.xwork2.XWorkTestCase;

import java.util.ArrayList;
import java.util.List;

public class DefaultAcceptedPatternsCheckerTest extends XWorkTestCase {

    public void testHardcodedAcceptedPatterns() throws Exception {
        // given
        List<String> params = new ArrayList<String>() {
            {
                add("%{#application['test']}");
                add("%{#application.test}");
                add("%{#Application['test']}");
                add("%{#Application.test}");
                add("%{#session['test']}");
                add("%{#session.test}");
                add("%{#Session['test']}");
                add("%{#Session.test}");
                add("%{#struts['test']}");
                add("%{#struts.test}");
                add("%{#Struts['test']}");
                add("%{#Struts.test}");
                add("%{#request['test']}");
                add("%{#request.test}");
                add("%{#Request['test']}");
                add("%{#Request.test}");
                add("%{#servletRequest['test']}");
                add("%{#servletRequest.test}");
                add("%{#ServletRequest['test']}");
                add("%{#ServletRequest.test}");
                add("%{#servletResponse['test']}");
                add("%{#servletResponse.test}");
                add("%{#ServletResponse['test']}");
                add("%{#ServletResponse.test}");
                add("%{#parameters['test']}");
                add("%{#parameters.test}");
                add("%{#Parameters['test']}");
                add("%{#Parameters.test}");
            }
        };

        AcceptedPatternsChecker checker = new DefaultAcceptedPatternsChecker();

        for (String param : params) {
            // when
            AcceptedPatternsChecker.IsAccepted actual = checker.isAccepted(param);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
=======================================================================
package com.opensymphony.xwork2.security;

import com.opensymphony.xwork2.XWorkTestCase;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {

    public void testHardcodedPatterns() throws Exception {
        // given
        List<String> params = new ArrayList<String>() {
            {
                add("%{#application['test']}");
                add("%{#application.test}");
                add("%{#Application['test']}");
                add("%{#Application.test}");
                add("%{#session['test']}");
                add("%{#session.test}");
                add("%{#Session['test']}");
                add("%{#Session.test}");
                add("%{#struts['test']}");
                add("%{#struts.test}");
                add("%{#Struts['test']}");
                add("%{#Struts.test}");
                add("%{#request['test']}");
                add("%{#request.test}");
                add("%{#Request['test']}");
                add("%{#Request.test}");
                add("%{#servletRequest['test']}");
                add("%{#servletRequest.test}");
                add("%{#ServletRequest['test']}");
                add("%{#ServletRequest.test}");
                add("%{#servletResponse['test']}");
                add("%{#servletResponse.test}");
                add("%{#ServletResponse['test']}");
                add("%{#ServletResponse.test}");
                add("%{#servletContext['test']}");
                add("%{#servletContext.test}");
                add("%{#ServletContext['test']}");
                add("%{#ServletContext.test}");
                add("%{#parameters['test']}");
                add("%{#parameters.test}");
                add("%{#Parameters['test']}");
                add("%{#Parameters.test}");
                add("#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')");
                add("%{#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')}");
                add("#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)");
                add("%{#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)}");

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ActionsFromSpringTest.java
=======================================================================
/*
 * Created on Jun 12, 2004
 */
package com.opensymphony.xwork2.spring;

import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import org.apache.commons.lang3.reflect.MethodUtils;
import org.apache.struts2.dispatcher.HttpParameters;
import org.springframework.context.ApplicationContext;

import java.util.HashMap;
import java.util.Map;

/**
 * Test loading actions from the Spring Application Context.
 *
 * @author Simon Stewart
 */
public class ActionsFromSpringTest extends XWorkTestCase {
    private ApplicationContext appContext;

    @Override public void setUp() throws Exception {
        super.setUp();

        // Set up XWork
        XmlConfigurationProvider provider = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/actionContext-xwork.xml");
        container.inject(provider);
        loadConfigurationProviders(provider);
        appContext = ((SpringObjectFactory)container.getInstance(ObjectFactory.class)).appContext;
    }

    public void testLoadSimpleAction() throws Exception {
        ActionProxy proxy = actionProxyFactory.createActionProxy(null, "simpleAction", null, null);
        Object action = proxy.getAction();

        Action expected = (Action) appContext.getBean("simple-action");

        assertEquals(expected.getClass(), action.getClass());
    }

    public void testLoadActionWithDependencies() throws Exception {
        ActionProxy proxy = actionProxyFactory.createActionProxy(null, "dependencyAction", null, null);
        SimpleAction action = (SimpleAction) proxy.getAction();

        assertEquals("injected", action.getBlah());
    }

    public void testProxiedActionIsNotStateful() throws Exception {
        ActionProxy proxy = actionProxyFactory.createActionProxy(null, "proxiedAction", null, null);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Bar.java
=======================================================================
/*
 * Created on Nov 12, 2003
 */
package com.opensymphony.xwork2.spring;

/**
 * @author Mike
 */
public class Bar {
	
	private Foo foo;
	private String thing;
	private int value;
	
	/**
	 * @return Returns the foo.
	 */
	public Foo getFoo() {
		return foo;
	}

	/**
	 * @param foo The foo to set.
	 */
	public void setFoo(Foo foo) {
		this.foo = foo;
	}

	/**
	 * @return Returns the thing.
	 */
	public String getThing() {
		return thing;
	}

	/**
	 * @param thing The thing to set.
	 */
	public void setThing(String thing) {
		this.thing = thing;
	}

	/**
	 * @return Returns the value.
	 */
	public int getValue() {
		return value;
	}

	/**

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExecuteInterceptor.java
=======================================================================
/*
 * Created on Jun 12, 2004
 */
package com.opensymphony.xwork2.spring;

import com.opensymphony.xwork2.Action;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;


/**
 * @author Simon Stewart
 */
public class ExecuteInterceptor implements MethodInterceptor {
    public Object invoke(MethodInvocation mi) throws Throwable {
        if ("execute".equals(mi.getMethod().getName()))
            return Action.INPUT;
        return mi.proceed();
    }
    
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/ExternalReferenceAction.java
=======================================================================
/*
 * Created on Nov 11, 2003
 */
package com.opensymphony.xwork2.spring;

import com.opensymphony.xwork2.Action;

/**
 * @author Mike
 */
public class ExternalReferenceAction implements Action 
{
    private Foo foo;
    private Bar bar;

    public String execute() throws Exception {
        return SUCCESS;
    }

    /**
     * @return Returns the foo.
     */
    public Foo getFoo() {
        return foo;
    }

    /**
     * @param foo
     *            The foo to set.
     */
    public void setFoo(Foo foo) {
        this.foo = foo;
    }

    /**
     * @return Returns the bar.
     */
    public Bar getBar() {
        return bar;
    }

    /**
     * @param bar
     *            The bar to set.
     */
    public void setBar(Bar bar) {
        this.bar = bar;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/Foo.java
=======================================================================
/*
 * Created on Nov 11, 2003
 */
package com.opensymphony.xwork2.spring;

/**
 * @author Mike
 */
public class Foo 
{	
	String name = null;
	
	public Foo() {
		name = "not set";
	}
	
	public Foo(String name) {
		this.name = name;
	}
	
	public String getName()
	{
		return name;
	}
	
	public void setName(String name)
	{
		this.name = name;
	}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptorTest.java
=======================================================================
/*
 * Created on 6/11/2004
 */
package com.opensymphony.xwork2.spring.interceptor;

import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.StaticWebApplicationContext;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Simon Stewart
 */
public class ActionAutowiringInterceptorTest extends XWorkTestCase {

    public void testShouldAutowireAction() throws Exception {
        StaticWebApplicationContext context = new StaticWebApplicationContext();
        context.getBeanFactory().registerSingleton("bean", new TestBean());
        TestBean bean = (TestBean) context.getBean("bean");

        loadSpringApplicationContextIntoApplication(context);

        SimpleAction action = new SimpleAction();
        ActionInvocation invocation = new TestActionInvocation(action);

        ActionAutowiringInterceptor interceptor = new ActionAutowiringInterceptor();
        interceptor.setApplicationContext(context);
        interceptor.init();

        interceptor.intercept(invocation);

        assertEquals(bean, action.getBean());
    }

    public void testSetAutowireType() throws Exception {
        XmlConfigurationProvider prov = new XmlConfigurationProvider("xwork-default.xml");
        container.inject(prov);
        prov.setThrowExceptionOnDuplicateBeans(false);
        XmlConfigurationProvider c = new XmlConfigurationProvider("com/opensymphony/xwork2/spring/xwork-autowire.xml");
        container.inject(c);
        loadConfigurationProviders(c, prov);

        StaticWebApplicationContext appContext = new StaticWebApplicationContext();

        loadSpringApplicationContextIntoApplication(appContext);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/interceptor/TestActionInvocation.java
=======================================================================
/*
 * Created on 6/11/2004
 */
package com.opensymphony.xwork2.spring.interceptor;

import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.interceptor.PreResultListener;
import com.opensymphony.xwork2.util.ValueStack;

import java.lang.reflect.Method;

/**
 * @author Simon Stewart
 */
public class TestActionInvocation implements ActionInvocation {
    private Object action;
    private boolean executed;

    public TestActionInvocation(Object wrappedAction) {
        this.action = wrappedAction;
    }

    public Object getAction() {
        return action;
    }

    public boolean isExecuted() {
        return executed;
    }

    public ActionContext getInvocationContext() {
        return null;
    }

    public ActionProxy getProxy() {
        return null;
    }

    public Result getResult() throws Exception {
        return null;
    }

    public String getResultCode() {
        return null;
    }

    public void setResultCode(String resultCode) {

    }


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/SpringResult.java
=======================================================================
package com.opensymphony.xwork2.spring;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;

public class SpringResult implements Result {

	private static final long serialVersionUID = -2877126768401198951L;

	private boolean initialize = false;

	//  this String should be populated by spring
	private String stringParameter;

	public void initialize() {
		// this method should be called by spring
		this.initialize = true;
	}

	public void execute(ActionInvocation invocation) throws Exception {
		// intetionally empty
	}

	public void setStringParameter(String stringParameter) {
		this.stringParameter = stringParameter;
	}

	public String getStringParameter() {
		return this.stringParameter;
	}

	public boolean isInitialize() {
		return this.initialize;
	}
}


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/spring/TestAspect.java
=======================================================================
package com.opensymphony.xwork2.spring;

public class TestAspect {
	protected String log = "";
	
	private String issueId;
	private int count;
	private String name;
	private int count2;
    private boolean exposeProxy;

	String getIssueId() {
		return issueId;
	}

	public void setIssueId(String issueId) {
		log = log + "setIssueId(" + issueId + ")-";
		this.issueId = issueId;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		log = log + "setCount(" + count + ")-";
		this.count = count;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		log = log + "setName(" + name + ")-";
		this.name = name;
	}

	int getCount2() {
		return count2;
	}

	public void setCount2(int count2) {
		log = log + "setCount2(" + count2 + ")-";
		this.count2 = count2;
	}

    public void setExposeProxy(boolean exposeProxy) {
        this.exposeProxy = exposeProxy;
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Address.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

public class Address {
    private String line1;
    private String line2;
    private String city;
    private String country;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getLine1() {
        return line1;
    }

    public void setLine1(String line1) {
        this.line1 = line1;
    }

    public String getLine2() {
        return line2;
    }

    public void setLine2(String line2) {
        this.line2 = line2;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/AddressTypeConverter.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

import java.util.Map;

public class AddressTypeConverter extends DefaultTypeConverter {
	@Override public Object convertValue(Map<String, Object> context, Object value, Class toType) {
		if(value instanceof String) {
			return decodeAddress((String)value);
		} else if(value instanceof String && value.getClass().isArray()) {
			return decodeAddress(((String[])value)[0]);
		} else {
			Address address = (Address)value;
			return address.getLine1() + ":" + address.getLine2() + ":" +
			       address.getCity() + ":" + address.getCountry();
		}
	}

	private Address decodeAddress(String encodedAddress) {
		String[] parts = ((String)encodedAddress).split(":");
		Address address = new Address();
		address.setLine1(parts[0]);
		address.setLine2(parts[1]);
		address.setCity(parts[2]);
		address.setCountry(parts[3]);
		return address;
	}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/Person.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

public class Person {
	private String firstName;
	private String lastName;
	
	public String getFirstName() {
		return firstName;
	}
	
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	
	public String getLastName() {
		return lastName;
	}
	
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonAction.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

import com.opensymphony.xwork2.conversion.annotations.Conversion;
import com.opensymphony.xwork2.conversion.annotations.ConversionType;
import com.opensymphony.xwork2.conversion.annotations.TypeConversion;
import com.opensymphony.xwork2.util.Element;

import java.util.List;

@Conversion(
	conversions={
		@TypeConversion(type=ConversionType.APPLICATION,
						key="com.opensymphony.xwork2.test.annotations.Address",
						converterClass=AddressTypeConverter.class),
		@TypeConversion(type=ConversionType.APPLICATION,
						key="com.opensymphony.xwork2.test.annotations.Person",
						converterClass=PersonTypeConverter.class)})
public class PersonAction {
	List<Person> users;
	private List<Address> address;
	@Element(com.opensymphony.xwork2.test.annotations.Address.class)
	private List addressesNoGenericElementAnnotation;

	public List<Person> getUsers() {
		return users;
	}

	public void setUsers(List<Person> users) {
		this.users = users;
	}

	public void setAddress(List<Address> address) {
		this.address = address;
	}

	public List<Address> getAddress() {
		return address;
	}

	public void setAddressesNoGenericElementAnnotation(List addressesNoGenericElementAnnotation) {
		this.addressesNoGenericElementAnnotation = addressesNoGenericElementAnnotation;
	}

	public List getAddressesNoGenericElementAnnotation() {
		return addressesNoGenericElementAnnotation;
	}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonActionTest.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.reflection.ReflectionContextState;

import java.util.Map;


public class PersonActionTest extends XWorkTestCase {
    
	public void testAddPerson() {
        ValueStack stack = ActionContext.getContext().getValueStack();

        Map<String, Object> stackContext = stack.getContext();
        stackContext.put(ReflectionContextState.CREATE_NULL_OBJECTS, Boolean.TRUE);
        stackContext.put(ReflectionContextState.DENY_METHOD_EXECUTION, Boolean.TRUE);
        stackContext.put(XWorkConverter.REPORT_CONVERSION_ERRORS, Boolean.TRUE);

        PersonAction action = new PersonAction();
        stack.push(action);

        stack.setValue("users", "jonathan:gerrish");
        assertNotNull(action.getUsers());
        assertEquals(1, action.getUsers().size());
        
        for(Object person : action.getUsers()) {
        	System.out.println("Person: " + person);
        }
        
        assertEquals(Person.class, action.getUsers().get(0).getClass());
        assertEquals("jonathan", action.getUsers().get(0).getFirstName());
        assertEquals("gerrish", action.getUsers().get(0).getLastName());
	}
	
	public void testAddAddress() {
        ValueStack stack = ActionContext.getContext().getValueStack();
		Map<String, Object> stackContext = stack.getContext();
		stackContext.put(ReflectionContextState.CREATE_NULL_OBJECTS, Boolean.TRUE);
		stackContext.put(ReflectionContextState.DENY_METHOD_EXECUTION, Boolean.TRUE);
		stackContext.put(XWorkConverter.REPORT_CONVERSION_ERRORS, Boolean.TRUE);

		PersonAction action = new PersonAction();
		stack.push(action);

		stack.setValue("address", "2 Chandos Court:61 Haverstock Hill:London:England");
		assertNotNull(action.getAddress());
		assertEquals(1, action.getAddress().size());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/PersonTypeConverter.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

import java.util.Map;

public class PersonTypeConverter extends DefaultTypeConverter {
	@Override
    public Object convertValue(Map<String, Object> context, Object value, Class toType) {
		if(value instanceof String) {
			return decodePerson((String)value);
		} else if(value instanceof String && value.getClass().isArray()) {
			return decodePerson(((String[])value)[0]);
		} else {
			Person person = (Person)value;
			return person.getFirstName() + ":" + person.getLastName();
		}
	}

	private Person decodePerson(String encodedPerson) {
		String[] parts = ((String)encodedPerson).split(":");
		Person person = new Person();
		person.setFirstName(parts[0]);
		person.setLastName(parts[1]);
		return person;
	}
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/annotations/ValidateAnnotatedMethodOnlyAction.java
=======================================================================
package com.opensymphony.xwork2.test.annotations;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.ExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.Validation;

/**
 * <code>ValidateAnnotatedMethodOnlyAction</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
@Validation
public class ValidateAnnotatedMethodOnlyAction extends ActionSupport {

    String param1;
    String param2;


    public String getParam1() {
        return param1;
    }

    public void setParam1(String param1) {
        this.param1 = param1;
    }

    public String getParam2() {
        return param2;
    }

    public void setParam2(String param2) {
        this.param2 = param2;
    }

    @ExpressionValidator(expression = "(param1 != null) || (param2 != null)",
            message = "Need param1 or param2.")
    public String annotatedMethod() {
        try {
            // do search
        } catch (Exception e) {
            return INPUT;
        }
        return SUCCESS;
    }

    public String notAnnotatedMethod() {
        try {
            // do different search
        } catch (Exception e) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/test/subtest/NullModelDrivenAction.java
=======================================================================
package com.opensymphony.xwork2.test.subtest;

import com.opensymphony.xwork2.ModelDrivenAction;

/**
 * Extends ModelDrivenAction to return a null model.
 *
 * @author Mark Woon
 */
public class NullModelDrivenAction extends ModelDrivenAction {

    /**
     * @return the model to be pushed onto the ValueStack instead of the Action itself
     */
    @Override
    public Object getModel() {
        return null;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/TestSubBean.java
=======================================================================
package com.opensymphony.xwork2;

public class TestSubBean extends TestBean {

    private String issueId;

    public String getIssueId() {
        return issueId;
    }

    public void setIssueId(String issueId) {
        this.issueId = issueId;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UnknownHandlerManagerMock.java
=======================================================================
package com.opensymphony.xwork2;

import java.util.ArrayList;

/*
 * Utility class for testing DefaultUnknownHandlerManager, which does not allow to add
 * UnknownHandlers directly
 */
public class UnknownHandlerManagerMock extends DefaultUnknownHandlerManager {
    public void addUnknownHandler(UnknownHandler uh) {
        if (this.unknownHandlers == null)
            this.unknownHandlers = new ArrayList<>();
        this.unknownHandlers.add(uh);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/UserSpecifiedDefaultAction.java
=======================================================================
package com.opensymphony.xwork2;

/**
 * <code>UserSpecifiedDefaultAction</code>
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @version $Id$
 */
public class UserSpecifiedDefaultAction extends ActionSupport {
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/Dummy2Class.java
=======================================================================
package com.opensymphony.xwork2.util.annotation;

public class Dummy2Class {

    @MyAnnotation("class-test")
    public void methodWithAnnotation() {
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClass.java
=======================================================================
package com.opensymphony.xwork2.util.annotation;

@MyAnnotation("class-test")
public class DummyClass {

    public DummyClass() {
    }

    @MyAnnotation("method-test")
    public void methodWithAnnotation() {
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/DummyClassExt.java
=======================================================================
package com.opensymphony.xwork2.util.annotation;

public final class DummyClassExt extends DummyClass {

    @MyAnnotation2
    public void anotherAnnotatedMethod() {
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation.java
=======================================================================
package com.opensymphony.xwork2.util.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {

    String value();

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/annotation/MyAnnotation2.java
=======================================================================
package com.opensymphony.xwork2.util.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation2 {
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/AnnotationUtilsTest.java
=======================================================================
package com.opensymphony.xwork2.util;

import com.opensymphony.xwork2.util.annotation.Dummy2Class;
import com.opensymphony.xwork2.util.annotation.DummyClass;
import com.opensymphony.xwork2.util.annotation.MyAnnotation;

import junit.framework.TestCase;

/**
 * @author Dan Oxlade, dan d0t oxlade at gmail d0t c0m
 */
public class AnnotationUtilsTest extends TestCase {

    public void testFindAnnotationOnClass() {
        MyAnnotation a1 = AnnotationUtils.findAnnotation(DummyClass.class, MyAnnotation.class);
        assertNotNull(a1);
        assertEquals("class-test", a1.value());
    }

    public void testFindAnnotationOnPackage() {
        MyAnnotation ns = AnnotationUtils.findAnnotation(Dummy2Class.class, MyAnnotation.class);
        assertNotNull(ns);
        assertEquals("package-test", ns.value());
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/BarJunior.java
=======================================================================
package com.opensymphony.xwork2.util;

public class BarJunior extends Bar {
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
=======================================================================
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.
 *
 * @author <Lukasz>
 * @since <pre>02/18/2009</pre>
 * @version 1.0
 */
public class DefaultFileManagerTest extends XWorkTestCase {

    private FileManager fileManager;

    @Override
    public void setUp() throws Exception {
        super.setUp();
        fileManager = container.getInstance(FileManagerFactory.class).getFileManager();
    }

    public void disabled_testGetFileInJar() throws Exception {
        testLoadFile("xwork-jar.xml");
        testLoadFile("xwork - jar.xml");
        testLoadFile("xwork-zip.xml");
        testLoadFile("xwork - zip.xml");
        testLoadFile("xwork-jar2.xml");
        testLoadFile("xwork - jar2.xml");
        testLoadFile("xwork-zip2.xml");
        testLoadFile("xwork - zip2.xml");
    }

    private void testLoadFile(String fileName) {
        fileManager.setReloadingConfigs(true);
        URL url = ClassLoaderUtil.getResource(fileName, DefaultFileManagerTest.class);
        InputStream file = fileManager.loadFile(url);
        assertNotNull(file);
        assertTrue(fileManager.fileNeedsReloading(fileName));

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java
=======================================================================
package com.opensymphony.xwork2.util.fs;

import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Scope;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public class DefaultFileManagerFactoryTest extends XWorkTestCase {

    static FileManager fileManager;

    public void testCreateDefaultFileManager() throws Exception {
        // given
        fileManager = null;
        DefaultFileManagerFactory factory = new DefaultFileManagerFactory();
        factory.setFileManager(new DefaultFileManager());
        factory.setContainer(new DummyContainer());

        // when
        FileManager fm = factory.getFileManager();

        // then
        assertTrue(fm instanceof DefaultFileManager);
    }

    public void testCreateDummyFileManager() throws Exception {
        // given
        fileManager = new DummyFileManager();
        DefaultFileManagerFactory factory = new DefaultFileManagerFactory();
        factory.setFileManager(new DefaultFileManager());
        factory.setContainer(new DummyContainer());

        // when
        FileManager fm = factory.getFileManager();

        // then
        assertTrue(fm instanceof DummyFileManager);
    }

    public void testFileManagerFactoryWithRealConfig() throws Exception {
        // given
        DefaultFileManagerFactory factory = new DefaultFileManagerFactory();

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/GetPropertiesTest.java
=======================================================================
/*
 * Created on Jan 23, 2006
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.opensymphony.xwork2.util;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.XWorkTestCase;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * @author Gabe
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class GetPropertiesTest extends XWorkTestCase {

    public void testGetCollectionProperties()  {
        doGetCollectionPropertiesTest(new ArrayList());
        doGetCollectionPropertiesTest(new HashSet());
        
    }
    
    public void doGetCollectionPropertiesTest(Collection c) {
        ValueStack vs = ActionContext.getContext().getValueStack();
        Foo foo = new Foo();
        foo.setBarCollection(c);
        vs.push(foo);
        assertEquals(Boolean.TRUE, vs.findValue("barCollection.isEmpty"));
        assertEquals(Boolean.TRUE, vs.findValue("barCollection.empty"));
        assertEquals(new Integer(0), vs.findValue("barCollection.size"));
        assertTrue(vs.findValue("barCollection.iterator") instanceof java.util.Iterator);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/Indexed.java
=======================================================================
package com.opensymphony.xwork2.util;

import java.util.HashMap;
import java.util.Map;

/**
 * @author mimo
 *
 */
public class Indexed {

    public Object[] values = new Object[3];
    public Map<String, Object> map = new HashMap<>();

    public void setSimple(int i, Object v) {
        values[i] = v;
    }

    public Object getSimple(int i) {
        return values[i];
    }



    public void setIntegerMap(String key, Integer value) {
        map.put(key, value);
    }

    public Integer getIntegerMap(String key) {
        return (Integer) map.get(key);
    }

    public void setStringMap(String key, String value) {
        map.put(key, value);
    }

    public String getStringMap(String key) {
        return (String) map.get(key);
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/ListHolder.java
=======================================================================
package com.opensymphony.xwork2.util;

import java.util.Date;
import java.util.List;

/**
 * User: patrick Date: Dec 20, 2005 Time: 11:15:29 AM
 */
public class ListHolder {
    List<Long> longs;
    List<String> strings;
    List<Date> dates;

    public List<Long> getLongs() {
        return longs;
    }

    public void setLongs(List<Long> longs) {
        this.longs = longs;
    }

    public List<String> getStrings() {
        return strings;
    }

    public void setStrings(List<String> strings) {
        this.strings = strings;
    }

    public List<Date> getDates() {
        return dates;
    }

    public void setDates(List<Date> dates) {
        this.dates = dates;
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/logging/LoggerUtilsTest.java
=======================================================================
package com.opensymphony.xwork2.util.logging;


import junit.framework.TestCase;

public class LoggerUtilsTest extends TestCase {

    public void testFormatMessage() {
        assertEquals("foo", LoggerUtils.format("foo"));
        assertEquals("foo #", LoggerUtils.format("foo #"));
        assertEquals("#foo", LoggerUtils.format("#foo"));
        assertEquals("foo #1", LoggerUtils.format("foo #1"));
        assertEquals("foo bob", LoggerUtils.format("foo #0", "bob"));
        assertEquals("foo bob joe", LoggerUtils.format("foo #0 #1", "bob", "joe"));
        assertEquals("foo bob joe #8", LoggerUtils.format("foo #0 #1 #8", "bob", "joe"));
        assertEquals("foo (bob/ally)", LoggerUtils.format("foo (#0/#1)", "bob", "ally"));
        assertEquals("foo (bobally)", LoggerUtils.format("foo (#0#1)", "bob", "ally"));

        assertEquals(null, LoggerUtils.format(null));
        assertEquals("", LoggerUtils.format(""));
        
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UnknownHandlerManagerTest.java
=======================================================================
package com.opensymphony.xwork2.util;

import java.util.List;

import com.opensymphony.xwork2.UnknownHandler;
import com.opensymphony.xwork2.UnknownHandlerManager;
import com.opensymphony.xwork2.UnknownHandlerManagerMock;
import com.opensymphony.xwork2.DefaultUnknownHandlerManager;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.providers.ConfigurationTestBase;
import com.opensymphony.xwork2.config.providers.SomeUnknownHandler;

/**
 * Test UnknownHandlerUtil
 */
public class UnknownHandlerManagerTest extends ConfigurationTestBase {

    public void testStack() throws ConfigurationException {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml";
        ConfigurationProvider provider = buildConfigurationProvider(filename);
        loadConfigurationProviders(provider);
        configurationManager.reload();

        UnknownHandlerManager unknownHandlerManager = new DefaultUnknownHandlerManager();
        container.inject(unknownHandlerManager);
        List<UnknownHandler> unknownHandlers = unknownHandlerManager.getUnknownHandlers();

        assertNotNull(unknownHandlers);
        assertEquals(2, unknownHandlers.size());

        UnknownHandler uh1 = unknownHandlers.get(0);
        UnknownHandler uh2 = unknownHandlers.get(1);

        assertTrue(uh1 instanceof SomeUnknownHandler);
        assertTrue(uh2 instanceof SomeUnknownHandler);
    }

    public void testEmptyStack() throws ConfigurationException {
        final String filename = "com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml";
        ConfigurationProvider provider = buildConfigurationProvider(filename);
        loadConfigurationProviders(provider);
        configurationManager.reload();

        UnknownHandlerManager unknownHandlerManager = new DefaultUnknownHandlerManager();
        container.inject(unknownHandlerManager);
        List<UnknownHandler> unknownHandlers = unknownHandlerManager.getUnknownHandlers();

        assertNotNull(unknownHandlers);
        assertEquals(2, unknownHandlers.size());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/util/UrlUtilTest2.java
=======================================================================
package com.opensymphony.xwork2.util;

import com.opensymphony.xwork2.FileManager;
import com.opensymphony.xwork2.util.fs.DefaultFileManager;
import junit.framework.TestCase;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.jar.JarInputStream;

/**
 * Keep these test on a separate class, they can't be in UrlUtilTest because the
 * registered URLStreamHandlerFactory would make them fail
 */
public class UrlUtilTest2 extends TestCase {

    public void testOpenWithJarProtocol() throws IOException {
        FileManager fileManager = new DefaultFileManager();

        URL url = ClassLoaderUtil.getResource("xwork-jar.jar", ClassLoaderUtil.class);
        URL jarUrl = new URL("jar", "", url.toExternalForm() + "!/");
        URL outputURL = fileManager.normalizeToFileProtocol(jarUrl);

        assertNotNull(outputURL);
        assertUrlCanBeOpened(outputURL);
    }

    private void assertUrlCanBeOpened(URL url) throws IOException {
        InputStream is = url.openStream();
        try (JarInputStream jarStream = new JarInputStream(is)) {
            assertNotNull(jarStream);
        }
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ActionValidatorManagerTest.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.validators.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.validators.RequiredStringValidator;
import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * A test case for ActionValidatorManager.
 *
 * @author tmjee
 * @version $Date$ $Id$
 */
public class ActionValidatorManagerTest extends XWorkTestCase {



    public void testValidate() throws Exception {
        /* MockAction.class */
        // reference number
        ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();
        final RequiredStringValidator referenceNumberRequiredStringValidator = container.inject(RequiredStringValidator.class);
        referenceNumberRequiredStringValidator.setFieldName("referenceNumber");
        referenceNumberRequiredStringValidator.setDefaultMessage("Reference number is required");
        referenceNumberRequiredStringValidator.setValueStack(stack);

        // order
        final RequiredFieldValidator orderRequiredValidator = container.inject(RequiredFieldValidator.class);
        orderRequiredValidator.setFieldName("order");
        orderRequiredValidator.setDefaultMessage("Order is required");
        orderRequiredValidator.setValueStack(stack);

        // customer
        final RequiredFieldValidator customerRequiredValidator = container.inject(RequiredFieldValidator.class);
        customerRequiredValidator.setFieldName("customer");
        customerRequiredValidator.setDefaultMessage("Customer is required");
        customerRequiredValidator.setValueStack(stack);
        final VisitorFieldValidator customerVisitorValidator = container.inject(VisitorFieldValidator.class);
        customerVisitorValidator.setAppendPrefix(true);
        customerVisitorValidator.setFieldName("customer");
        customerVisitorValidator.setValueStack(stack);

        /* Customer.class */

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationAction.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.ConditionalVisitorFieldValidator;
import com.opensymphony.xwork2.validator.annotations.ConversionErrorFieldValidator;
import com.opensymphony.xwork2.validator.annotations.CreditCardValidator;
import com.opensymphony.xwork2.validator.annotations.CustomValidator;
import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.DoubleRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.EmailValidator;
import com.opensymphony.xwork2.validator.annotations.ExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.FieldExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.LongRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RegexFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.ShortRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator;
import com.opensymphony.xwork2.validator.annotations.UrlValidator;
import com.opensymphony.xwork2.validator.annotations.ValidationParameter;
import com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator;

/**
 * Sets up all available validation annotations
 */
public class AnnotationValidationAction extends ActionSupport {

    @RegexFieldValidator(regex = "foo", message = "Foo doesn't match!", key = "regex.key",
            fieldName = "bar", shortCircuit = true, trim = false, caseSensitive = false,
            messageParams = {"one", "two", "three"})
    @ConditionalVisitorFieldValidator(expression = "foo+bar", context = "some", appendPrefix = false, fieldName = "bar",
            key = "conditional.key", message = "Foo doesn't match!", shortCircuit = true,
            messageParams = {"one", "two", "three"})
    @ConversionErrorFieldValidator(fieldName = "bar", key = "conversion.key", message = "Foo conversion error!",
            shortCircuit = true, repopulateField = true, messageParams = {"one", "three"})
    @CustomValidator(type = "myValidator", fieldName = "foo", key = "foo.invalid", message = "Foo is invalid!",
            shortCircuit = true, messageParams = {"one", "two", "three"},
            parameters = {
                    @ValidationParameter(name = "value", value = "1")
            }
    )
    @DateRangeFieldValidator(fieldName = "foo", key = "date.foo", max = "2012", min = "2011", dateFormat = "yyyy",
            message = "Foo isn't in range!", shortCircuit = true, messageParams = {"one", "two", "three"})
    @DoubleRangeFieldValidator(minExclusive = "1.2", maxExclusive = "1.4", minInclusive = "0", maxInclusive = "0.1",
            fieldName = "foo", key = "double.key", message = "Foo is out of range!", shortCircuit = true,
            messageParams = {"one", "two", "three"})
    @EmailValidator(message = "Foo isn't a valid e-mail!", fieldName = "foo", key = "email.key",
            messageParams = {"one", "two", "three"}, shortCircuit = true)
    @CreditCardValidator(message = "Foo isn't a valid credit card!", fieldName = "foo", key = "creditCard.key",

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationConfigurationBuilderTest.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.DefaultActionInvocation;
import com.opensymphony.xwork2.XWorkConstants;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.PackageConfig;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator;
import com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator;
import com.opensymphony.xwork2.validator.validators.CreditCardValidator;
import com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator;
import com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator;
import com.opensymphony.xwork2.validator.validators.EmailValidator;
import com.opensymphony.xwork2.validator.validators.ExpressionValidator;
import com.opensymphony.xwork2.validator.validators.FieldExpressionValidator;
import com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator;
import com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator;
import com.opensymphony.xwork2.validator.validators.RegexFieldValidator;
import com.opensymphony.xwork2.validator.validators.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.validators.RequiredStringValidator;
import com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator;
import com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator;
import com.opensymphony.xwork2.validator.validators.URLValidator;
import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;

/**
 * Simple test to check if validation Annotations match given validator class
 */
public class AnnotationValidationConfigurationBuilderTest extends XWorkTestCase {

    public void testValidationAnnotation() throws Exception {
        // given
        AnnotationActionValidatorManager manager = createValidationManager(AnnotationValidationAction.class, Locale.US);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/AnnotationValidationExpAction.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.ConditionalVisitorFieldValidator;
import com.opensymphony.xwork2.validator.annotations.ConversionErrorFieldValidator;
import com.opensymphony.xwork2.validator.annotations.CustomValidator;
import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.DoubleRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.EmailValidator;
import com.opensymphony.xwork2.validator.annotations.ExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.FieldExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RegexFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.ShortRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator;
import com.opensymphony.xwork2.validator.annotations.UrlValidator;
import com.opensymphony.xwork2.validator.annotations.ValidationParameter;
import com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Sets up all available validation annotations with params as expressions
 */
public class AnnotationValidationExpAction extends ActionSupport {

    @RegexFieldValidator(regexExpression = "${foo}", message = "Foo doesn't match!", key = "regex.key",
            fieldName = "bar", shortCircuit = true, trimExpression = "${trim}", caseSensitiveExpression = "${caseSensitive}",
            messageParams = {"one", "two", "three"})
    @ConditionalVisitorFieldValidator(expression = "foo+bar", context = "some", appendPrefix = false, fieldName = "bar",
            key = "conditional.key", message = "Foo doesn't match!", shortCircuit = true,
            messageParams = {"one", "two", "three"})
    @ConversionErrorFieldValidator(fieldName = "bar", key = "conversion.key", message = "Foo conversion error!",
            shortCircuit = true, repopulateField = true, messageParams = {"one", "three"})
    @CustomValidator(type = "myValidator", fieldName = "foo", key = "foo.invalid", message = "Foo is invalid!",
            shortCircuit = true, messageParams = {"one", "two", "three"},
            parameters = {
                    @ValidationParameter(name = "value", value = "1")
            }
    )
    @DateRangeFieldValidator(fieldName = "foo", key = "date.foo", maxExpression = "${dateMax}", minExpression = "${dateMin}", dateFormat = "yyyy",
            message = "Foo isn't in range!", shortCircuit = true, messageParams = {"one", "two", "three"})
    @DoubleRangeFieldValidator(minExclusiveExpression = "${doubleMinExclusiveExpression}", maxExclusiveExpression = "${doubleMaxExclusiveExpression}",
            minInclusiveExpression = "${doubleMinInclusiveExpression}", maxInclusiveExpression = "${doubleMaxInclusiveExpression}",
            fieldName = "foo", key = "double.key", message = "Foo is out of range!", shortCircuit = true,
            messageParams = {"one", "two", "three"})

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.ValidationAwareSupport;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator;
import org.apache.struts2.dispatcher.HttpParameters;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Unit test for {@link DoubleRangeFieldValidator}.
 *
 * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
 * @author Claus Ibsen
 * @version $Id$
 */
public class DoubleRangeFieldValidatorTest extends XWorkTestCase {

    private DoubleRangeFieldValidator val;
    private TextProviderFactory tpf;

    public void testRangeValidationWithError() throws Exception {
        //Explicitly set an out-of-range double for DoubleRangeValidatorTest
        Map<String, Object> context = new HashMap<>();
        HashMap<String, Object> params = new HashMap<>();
        params.put("percentage", 100.12);
        context.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());

        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.VALIDATION_ACTION_NAME, null, context);
        proxy.execute();
        assertTrue(((ValidationAware) proxy.getAction()).hasFieldErrors());

        Map<String, List<String>> errors = ((ValidationAware) proxy.getAction()).getFieldErrors();

        List<String> errorMessages = errors.get("percentage");
        assertNotNull("Expected double range validation error message.", errorMessages);
        assertEquals(1, errorMessages.size());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/MyValidator.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.util.ValueStack;

/**
 * TODO lukaszlenart: write a JavaDoc
 */
public class MyValidator implements FieldValidator, ShortCircuitableValidator {

    private String message;
    private String fieldName;
    private String key;
    private String[] messageParameters;
    private ValidatorContext validatorContext;
    private String type;
    private ValueStack stack;
    private boolean shortcircuit;

    private int value;

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setDefaultMessage(String message) {
        this.message = message;
    }

    public String getDefaultMessage() {
        return message;
    }

    public String getMessage(Object object) {
        return "Message";
    }

    public void setMessageKey(String key) {
        this.key = key;

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/ValidatorAnnotationTest.java
=======================================================================
package com.opensymphony.xwork2.validator;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.interceptor.ValidationAware;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
import org.apache.struts2.dispatcher.HttpParameters;

import java.util.Collection;
import java.util.HashMap;

/**
 * Unit test for annotated Validators.
 *
 * @author Rainer Hermanns
 */
public class ValidatorAnnotationTest extends XWorkTestCase {

    public void testNotAnnotatedMethodSuccess() throws Exception {
        HashMap<String, Object> params = new HashMap<>();
        params.put("date", "12/23/2002");
        params.put("foo", "5");
        params.put("bar", "7");

        HashMap<String, Object> extraContext = new HashMap<>();
        extraContext.put(ActionContext.PARAMETERS, HttpParameters.create(params).build());

        ActionProxy proxy = actionProxyFactory.createActionProxy("", "notAnnotatedMethod", null, extraContext);
        proxy.execute();
        assertFalse(((ValidationAware) proxy.getAction()).hasActionErrors());

        Collection errors = ((ValidationAware) proxy.getAction()).getActionErrors();
        assertEquals(0, errors.size());
    }

    public void testNotAnnotatedMethodSuccess2() throws Exception {

        HashMap<String, Object> extraContext = new HashMap<>();
        extraContext.put(ActionContext.PARAMETERS, HttpParameters.create().build());

        ActionProxy proxy = actionProxyFactory.createActionProxy("", "notAnnotatedMethod", null, extraContext);
        proxy.execute();
        assertFalse(((ValidationAware) proxy.getAction()).hasActionErrors());

        Collection errors = ((ValidationAware) proxy.getAction()).getActionErrors();
        assertEquals(0, errors.size());
    }

    public void testAnnotatedMethodFailure() throws Exception {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/AppendingValidatorContextTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.CompositeTextProvider;
import com.opensymphony.xwork2.TextProvider;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.validator.DelegatingValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;
import com.opensymphony.xwork2.validator.VisitorValidatorTestAction;
import com.opensymphony.xwork2.validator.validators.VisitorFieldValidator.AppendingValidatorContext;

public class AppendingValidatorContextTest extends XWorkTestCase {

    private static final String FIRST_NAME = "first";
    private static final String SECOND_NAME = "second";
    private static final String FIELD_NAME = "fieldName";
    private static final String FULL_FIELD_NAME = FIRST_NAME + "." + SECOND_NAME + "." + FIELD_NAME;

    private VisitorValidatorTestAction action;
    private VisitorFieldValidator.AppendingValidatorContext validatorContext;

    @Override
    protected void setUp() throws Exception {
        super.setUp();

        action = container.inject(VisitorValidatorTestAction.class);
        TextProviderFactory tpf = container.getInstance(TextProviderFactory.class);
        ValidatorContext vc1 = new DelegatingValidatorContext(action, tpf);

        VisitorFieldValidator.AppendingValidatorContext vc2 = new AppendingValidatorContext(vc1, createTextProvider(action, vc1), FIRST_NAME, "");
        validatorContext = new AppendingValidatorContext(vc2, createTextProvider(action, vc2), SECOND_NAME, "");
    }

    public void testGetFullFieldName() throws Exception {
        String fullFieldName = validatorContext.getFullFieldName(FIELD_NAME);
        assertEquals(FULL_FIELD_NAME, fullFieldName);
    }

    public void testAddFieldError() throws Exception {
        validatorContext.addFieldError(FIELD_NAME, "fieldError");
        assertTrue(action.hasFieldErrors());

        Map<String, List<String>> fieldErrors = action.getFieldErrors();
        assertEquals(1, fieldErrors.size());
        assertTrue(fieldErrors.containsKey(FULL_FIELD_NAME));
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/CreditCardValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;
import org.apache.struts2.StrutsInternalTestCase;

import java.util.Arrays;
import java.util.List;

public class CreditCardValidatorTest extends StrutsInternalTestCase {

    private CreditCardValidator validator;
    private CreditCardAction action;
    private ValidatorContext context;

    public void testInvalidCardNumber() throws Exception {
        // given
        action.setAmericanExpress("123456768900");
        validator.setFieldName("americanExpress");
        validator.setDefaultMessage("It is not a valid American Express card number: ${americanExpress}");

        // when
        validator.validate(action);

        // then
        assertTrue(context.hasFieldErrors());
        assertEquals(1, context.getFieldErrors().size());
        assertEquals("It is not a valid American Express card number: 123456768900", context.getFieldErrors().get("americanExpress").get(0));
    }

    public void testInvalidArrayOfCardNumbers() throws Exception {
        // given
        action.setAmericanExpresses(new String[]{"098776544322"});
        validator.setFieldName("americanExpresses");
        validator.setDefaultMessage("It is not a valid American Express card number: ${currentValue}");

        // when
        validator.validate(action);

        // then
        assertTrue(context.hasFieldErrors());
        assertEquals(1, context.getFieldErrors().size());
        assertEquals("It is not a valid American Express card number: 098776544322", context.getFieldErrors().get("americanExpresses").get(0));
    }

    public void testEmptyArrayOfCardNumbers() throws Exception {
        // given

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class DateRangeFieldValidatorTest extends XWorkTestCase {

    private TextProviderFactory tpf;

    public void testPassValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(createDate(2013, 6, 6));
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        DateRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 0);
    }

    public void testMinValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(createDate(2012, Calendar.MARCH, 3));
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        DateRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 1);
        assertEquals("Max is 12.12.13, min is 01.01.13 but value is 03.03.12", context.getFieldErrors().get("dateRange").get(0));
    }

    public void testMaxValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(createDate(2014, Calendar.APRIL, 4));
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        DateRangeFieldValidator validator = prepareValidator(action, context);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/IntRangeFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;

public class IntRangeFieldValidatorTest extends XWorkTestCase {

    private TextProviderFactory tpf;

    public void setUp() throws Exception {
        super.setUp();
        tpf = container.getInstance(TextProviderFactory.class);
    }

    public void testPassValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(100);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        IntRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 0);
    }

    public void testMinValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(98);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        IntRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 1);
        assertEquals("Max is 101, min is 99 but value is 98", context.getFieldErrors().get("intRange").get(0));
    }

    public void testMaxValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(102);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        IntRangeFieldValidator validator = prepareValidator(action, context);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/LongRangeFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;

public class LongRangeFieldValidatorTest extends XWorkTestCase {

    private TextProviderFactory tpf;

    public void setUp() throws Exception {
        super.setUp();
        tpf = container.getInstance(TextProviderFactory.class);
    }

    public void testPassValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(100);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        LongRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 0);
    }

    public void testMinValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(98);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        LongRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 1);
        assertEquals("Max is 101, min is 99 but value is 98", context.getFieldErrors().get("longRange").get(0));
    }

    public void testMaxValidation() throws Exception {
        // given
        ValidationAction action = prepareAction(102);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        LongRangeFieldValidator validator = prepareValidator(action, context);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import org.apache.struts2.StrutsInternalTestCase;
import org.junit.Test;

import java.util.ArrayList;

public class RequiredFieldValidatorTest extends StrutsInternalTestCase {

    @Test
    public void testNullObject() throws Exception {
        // given
        RequiredFieldValidator rfv = container.inject(RequiredFieldValidator.class);
        rfv.setValueStack(ActionContext.getContext().getValueStack());
        rfv.setFieldName("stringValue");
        rfv.setDefaultMessage("${fieldName} field is required!");
        ValidationAction action = new ValidationAction();
        DummyValidatorContext context = new DummyValidatorContext(action, container.getInstance(TextProviderFactory.class));
        rfv.setValidatorContext(context);

        // when
        rfv.validate(action);

        // then
        assertTrue(context.hasFieldErrors());
        assertEquals(1, context.getFieldErrors().size());
        assertNotNull(context.getFieldErrors().get("stringValue"));
        assertEquals("stringValue field is required!", context.getFieldErrors().get("stringValue").get(0));
    }

    @Test
    public void testArrayObject() throws Exception {
        // given
        RequiredFieldValidator rfv = container.inject(RequiredFieldValidator.class);
        rfv.setValueStack(ActionContext.getContext().getValueStack());
        rfv.setFieldName("ints");
        rfv.setDefaultMessage("${fieldName} field is required!");
        ValidationAction action = new ValidationAction();
        action.setInts(new Integer[]{});
        DummyValidatorContext context = new DummyValidatorContext(action, container.getInstance(TextProviderFactory.class));
        rfv.setValidatorContext(context);

        // when
        rfv.validate(action);

        // then
        assertTrue(context.hasFieldErrors());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;

import java.util.Arrays;

public class RequiredStringValidatorTest extends XWorkTestCase {

    private TextProviderFactory tpf;

    public void setUp() throws Exception {
        super.setUp();
        tpf = container.getInstance(TextProviderFactory.class);
    }

    public void testRequiredStringPass() throws Exception {
        // given
        ValueStack valueStack = ActionContext.getContext().getValueStack();

        ValidationAction action = new ValidationAction();
        action.setStringValue("a string");
        valueStack.push(action);

        ValidatorContext context = new DummyValidatorContext(action, tpf);
        RequiredStringValidator validator = new RequiredStringValidator();
        validator.setValidatorContext(context);
        validator.setFieldName("stringValue");
        validator.setValueStack(valueStack);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 0);
    }

    public void testRequiredArrayOfStringsPass() throws Exception {
        // given
        ValueStack valueStack = ActionContext.getContext().getValueStack();

        ValidationAction action = new ValidationAction();
        action.setStrings(new String[]{"", "12334", null});
        valueStack.push(action);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ShortRangeFieldValidatorTest.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import com.opensymphony.xwork2.TextProviderFactory;
import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.validator.DummyValidatorContext;
import com.opensymphony.xwork2.validator.ValidatorContext;

public class ShortRangeFieldValidatorTest extends XWorkTestCase {

    private TextProviderFactory tpf;

    public void setUp() throws Exception {
        super.setUp();
        tpf = container.getInstance(TextProviderFactory.class);
    }

    public void testPassValidation() throws Exception {
        // given
        ValidationAction action = prepareAction((short) 5);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        ShortRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 0);
    }

    public void testMinValidation() throws Exception {
        // given
        ValidationAction action = prepareAction((short) 1);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        ShortRangeFieldValidator validator = prepareValidator(action, context);

        // when
        validator.validate(action);

        // then
        assertTrue(context.getFieldErrors().size() == 1);
        assertEquals("Max is 10, min is 2 but value is 1", context.getFieldErrors().get("shortRange").get(0));
    }

    public void testMaxValidation() throws Exception {
        // given
        ValidationAction action = prepareAction((short) 11);
        ValidatorContext context = new DummyValidatorContext(action, tpf);
        ShortRangeFieldValidator validator = prepareValidator(action, context);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java
=======================================================================
package com.opensymphony.xwork2.validator.validators;

import java.util.Collection;
import java.util.Date;
import java.util.List;

public class ValidationAction {

    private Integer intRange;
    private Integer intMinValue;
    private Integer intMaxValue;
    private Integer[] ints;

    private Short shortRange;
    private Short shortMinValue;
    private Short shortMaxValue;
    private List<Short> shorts;

    private Long longRange;
    private Long longMinValue;
    private Long longMaxValue;

    private Date dateRange;
    private Date dateMinValue;
    private Date dateMaxValue;

    private String dateFormat;
    private String stringValue;
    private String[] strings;
    private Collection<String> stringCollection;

    public Integer getIntRange() {
        return intRange;
    }

    public void setIntRange(Integer intRange) {
        this.intRange = intRange;
    }

    public Integer getIntMinValue() {
        return intMinValue;
    }

    public void setIntMinValue(Integer intMinValue) {
        this.intMinValue = intMinValue;
    }

    public Integer getIntMaxValue() {
        return intMaxValue;
    }

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/ClassInstantiationTest.java
=======================================================================
package org.apache.struts2;

import org.apache.struts2.dispatcher.mapper.ActionMapper;

import java.util.HashMap;

/**
 * Test class instantiation with Container
 */
public class ClassInstantiationTest extends StrutsInternalTestCase {

    public void testCompositeActionMapperInstantiationWithList() throws Exception {
        // given
        initDispatcher(new HashMap<String, String>() {{
            put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
            put(StrutsConstants.STRUTS_MAPPER_COMPOSITE, "struts,restful");
        }});

        // when
        ActionMapper instance = container.getInstance(ActionMapper.class, "composite");

        // then
        assertNotNull(instance);
    }

    public void testCompositeActionMapperInstantiationWithoutList() throws Exception {
        // given
        initDispatcher(new HashMap<String, String>() {{
            put(StrutsConstants.STRUTS_I18N_ENCODING, "utf-8");
        }});

        // when
        try {
            container.getInstance(ActionMapper.class, "composite");
            fail();
        }catch (Exception e) {
            // then
            // You cannot use CompositeActionMapper without defined list of "struts.mapper.composite"
            assertTrue(e.getMessage().contains("No mapping found for dependency [type=java.lang.String, name='struts.mapper.composite']"));
        }
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
=======================================================================
package org.apache.struts2.components;

import org.apache.struts2.views.jsp.AbstractTagTest;
import org.apache.struts2.TestConfigurationProvider;
import org.apache.struts2.StrutsException;

public class AnotherActionComponentTest extends AbstractTagTest  {

    public void testRethrowException() throws Exception {
        request.setupGetServletPath(TestConfigurationProvider.TEST_NAMESPACE + "/"
                + "foo.action" );
        ActionComponent ac = new ActionComponent(stack, request, response) ;
        container.inject(ac);
        ac.setNamespace(TestConfigurationProvider.TEST_NAMESPACE);
        ac.setName(TestConfigurationProvider.TEST_ACTION_NAME + "!executeThrowsException");
        ac.setRethrowException(true);
        boolean exceptionCaught = false;
        try {
            ac.executeAction();
        }
        catch (Exception e) {
            if (e instanceof StrutsException)
                exceptionCaught = true;
        }
        assertTrue(exceptionCaught);
    }

    public void testDoesNotThrowException() throws Exception {
        request.setupGetServletPath(TestConfigurationProvider.TEST_NAMESPACE + "/"
                + "foo.action" );
        ActionComponent ac = new ActionComponent(stack, request, response) ;
        container.inject(ac);
        ac.setNamespace(TestConfigurationProvider.TEST_NAMESPACE);
        ac.setName(TestConfigurationProvider.TEST_ACTION_NAME+ "!executeThrowsException");
        ac.setRethrowException(false);
        boolean exceptionCaught = false;
        try {
            ac.executeAction();
        }
        catch (Exception e) {
            if (e instanceof StrutsException)
                exceptionCaught = true;
        }
        assertTrue(! exceptionCaught);    
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/IteratorComponentTest.java
=======================================================================
package org.apache.struts2.components;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.StrutsInternalTestCase;

import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;

public class IteratorComponentTest extends StrutsInternalTestCase {

    public void testIterator() throws Exception {
        // given
        final ValueStack stack = ActionContext.getContext().getValueStack();
        stack.push(new FooAction());

        StringWriter out = new StringWriter();

        IteratorComponent ic = new IteratorComponent(stack);
        ic.setValue("items");
        ic.setVar("val");

        Property prop = new Property(stack);

        ic.getComponentStack().push(prop);
        ic.getComponentStack().push(prop);
        ic.getComponentStack().push(prop);
        ic.getComponentStack().push(prop);

        String body = " ";

        // when
        assertTrue(ic.start(out));


        for (int i = 0; i < 4; i++) {
            prop.start(out);
            prop.end(out, body);
            ic.end(out, null);
        }

        // then
        assertEquals("item1 item2 item3 item4 ", out.getBuffer().toString());
    }

    public void testIteratorWithBegin() throws Exception {
        // given
        final ValueStack stack = ActionContext.getContext().getValueStack();
        stack.push(new FooAction());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/components/template/JspTemplateEngineTest.java
=======================================================================
package org.apache.struts2.components.template;

import org.apache.struts2.StrutsInternalTestCase;

public class JspTemplateEngineTest extends StrutsInternalTestCase {

    public void testEncodingGetsInjected() throws Exception {
        JspTemplateEngine jspTemplateEngine = new JspTemplateEngine();
        container.inject(jspTemplateEngine);
        assertNotNull(jspTemplateEngine.encoding);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/conversion/UploadedFileConverterTest.java
=======================================================================
package org.apache.struts2.conversion;

import org.apache.struts2.dispatcher.multipart.StrutsUploadedFile;
import org.apache.struts2.dispatcher.multipart.UploadedFile;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.File;
import java.lang.reflect.Member;
import java.util.Collections;
import java.util.Map;

import static org.fest.assertions.Assertions.assertThat;

public class UploadedFileConverterTest {

    private Map<String, Object> context;
    private Class target;
    private Member member;
    private String propertyName;
    private File tempFile;

    @Before
    public void setUp() throws Exception {
        context = Collections.emptyMap();
        target = File.class;
        member = File.class.getMethod("length");
        propertyName = "ignore";
        tempFile = File.createTempFile("struts", "test");
    }

    @After
    public void tearDown() throws Exception {
        tempFile.delete();
    }

    @Test
    public void convertUploadedFileToFile() throws Exception {
        // given
        UploadedFileConverter ufc = new UploadedFileConverter();
        UploadedFile uploadedFile = new StrutsUploadedFile(tempFile);

        // when
        Object result = ufc.convertValue(context, target, member, propertyName, uploadedFile, File.class);

        // then
        assertThat(result).isInstanceOf(File.class);
        File file = (File) result;
        assertThat(file.length()).isEqualTo(tempFile.length());

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/DefaultStaticContentLoaderTest.java
=======================================================================
package org.apache.struts2.dispatcher;

import org.apache.struts2.StrutsInternalTestCase;

import java.util.List;

public class DefaultStaticContentLoaderTest extends StrutsInternalTestCase {

    public void testParsePackages() throws Exception {

        DefaultStaticContentLoader filterDispatcher = new DefaultStaticContentLoader();
        List<String> result1 = filterDispatcher.parse("foo.bar.package1 foo.bar.package2 foo.bar.package3");
        List<String> result2 = filterDispatcher.parse("foo.bar.package1\tfoo.bar.package2\tfoo.bar.package3");
        List<String> result3 = filterDispatcher.parse("foo.bar.package1,foo.bar.package2,foo.bar.package3");
        List<String> result4 = filterDispatcher.parse("foo.bar.package1    foo.bar.package2  \t foo.bar.package3   , foo.bar.package4");

        assertEquals(result1.get(0), "foo/bar/package1/");
        assertEquals(result1.get(1), "foo/bar/package2/");
        assertEquals(result1.get(2), "foo/bar/package3/");

        assertEquals(result2.get(0), "foo/bar/package1/");
        assertEquals(result2.get(1), "foo/bar/package2/");
        assertEquals(result2.get(2), "foo/bar/package3/");

        assertEquals(result3.get(0), "foo/bar/package1/");
        assertEquals(result3.get(1), "foo/bar/package2/");
        assertEquals(result3.get(2), "foo/bar/package3/");

        assertEquals(result4.get(0), "foo/bar/package1/");
        assertEquals(result4.get(1), "foo/bar/package2/");
        assertEquals(result4.get(2), "foo/bar/package3/");
        assertEquals(result4.get(3), "foo/bar/package4/");
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequestTest.java
=======================================================================
package org.apache.struts2.dispatcher.multipart;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.dispatcher.LocalizedMessage;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.mock.web.DelegatingServletInputStream;
import org.testng.Assert;

public class JakartaStreamMultiPartRequestTest {

    private JakartaStreamMultiPartRequest multiPart;
    private Path tempDir;
    
    @Before
    public void initialize() {
        multiPart = new JakartaStreamMultiPartRequest();
        tempDir = Paths.get("target", "multi-part-test");
    }
    
    /**
     * Number of bytes in files greater than 2GB overflow the {@code int} primative.
     * The {@link HttpServletRequest#getContentLength()} returns {@literal -1} 
     * when the header is not present or the size is greater than {@link Integer#MAX_VALUE}.
     * @throws IOException 
     */
    @Test
    public void unknownContentLength() throws IOException {
        HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
        Mockito.when(request.getContentType()).thenReturn("multipart/form-data; charset=utf-8; boundary=__X_BOUNDARY__");
        Mockito.when(request.getMethod()).thenReturn("POST");
        Mockito.when(request.getContentLength()).thenReturn(Integer.valueOf(-1));
        StringBuilder entity = new StringBuilder();
        entity.append("\r\n--__X_BOUNDARY__\r\n");
        entity.append("Content-Disposition: form-data; name=\"upload\"; filename=\"test.csv\"\r\n");
        entity.append("Content-Type: text/csv\r\n\r\n1,2\r\n\r\n");
        entity.append("--__X_BOUNDARY__\r\n");
        entity.append("Content-Disposition: form-data; name=\"upload2\"; filename=\"test2.csv\"\r\n");
        entity.append("Content-Type: text/csv\r\n\r\n3,4\r\n\r\n");

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/dispatcher/ParameterTest.java
=======================================================================
package org.apache.struts2.dispatcher;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import static org.testng.Assert.*;

public class ParameterTest {

    private static final String PARAM_NAME = "param";

    @DataProvider(name = "paramValues")
    Object[][] paramValues() {
        return new Object[][] {
            {null, new String[0]},
            {"input", new String[] {"input"}},
            {Integer.valueOf(5), new String[] {"5"}},
            {new String[] {"foo"}, new String[] {"foo"}},
            {new Object[] {null}, new String[] {null}},
        };
    }

    @Test(dataProvider = "paramValues")
    public void shouldConvertRequestValuesToStringArrays(Object input, String[] expected) {
        Parameter.Request request = new Parameter.Request(PARAM_NAME, input);

        String[] result = request.getMultipleValues();

        assertEquals(result, expected);
        assertNotSame(result, input);
    }
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/MyResultFactory.java
=======================================================================
package org.apache.struts2.factory;

public class MyResultFactory extends StrutsResultFactory {
}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/factory/StrutsResultFactoryTest.java
=======================================================================
package org.apache.struts2.factory;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.factory.ResultFactory;
import org.apache.struts2.StrutsInternalTestCase;
import com.opensymphony.xwork2.result.ParamNameAwareResult;

import java.util.HashMap;
import java.util.Map;

public class StrutsResultFactoryTest extends StrutsInternalTestCase {

    public void testAcceptParams() throws Exception {
        // given
        initDispatcherWithConfigs("struts-default.xml");
        StrutsResultFactory builder = (StrutsResultFactory) container.getInstance(ResultFactory.class);

        Map<String, String> params = new HashMap<String, String>();
        params.put("accept", "ok");
        params.put("reject", "bad");
        ResultConfig config = new ResultConfig.Builder("struts", MyResult.class.getName()).addParams(params).build();
        Map<String, Object> context = new HashMap<String, Object>();

        // when
        Result result = builder.buildResult(config, context);

        // then
        assertEquals("ok", ((MyResult)result).getAccept());
        assertEquals("ok", ((MyResult)result).getReject());
    }

    public void testUseCustomResultBuilder() throws Exception {
        // given
        initDispatcherWithConfigs("struts-default.xml,struts-object-factory-result-builder.xml");

        // when
        ResultFactory actual = container.getInstance(ResultFactory.class);

        // then
        assertTrue(actual instanceof MyResultFactory);
    }

    public static class MyResult implements Result, ParamNameAwareResult {

        private String accept;
        private String reject = "ok";

        public boolean acceptableParameterName(String name, String value) {

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/CookieProviderInterceptorTest.java
=======================================================================
package org.apache.struts2.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.XWorkTestCase;
import org.easymock.EasyMock;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import java.util.HashSet;
import java.util.Set;

public class CookieProviderInterceptorTest extends XWorkTestCase {

    public void testPreResultListenerAddition() throws Exception {
        // given
        ActionInvocation invocation = EasyMock.createNiceMock(ActionInvocation.class);
        CookieProviderInterceptor interceptor = new CookieProviderInterceptor();

        invocation.addPreResultListener(interceptor);

        EasyMock.replay(invocation);

        // when
        interceptor.intercept(invocation);

        // then
        EasyMock.verify(invocation);
    }

    public void testCookieCreation() throws Exception {
        // given
        CookieProviderInterceptor interceptor = new CookieProviderInterceptor();

        final Cookie cookie = new Cookie("foo", "bar");

        CookieProvider action = new CookieProvider() {
            public Set<Cookie> getCookies() {
                Set<Cookie> cookies = new HashSet<Cookie>();
                cookies.add(cookie);
                return cookies;
            }
        };

        HttpServletResponse response = EasyMock.createNiceMock(HttpServletResponse.class);
        response.addCookie(cookie);
        EasyMock.replay(response);

        // when
        interceptor.addCookiesToResponse(action, response);


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java
=======================================================================
package org.apache.struts2.interceptor;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.StrutsInternalTestCase;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import org.apache.struts2.dispatcher.HttpParameters;

/**
 * Unit test for DateTextFieldInterceptor. 
 */
public class DateTextFieldInterceptorTest extends StrutsInternalTestCase {

    private DateTextFieldInterceptor interceptor;
    private MockActionInvocation ai;
    private Map<String, Object> param;
    
    protected void setUp() throws Exception {
    	super.setUp();
    	param = new HashMap<>();
    	
    	interceptor = new DateTextFieldInterceptor();
    	ai = new MockActionInvocation();
    	ai.setInvocationContext(ActionContext.getContext());
    }
	
	public void testNoParam() throws Exception {
		ActionContext.getContext().setParameters(HttpParameters.create(param).build());

		interceptor.init();
		interceptor.intercept(ai);
		interceptor.destroy();

		assertEquals(0, ai.getInvocationContext().getParameters().keySet().size());
	}

	public void testOneDateTextField() throws Exception {
		param.put("__year_name", new String[]{"2000"});
		param.put("__month_name", new String[]{"06"});
		param.put("__day_name", new String[]{"15"});

		ActionContext.getContext().setParameters(HttpParameters.create(param).build());

		interceptor.init();
		interceptor.intercept(ai);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/interceptor/MessageStorePreResultListenerTest.java
=======================================================================
package org.apache.struts2.interceptor;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
import com.opensymphony.xwork2.mock.MockActionProxy;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsInternalTestCase;
import org.apache.struts2.dispatcher.HttpParameters;
import org.apache.struts2.result.ServletRedirectResult;
import org.easymock.EasyMock;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class MessageStorePreResultListenerTest extends StrutsInternalTestCase {

    public void testSessionWasInvalidated() throws Exception {
        // given
        ActionContext actionContext = new ActionContext(new HashMap());
        actionContext.put(ActionContext.PARAMETERS, new LinkedHashMap());

        ActionInvocation mockActionInvocation = EasyMock.createControl().createMock(ActionInvocation.class);

        mockActionInvocation.getInvocationContext();
        EasyMock.expectLastCall().andReturn(actionContext);
        EasyMock.expectLastCall().anyTimes();

        EasyMock.replay(mockActionInvocation);

        HttpServletRequest mockedRequest = EasyMock.createControl().createMock(HttpServletRequest.class);
        mockedRequest.getSession(false);
        EasyMock.expectLastCall().andReturn(null);
        EasyMock.expectLastCall().once();
        ServletActionContext.setRequest(mockedRequest);

        EasyMock.replay(mockedRequest);

        HttpServletResponse mockedResponse = EasyMock.createControl().createMock(HttpServletResponse.class);
        mockedResponse.isCommitted();
        EasyMock.expectLastCall().andReturn(false);
        EasyMock.expectLastCall().once();

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/ComponentUtilsTest.java
=======================================================================
package org.apache.struts2.util;

import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.ConfigurationProvider;
import com.opensymphony.xwork2.inject.ContainerBuilder;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.ValueStackFactory;
import com.opensymphony.xwork2.util.location.LocatableProperties;
import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsInternalTestCase;

public class ComponentUtilsTest extends StrutsInternalTestCase {

    public void testStripExpression() throws Exception {
        // given
        ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();
        String anExpression = "%{foo}";

        // when
        String actual = ComponentUtils.stripExpressionIfAltSyntax(stack, anExpression);

        // then
        assertEquals(actual, "foo");
    }

    public void testNoStripExpressionIfNoAltSyntax() throws Exception {
        // given
        loadConfigurationProviders(new MockConfigurationProvider());
        ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();
        String anExpression = "%{foo}";

        // when
        String actual = ComponentUtils.stripExpressionIfAltSyntax(stack, anExpression);

        // then
        assertEquals(actual, "%{foo}");
    }

    public void testAltSyntaxIsTrue() throws Exception {
        // given
        ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack();

        // when
        boolean actual = ComponentUtils.altSyntax(stack);

        // then
        assertTrue(actual);
    }


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/util/URLDecoderUtilTest.java
=======================================================================
package org.apache.struts2.util;

import org.junit.Test;

import static org.junit.Assert.*;

public class URLDecoderUtilTest {

    @Test
    public void testURLDecodeStringInvalid() {
        // %n rather than %nn should throw an IAE according to the Javadoc
        Exception exception = null;
        try {
            URLDecoderUtil.decode("%5xxxxx", "ISO-8859-1");
        } catch (Exception e) {
            exception = e;
        }
        assertTrue(exception instanceof IllegalArgumentException);

        // Edge case trying to trigger ArrayIndexOutOfBoundsException
        exception = null;
        try {
            URLDecoderUtil.decode("%5", "ISO-8859-1");
        } catch (Exception e) {
            exception = e;
        }
        assertTrue(exception instanceof IllegalArgumentException);
    }

    @Test
    public void testURLDecodeStringValidIso88591Start() {

        String result = URLDecoderUtil.decode("%41xxxx", "ISO-8859-1");
        assertEquals("Axxxx", result);
    }

    @Test
    public void testURLDecodeStringValidIso88591Middle() {

        String result = URLDecoderUtil.decode("xx%41xx", "ISO-8859-1");
        assertEquals("xxAxx", result);
    }

    @Test
    public void testURLDecodeStringValidIso88591End() {

        String result = URLDecoderUtil.decode("xxxx%41", "ISO-8859-1");
        assertEquals("xxxxA", result);
    }


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerResultMockedTest.java
=======================================================================
package org.apache.struts2.views.freemarker;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.mock.MockActionInvocation;
import com.opensymphony.xwork2.util.ClassLoaderUtil;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.StrutsInternalTestCase;
import org.apache.struts2.StrutsStatics;
import org.apache.struts2.dispatcher.mapper.ActionMapper;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
import org.apache.struts2.views.jsp.StrutsMockHttpServletResponse;
import org.easymock.EasyMock;
import org.springframework.mock.web.MockHttpServletRequest;

import javax.servlet.ServletContext;
import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.MalformedURLException;
import java.net.URISyntaxException;

import static org.apache.struts2.views.jsp.AbstractUITagTest.normalize;

public class FreemarkerResultMockedTest extends StrutsInternalTestCase {

    ValueStack stack;
    MockActionInvocation invocation;
    ActionContext context;
    StrutsMockHttpServletResponse response;
    PrintWriter writer;
    StringWriter stringWriter;
    ServletContext servletContext;
    MockHttpServletRequest request;

    Configuration freemarkerConfig;

    public void testActionThatThrowsExceptionTag() throws Exception {
        File file = new File(FreeMarkerResultTest.class.getResource("callActionFreeMarker2.ftl").toURI());
        EasyMock.expect(servletContext.getRealPath("/tutorial/org/apache/struts2/views/freemarker/callActionFreeMarker.ftl")).andReturn(file.getAbsolutePath());
        file = new File(FreeMarkerResultTest.class.getResource("nested.ftl").toURI());
        EasyMock.expect(servletContext.getRealPath("/tutorial/org/apache/struts2/views/freemarker/nested.ftl")).andReturn(file.getAbsolutePath());
        EasyMock.replay(servletContext);

        init();


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerThemeTemplateLoaderTest.java
=======================================================================
package org.apache.struts2.views.freemarker;

import freemarker.cache.TemplateLoader;
import org.apache.struts2.StrutsInternalTestCase;
import org.apache.struts2.components.template.Template;
import org.apache.struts2.components.template.TemplateEngine;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.core.IsEqual;
import org.mockito.Matchers;

import java.util.HashMap;
import java.util.Map;

import static org.fest.assertions.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class FreemarkerThemeTemplateLoaderTest extends StrutsInternalTestCase {

    public void testThemeExpansionToken() throws Exception {
        // given
        FreemarkerThemeTemplateLoader loader = new FreemarkerThemeTemplateLoader();
        loader.setUIThemeExpansionToken("~~~");

        TemplateEngine engine = mock(TemplateEngine.class);
        loader.setTemplateEngine(engine);

        TemplateLoader parent = mock(TemplateLoader.class);
        when(parent.findTemplateSource("template/foo/bar/text.ftl")).thenReturn(new Object());

        loader.init(parent);

        // when
        Object actual = loader.findTemplateSource("template/~~~foo/bar/text.ftl");

        // then
        assertThat(actual).isNotNull();
    }

    public void testThemeExpansionTokenWithParent() throws Exception {
        // given
        FreemarkerThemeTemplateLoader loader = new FreemarkerThemeTemplateLoader();
        loader.setUIThemeExpansionToken("~~~");

        TemplateEngine engine = mock(TemplateEngine.class);
        Map<String, String> props = new HashMap<String, String>();
        props.put("parent", "foo/foo");
        when(engine.getThemeProps(Matchers.argThat(new IsEqual<Template>(new Template("template", "foo/bar", "text.ftl"))))).thenReturn(props);

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/NumberTagTest.java
=======================================================================
package org.apache.struts2.views.jsp;

import com.opensymphony.xwork2.ActionContext;
import org.apache.struts2.TestAction;

import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.Locale;

public class NumberTagTest extends AbstractTagTest {

    public void testSimpleFloatFormat() throws Exception {
        // given
        context.put(ActionContext.LOCALE, Locale.US);

        TestAction testAction = (TestAction) action;
        testAction.setFloatNumber(120.0f);

        NumberTag tag = new NumberTag();
        tag.setPageContext(pageContext);
        tag.setName("floatNumber");

        // when
        tag.doStartTag();
        tag.doEndTag();

        // then
        assertEquals("120", writer.toString());
    }
    
    public void testSimpleCurrencyUSFormat() throws Exception {
        // given
        context.put(ActionContext.LOCALE, Locale.US);
        
        TestAction testAction = (TestAction) action;
        testAction.setFloatNumber(120.0f);

        NumberTag tag = new NumberTag();
        tag.setPageContext(pageContext);
        tag.setName("floatNumber");
        tag.setType("currency");

        // when
        tag.doStartTag();
        tag.doEndTag();

        // then
        assertEquals("$120.00", writer.toString());
    }
    

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
=======================================================================
package org.apache.struts2.views.jsp.ui;

public enum LocaleKeyValueTest {

    ONE, TWO, THREE;
    
    public String getValueKey() {
        return getClass().getSimpleName() + "." + name();
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
=======================================================================
package org.apache.struts2.views.jsp.ui;

import java.util.Arrays;
import java.util.List;

import org.apache.struts2.TestAction;

import com.opensymphony.xwork2.Action;

public class LocaleTestAction extends TestAction implements Action {

    @SuppressWarnings("unused")
    public List<LocaleKeyValueTest> getSelectValues() {
        return Arrays.asList(LocaleKeyValueTest.values());
    }

}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ActionSupportTest$MyActionSupport_da.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

hello=Hello World
hello.0=Hello World {0}
hello.1=Hello World. This is {0} speaking {1}

format.number = {0,number,#0.0##}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/AnnotatedTestBean.properties
=======================================================================
invalid.count=Count must be between ${min} and ${max}, current value is ${count}.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder1/xwork-test-load-order.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1.3//EN"
    "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
 >

<xwork order="2">
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder2/xwork-test-load-order.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1.3//EN"
    "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
 >

<xwork order="3">
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/loadorder3/xwork-test-load-order.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1.3//EN"
    "http://struts.apache.org/dtds/xwork-2.1.3.dtd"
 >

<xwork order="1">
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork- test.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logging" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">fooDefault</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
            </interceptor-stack>
        </interceptors>

        <global-results>
            <result name="login"> <!-- should be chain type since it is the default -->
                <param name="actionName">login</param>
            </result>
        </global-results>

        <action name="Bar" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <param name="testXW412">foo.jspa?fooID=${fooID}&amp;something=bar</param>
            <param name="testXW412Again">
            		something
            </param>
            <param name="testForXW171"></param>
        </action>

        <action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">18</param>
            <param name="bar">24</param>
            <result name="success" type="mock" />
            <interceptor-ref name="defaultStack"/>
        </action>

        <action name="WildCard" class="com.opensymphony.xwork2.SimpleAction">
            <result name="*" type="mock" />

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="namespace5" extends="namespace4" namespace="/namespace5">
        <action name="action5" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="namespace4" extends="namespace1" namespace="/namespace4">
        <interceptors>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
        </interceptors>

        <action name="action4" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>


    <include file="com/opensymphony/xwork2/config/providers/xwork-include-after-package-2.xml" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="namespace2" extends="namespace1" namespace="/namespace2">
        <action name="action2" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />

    <package name="namespace1" extends="default" namespace="/namespace1">
        <interceptors>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
        </interceptors>

        <action name="action1" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>

    <include file="com/opensymphony/xwork2/config/providers/xwork-include-before-package-2.xml" />

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-include-parent.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
	<include file="xwork-test-default.xml" />

    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
        </result-types>
        <interceptors>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
        </interceptors>
    </package>

    <include file="com/opensymphony/xwork2/config/providers/xwork-include-before-package.xml" />


    <include file="com/opensymphony/xwork2/config/providers/xwork-include-after-package.xml" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-action-invalid.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">

        <action name="Foo" class="com.opensymphony.xwork2.config.providers.PrivateConstructorAction">
            <param name="foo">13</param>
        </action>

        <action name="Bar" class="com.opensymphony.xwork2.config.providers.NoNoArgsConstructorAction">
            <param name="bar">17</param>
        </action>

        <action name="FooBar" class="com.opensymphony.xwork2.config.providers.IDoNotExistAction">
            <param name="foobar">17</param>
        </action>

    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions-packagedefaultclassref.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="default">

        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logging" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">fooDefault</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
            </interceptor-stack>
        </interceptors>

		<default-class-ref class="com.opensymphony.xwork2.UserSpecifiedDefaultAction" />

        <global-results>
            <result name="login"> <!-- should be chain type since it is the default -->
                <param name="actionName">login</param>
            </result>
        </global-results>

		<!--  No class spcified for action. This should use the default-class-ref -->
        <action name="Bar">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <param name="testForXW171"></param>
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-actions.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logging" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">fooDefault</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
            </interceptor-stack>
        </interceptors>

        <global-results>
            <result name="login"> <!-- should be chain type since it is the default -->
                <param name="actionName">login</param>
            </result>
        </global-results>

        <action name="Bar" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <param name="testXW412">foo.jspa?fooID=${fooID}&amp;something=bar</param>
            <param name="testXW412Again">
            		something
            </param>
            <param name="testForXW171"></param>
        </action>

        <action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">18</param>
            <param name="bar">24</param>
            <result name="success" type="mock" />
            <interceptor-ref name="defaultStack"/>
        </action>

        <action name="WildCard" class="com.opensymphony.xwork2.SimpleAction">
            <result name="*" type="mock" />

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-allowed-methods.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.5//EN"
    "http://struts.apache.org/dtds/xwork-2.5.dtd"
 >

<xwork>
    <package name="default" strict-method-invocation="false">
        <global-allowed-methods>input,cancel</global-allowed-methods>
        <action name="Default">
        </action>

        <action name="Boring">
            <allowed-methods> </allowed-methods>
        </action>

        <action name="Foo">
            <allowed-methods>foo</allowed-methods>
        </action>

        <action name="Bar">
            <allowed-methods>foo,bar</allowed-methods>
        </action>

        <action name="Baz" method="baz">
            <allowed-methods>foo,bar</allowed-methods>
        </action>
    </package>

    <package name="strict" strict-method-invocation="true">
        <global-allowed-methods>input,cancel</global-allowed-methods>
        <action name="Default">
        </action>

        <action name="Boring">
            <allowed-methods></allowed-methods>
        </action>

        <action name="Foo">
            <allowed-methods>foo</allowed-methods>
        </action>

        <action name="Bar">
            <allowed-methods>foo,bar</allowed-methods>
        </action>

        <action name="Baz" method="baz">
            <allowed-methods>foo,bar</allowed-methods>
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-bad-inheritance.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default" />

    <package name="badPackage" extends="nonexistentPackage"/>

    <package name="circularPackage" extends="circularPackage"/>

    <package name="anotherCircularPackage" extends="anotherCircularPackage2"/>
    
    <package name="anotherCircularPackage2" extends="anotherCircularPackage"/>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-basic-packages.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default" />

    <package name="namespacepkg" namespace="/namespace/set" />

    <package name="abstractpkg" abstract="true" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-default-package.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-defaultclassref-package.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="hasDefaultClassRef">
    	<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
    </package>
    <package name="noDefaultClassRef"/>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-envs-substitution.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.5//EN"
    "http://struts.apache.org/dtds/xwork-2.5.dtd"
 >

<xwork>

    <constant name="foo" value="bar"/>

    <constant name="user" value="${env.USER}"/>
    <constant name="home" value="Current HOME = ${env.HOME}"/>
    <constant name="os" value="Current OS = ${os.name}"/>
    <constant name="unknown" value="Unknown = ${env.UNKNOWN:default}"/>

    <constant name="struts.devMode" value="${env.STRUTS_DEV_MODE:false}"/>

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-exception-mappings.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <global-results>
            <!-- should be chain type since it is the default -->
            <result name="login">login</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.RuntimeException" result="runForDeeHillz"/>
            <exception-mapping exception="com.opensymphony.xwork2.XworkException" result="xworkNaughty"/>
        </global-exception-mappings>

        <action name="Bar" class="com.opensymphony.xwork2.SimpleAction">
            <exception-mapping exception="com.opensymphony.xwork2.SpookyException" result="spooky-result"/>
            <result name="spooky-result" type="mock"/>
            <result name="specificLocationResult">
                <param name="actionName">bar.vm</param>
            </result>
        </action>

    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-global-result-inheritence.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
	<package name="parent" namespace="/base">
		<result-types>
			<result-type name="mockResult" class="com.opensymphony.xwork2.mock.MockResult" />
		</result-types>
		<global-results>
			<result name="mockResult1" type="mockResult">
				<param name="identity">p1</param>
			</result>
			<result name="mockResult2" type="mockResult">
				<param name="identity">p2</param>
			</result>
		</global-results>
		<action name="parentAction" />
	</package>


	<package name="another" namespace="/base">
		<result-types>
			<result-type name="anotherMockResult" class="com.opensymphony.xwork2.mock.MockResult" />
		</result-types>
		<global-results>
			<result name="mockResult1" type="anotherMockResult">
				<param name="identity">a1</param>
			</result>
			<result name="mockResult2" type="anotherMockResult">
				<param name="identity">a2</param>
			</result>
		</global-results>
		<action name="anotherAction" />
	</package>

	<package name="child" extends="parent" namespace="/base">
		<global-results>
			<result name="mockResult1" type="mockResult">
				<param name="identity">c1</param>
			</result>
		</global-results>
		<action name="childAction" />
	</package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-include-wildcard.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1//EN"
    "http://struts.apache.org/dtds/xwork-2.1.dtd"
    >

<xwork>
  <include file="com/opensymphony/xwork2/config/providers/xwork-include-*.xml"/>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-defaultref.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
    <!-- this package has a default interceptor ref - so actions with no refs should have the default ref -->
    <package name="default">
        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logging" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
        </interceptors>

        <default-interceptor-ref name="timer" />
        <action name="ActionWithOwnRef" class="com.opensymphony.xwork2.SimpleAction">
            <interceptor-ref name="logging"/>
        </action>
        <action name="ActionWithDefaultRef" class="com.opensymphony.xwork2.SimpleAction" />
    </package>

    <!-- this package has no default interceptor ref - so actions with no refs should inherit the default interceptor -->
    <!-- this tests that default interceptor refs are inherited -->
    <package name="subpackage" extends="default">
        <action name="ActionWithNoRef" class="com.opensymphony.xwork2.SimpleAction" />

        <action name="AnotherActionWithOwnRef" class="com.opensymphony.xwork2.SimpleAction">
            <interceptor-ref name="logging"/>
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-inheritance.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
            </interceptor-stack>
        </interceptors>
    </package>

    <package name="subPackage" extends="default">
        <interceptors>
            <interceptor-stack name="subDefaultStack">
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
        </interceptors>
    </package>

    <package name="subSubPackage" extends="subPackage">
        <interceptors>
            <interceptor-stack name="subSubDefaultStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="subDefaultStack"/>
            </interceptor-stack>
        </interceptors>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-param-overriding.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd">

<xwork>
	<include file="xwork-test-beans.xml" />
	<package name="packageOne">
		<result-types>
			<result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult" />
		</result-types>
	
		<interceptors>
			<interceptor name="interceptorOne" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
			<interceptor name="interceptorTwo" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
			<interceptor name="interceptorThree" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
			
			<interceptor-stack name="stackOne">
				<interceptor-ref name="interceptorOne" />
				<interceptor-ref name="interceptorTwo" />
				<interceptor-ref name="interceptorThree" />
			</interceptor-stack>
		</interceptors>
		
		<action name="actionOne">
			<interceptor-ref name="stackOne">
				<param name="interceptorOne.paramOne">i1p1</param>
				<param name="interceptorOne.paramTwo">i1p2</param>
				<param name="interceptorTwo.paramOne">i2p1</param>
			</interceptor-ref>
			<result name="success" type="mock">test1</result>
		</action>
		
		<action name="actionTwo">
			<interceptor-ref name="stackOne">
				<param name="interceptorThree.paramOne">i3p1</param>
				<param name="interceptorThree.paramTwo">i3p2</param>
				<param name="interceptorTwo.paramTwo">i2p2</param>
			</interceptor-ref>
			<result name="success" type="mock">test2</result>
		</action>
	</package>
</xwork>    
    

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-params.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 1.1.1//EN"
        "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
        >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">fooDefault</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="test"/>
            </interceptor-stack>
        </interceptors>

        <default-interceptor-ref name="defaultStack" />

        <action name="TestInterceptorParam" class="com.opensymphony.xwork2.SimpleAction">
            <interceptor-ref name="defaultStack">
                <param name="test.expectedFoo">expectedFooValue</param>
            </interceptor-ref>
        </action>

        <action name="TestInterceptorParamOverride" class="com.opensymphony.xwork2.SimpleAction">
            <interceptor-ref name="defaultStack">
                <param name="test.foo">foo123</param>
                <param name="test.expectedFoo">expectedFooValue2</param>
            </interceptor-ref>
        </action>
    </package>

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptor-stack-param-overriding.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>
	<package name="packageOne">
		<result-types>
			<result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult" />
		</result-types>

		<interceptors>
			<interceptor name="interceptorOne" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
			<interceptor name="interceptorTwo" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />
			<interceptor name="interceptorThree" class="com.opensymphony.xwork2.config.providers.InterceptorForTestPurpose" />

			<interceptor-stack name="stackOne">
				<interceptor-ref name="interceptorOne" />
				<interceptor-ref name="interceptorTwo" />
				<interceptor-ref name="interceptorThree" />
			</interceptor-stack>

			<interceptor-stack name="stackTwo">
				<interceptor-ref name="stackOne" />
			</interceptor-stack>

			<interceptor-stack name="stackThree">
				<interceptor-ref name="stackTwo" />
			</interceptor-stack>

		</interceptors>

		<action name="actionOne">
			<interceptor-ref name="stackTwo">
				<param name="stackOne.interceptorOne.paramOne">i1p1</param>
				<param name="stackOne.interceptorOne.paramTwo">i1p2</param>
				<param name="stackOne.interceptorTwo.paramOne">i2p1</param>
			</interceptor-ref>
			<result name="success" type="mock">test1</result>
		</action>

		<action name="actionTwo">
			<interceptor-ref name="stackThree">
				<param name="stackTwo.stackOne.interceptorThree.paramOne">i3p1</param>
				<param name="stackTwo.stackOne.interceptorThree.paramTwo">i3p2</param>
				<param name="stackTwo.stackOne.interceptorTwo.paramTwo">i2p2</param>
			</interceptor-ref>
			<result name="success" type="mock">test2</result>
		</action>
	</package>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-basic.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logging" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">expectedFoo</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="test"/>
            </interceptor-stack>

            <interceptor-stack name="derivativeStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="logging"/>
            </interceptor-stack>
        </interceptors>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-interceptors-spring.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <interceptors>
            <interceptor name="timer" class="timer-interceptor"/>
        </interceptors>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-invalid-file.xml
=======================================================================
        <action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <result name="success" type="chain">
                <param name="actionName">Bar</param>
            </result>
            <interceptor-ref name="debugStack"/>
            <interceptor-ref name="defaultStack"/>
        </action>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-multilevel.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
        </result-types>
        <interceptors>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
        </interceptors>
    </package>

    <package name="namespace1" extends="default" namespace="/namespace1">
        <interceptors>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
        </interceptors>

        <action name="action1" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>


    <package name="namespace2" extends="namespace1" namespace="/namespace2">
        <action name="action2" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
        </action>
    </package>

    <package name="namespace3" extends="namespace2" namespace="/namespace3">
        <action name="action3" class="com.opensymphony.xwork2.SimpleAction">
            <result name="success" type="chain"/>
            <interceptor-ref name="params"/>
            <interceptor-ref name="staticParams"/>
        </action>
    </package>

</xwork>


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-package-inheritance.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default" namespace="/default">
        <action name="default" class="com.opensymphony.xwork2.ActionSupport"/>
    </package>

    <package name="abstractPackage" abstract="true">
        <action name="abstract" class="com.opensymphony.xwork2.ActionSupport"/>
    </package>

    <package name="singleInheritance" namespace="/single" extends="default">
        <action name="single" class="com.opensymphony.xwork2.ActionSupport"/>
    </package>
    
    <package name="testParentBelow" namespace="/parentBelow" extends="multipleInheritance">
    	<action name="testParentBelowAction" class="com.opensymphony.xwork2.ActionSupport"/>
    </package>

    <package name="multipleInheritance" namespace="/multiple" extends="default,abstractPackage,singleInheritance">
        <action name="multiple" class="com.opensymphony.xwork2.ActionSupport"/>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-inheritance.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true" />
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>
    </package>

    <package name="subPackage" extends="default">
        <result-types>
            <result-type name="subMock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <action name="Bar" class="com.opensymphony.xwork2.SimpleAction">
            <result name="chainDefaultTypedResult" />
            <result name="mockTypedResult" type="mock" />
            <result name="subMockTypedResult" type="subMock" />
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.5//EN"
    "http://struts.apache.org/dtds/xwork-2.5.dtd"
 >

<xwork>
    <include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
        </result-types>

        <action name="noname">
            <result />
        </action>

        <action name="success">
            <result name="success" />
        </action>

        <action name="empty">
            <result name="" />
        </action>

        <action name="comma">
            <result name=" , " />
        </action>

        <action name="error-input">
            <result name="error, input" />
        </action>

        <action name="error-input2">
            <result name="error, input, " />
        </action>

        <action name="noname-error-input">
            <result />
            <result name="error, input" />
        </action>

        <action name="noname-error-input2">
            <result />
            <result name="error" />
            <result name="input" />
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-types.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE xwork PUBLIC 
	"-//Apache Struts//XWork 1.1.1//EN"
	"http://struts.apache.org/dtds/xwork-1.1.1.dtd">
 
<xwork>
    <include file="xwork-test-beans.xml" />
	<package name="xworkResultTypesTestPackage1">
		<result-types>
			<result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult" >
				<param name="param1">value1</param>
				<param name="param2">value2</param>
				<param name="param3">value3</param>
			</result-type>
			<result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
				<param name="paramA">valueA</param>
				<param name="paramB">valueB</param>
			</result-type>
		</result-types>
	</package>
	
	
	<package name="xworkResultTypesTestPackage2">
		<result-types>
			<result-type name="result1" class="com.opensymphony.xwork2.mock.MockResult" >
				<param name="param1">value1</param>
				<param name="param2">value2</param>
				<param name="param3">value3</param>
			</result-type>
			<result-type name="result2" class="com.opensymphony.xwork2.mock.MockResult">
				<param name="paramA">valueA</param>
				<param name="paramB">valueB</param>
			</result-type>
		</result-types>
		
		<action name="action1">
			<result name="success" type="result1">
				<param name="param1">newValue1</param>
				<param name="param3">newValue3</param>
				<param name="param10">value10</param>
				<param name="param11">value11</param>
			</result>
		</action>
		
		<action name="action2">
			<result name="success" type="result2">
				<param name="paramB">newValueB</param>
				<param name="paramZ">valueZ</param>
			</result>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-results.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <global-results>
            <!-- should be chain type since it is the default -->
            <result name="login">login</result>
        </global-results>

        <action name="Bar" class="com.opensymphony.xwork2.SimpleAction">
            <result name="chainDefaultTypedResult" />
            <result name="mockTypedResult" type="mock" />
            <result name="specificLocationResult">
                <param name="actionName">bar.vm</param>
            </result>
            <result name="defaultLocationResult">foo.vm</result>
            <result name="noDefaultLocationResult"> <!-- this will have only one param, named foo -->
                foo.vm
                <param name="foo">bar</param>
            </result>
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-1.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
    <package name="default-1" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-2.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
    <package name="default-2" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-wildcard-include.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
    <include file="xwork-test-beans.xml" />
    <include file="com/opensymphony/xwork2/config/providers/xwork-test-wildcard-*.xml" />
    <!-- config file defined inside xwork-jar.jar -->
    <include file="xwork-jar.xml" />
    <package name="default-wildcard" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack-empty.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1//EN"
    "http://struts.apache.org/dtds/xwork-2.1.dtd"
 >

<xwork>
    <bean type="com.opensymphony.xwork2.UnknownHandler" name="uh1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
    <bean type="com.opensymphony.xwork2.UnknownHandler" name="uh2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>

    <unknown-handler-stack>
    </unknown-handler-stack>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-unknownhandler-stack.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.1//EN"
    "http://struts.apache.org/dtds/xwork-2.1.dtd"
 >

<xwork>
    <bean type="com.opensymphony.xwork2.UnknownHandler" name="uh1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
    <bean type="com.opensymphony.xwork2.UnknownHandler" name="uh2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>

    <unknown-handler-stack>
        <unknown-handler-ref name="uh1" />
        <unknown-handler-ref name="uh2" />
    </unknown-handler-stack>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/conversion/impl/test-xwork-conversion.properties
=======================================================================
com.opensymphony.xwork2.util.Bar=com.opensymphony.xwork2.conversion.impl.FooBarConverter

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/DefaultTextProviderTest_en_CA.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

hello=Hello World
hello.0=Hello World {0}
hello.1=Hello World. This is {0} speaking {1}

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="count">
        <field-validator type="required">
            <message>You must enter a value for count.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">10</param>
            <message>count must be between ${min} and ${max}, current value is ${count}.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAction.properties
=======================================================================
invalid.fieldvalue.birth=Invalid date for birth.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ModelDrivenAnnotationAction.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

invalid.fieldvalue.birth=Invalid date for birth.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-some-alias-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="baz">
        <field-validator type="required">
            <message>You must enter a value for baz.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">2</param>
            <param name="max">4</param>
            <message>baz out of range.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-subproperty-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bean.name">
        <field-validator type="required">
            <message>You must enter a name for the bean.</message>
        </field-validator>
    </field>
    <field name="bean.count">
        <field-validator type="required">
            <message>You must have a count for the bean.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">0</param>
            <param name="max">10</param>
            <message>bean.count out of range.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bar">
        <field-validator type="required">
            <message>You must enter a value for bar.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">6</param>
            <param name="max">10</param>
            <message>bar must be between ${min} and ${max}, current value is ${bar}.</message>
        </field-validator>
    </field>
    <field name="percentage">
        <field-validator type="double">
            <param name="minExclusive">0.1</param>
            <param name="maxExclusive">10.1</param>
            <message>percentage must be between ${minExclusive} and ${maxExclusive}, current value is ${percentage}.</message>
        </field-validator>
    </field>
    <field name="date">
        <field-validator type="date">
            <param name="min">12/22/2002</param>
            <param name="max">12/25/2002</param>
            <message>The date must be between 12-22-2002 and 12-25-2002.</message>
        </field-validator>
    </field>
    <field name="foo">
        <field-validator type="int">
            <param name="min">0</param>
            <param name="max">100</param>
            <message key="foo.range">Could not find foo.range!</message>
        </field-validator>
    </field>
    <field name="baz">
        <field-validator type="int">
            <param name="min">0</param>
            <message key="baz.range">Could not find baz.range!</message>
        </field-validator>
    </field>
    <field name="longFoo">
        <field-validator type="long">
            <param name="min">0</param>
            <param name="max">100</param>
            <message key="foo.range">Could not find foo.range!</message>
        </field-validator>
    </field>
    <field name="shortFoo">
        <field-validator type="short">
            <param name="min">0</param>
            <param name="max">100</param>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction-validationAlias-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="baz">
        <field-validator type="required">
            <message>You must enter a value for baz.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">2</param>
            <param name="max">4</param>
            <message>baz out of range.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction.properties
=======================================================================
foo.range=Foo Range Message
baz.range=${getText(fieldName)} must be greater than ${min}
baz=Baz Field

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_de.properties
=======================================================================
foo.range=I don''t know German

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAction_en.properties
=======================================================================

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

foo.range=Foo Range Message
baz.range=${getText(fieldName)} must be greater than ${min}
baz=Baz Field

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_de.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

foo.range=I don''t know German

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/SimpleAnnotationAction_en.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/somefile.txt
=======================================================================
this
is
a
file
of
great
import
or
something

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-spring.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:aop="http://www.springframework.org/schema/aop"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop.xsd">

	<bean id="simple-action" class="com.opensymphony.xwork2.SimpleAction" scope="prototype"/>

    <bean id="dependency-action" class="com.opensymphony.xwork2.SimpleAction" scope="prototype">
        <property name="blah"><value>injected</value></property>
    </bean>

    <bean id="execute-interceptor" class="com.opensymphony.xwork2.spring.ExecuteInterceptor"/>

    <bean id="proxied-action" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="singleton"><value>false</value></property>  
		<property name="proxyTargetClass"><value>true</value></property>
		<property name="interceptorNames">
			<list>
				<value>execute-interceptor</value>
                <!-- When "singleton" is false, the target appears to be required here to 
                     ensure that the config works as it should -->
                <value>simple-action</value>
			</list>
		</property>
	</bean>

    <bean id="auto-proxied-action" class="com.opensymphony.xwork2.SimpleAction" scope="prototype"/>

    <bean id="xwork-actions-proxy-creator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="proxyTargetClass"><value>true</value></property>
		<property name="interceptorNames">
			<list>
				<value>execute-interceptor</value>
			</list>
		</property>
        <property name="beanNames"><value>auto-proxied-action</value></property>
    </bean>
    
    <bean id="springResult" class="com.opensymphony.xwork2.spring.SpringResult" init-method="initialize">
		<property name="stringParameter" value="my string"/>
	</bean>

    <bean id="pointcutted-test-bean" class="com.opensymphony.xwork2.TestBean">
        <property name="name"><value>WW-4105</value></property>
        <property name="count"><value>1</value></property>
    </bean>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/actionContext-xwork.xml
=======================================================================
<!DOCTYPE xwork PUBLIC "-//Apache Struts//XWork 2.0//EN" "http://struts.apache.org/dtds/xwork-2.0.dtd">
<xwork>
	<bean type="com.opensymphony.xwork2.ObjectFactory" class="com.opensymphony.xwork2.spring.SpringObjectFactory" />
	<constant name="applicationContextPath" value="com/opensymphony/xwork2/spring/actionContext-spring.xml" />
    <constant name="struts.disallowProxyMemberAccess" value="true" />
    <package name="default">
        <result-types>
            <result-type name="null" class="com.opensymphony.xwork2.mock.MockResult" default="true"/>
            <result-type name="springResult" class="springResult" />
            <result-type name="chain"
                class="com.opensymphony.xwork2.ActionChainResult" />
        </result-types>

        <interceptors>
            <interceptor name="chain"
                class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="params"
                class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
        </interceptors>

		<action name="simpleAction" class="simple-action"/>

        <action name="dependencyAction" class="dependency-action"/>

        <action name="proxiedAction" class="proxied-action"/>

        <action name="autoProxiedAction" class="auto-proxied-action"/>
        
        <action name="simpleActionSpringResult" class="simple-action">
			<result name="error" type="springResult"/>
		</action>

        <action name="chainedAOPedTestBeanAction" class="pointcutted-test-bean"
            method="getName">
            <result name="WW-4105" type="chain">
                <param name="actionName">chaintoAOPedTestSubBeanAction</param>
            </result>
        </action>
        <action name="chaintoAOPedTestSubBeanAction" class="pointcutted-test-sub-bean"
            method="getIssueId">
            <interceptor-ref name="chain" />
            <interceptor-ref name="params" />
            <result name="WW-4105" type="null" />
            <result name="S2-047" type="null" />
        </action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/autowireContext.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="spring-object-factory" class="com.opensymphony.xwork2.spring.SpringObjectFactory"/>
</beans>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/resolverApplicationContext.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
	<bean id="myFoo" class="com.opensymphony.xwork2.spring.Foo">
		<property name="name"><value>Little Foo</value></property>
	</bean>
	<bean id="myBar" class="com.opensymphony.xwork2.spring.Bar" autowire="byType">
		<property name="value"><value>16</value></property>
	</bean>
</beans>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/spring/xwork-autowire.xml
=======================================================================
<!DOCTYPE xwork PUBLIC "-//Apache Struts//XWork 2.0//EN" "http://struts.apache.org/dtds/xwork-2.0.dtd">
<xwork>
	<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory" />
	<bean type="com.opensymphony.xwork2.ObjectFactory" name="default" class="com.opensymphony.xwork2.spring.SpringObjectFactory" />
	<constant name="applicationContextPath" value="com/opensymphony/xwork2/spring/actionContext-spring.xml" />
    <package name="default">
        <result-types>
            <result-type name="null"
class="com.opensymphony.xwork2.result.NullResult" default="true"/>
        </result-types>

        <interceptors>
            <interceptor name="autowire" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor">
              <param name="autowireStrategy">@org.springframework.beans.factory.config.AutowireCapableBeanFactory@AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE</param>
            </interceptor>
        </interceptors>

        <default-interceptor-ref name="autowire"/>

       <action name="simpleAction" class="com.opensymphony.xwork2.SimpleAction"/>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-conversion.properties
=======================================================================
barObj=com.opensymphony.xwork2.conversion.impl.FooBarConverter

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="data">
        <field-validator type="required">
            <message>You must enter a value for data.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware-validationAlias-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="data">
        <field-validator type="requiredstring">
            <message>You must enter a value for data.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware.properties
=======================================================================
test.foo = Foo!
test.bar = Bar!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/DataAware2-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bling">
        <field-validator type="requiredstring">
            <message>You must enter a value for data.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/Equidae-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="horse">
        <field-validator type="requiredstring">
            <param name="trim">false</param>
            <message>noTrim</message>
        </field-validator>
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>trim</message>
        </field-validator>
    </field>

    <field name="cow">
        <field-validator type="stringlength">
            <param name="trim">false</param>
            <param name="minLength">5</param>
            <message>noTrim-min5</message>
        </field-validator>
        <field-validator type="stringlength">
            <param name="trim">false</param>
            <param name="minLength">5</param>
            <param name="maxLength">10</param>
            <message>noTrim-min5-max10</message>
        </field-validator>
        <field-validator type="stringlength">
            <param name="trim">false</param>
            <param name="maxLength">10</param>
            <message>noTrim-max10</message>
        </field-validator>
    </field>

    <field name="donkey">
        <field-validator type="stringlength">
            <param name="trim">true</param>
            <param name="minLength">5</param>
            <message>trim-min5</message>
        </field-validator>
        <field-validator type="stringlength">
            <param name="trim">true</param>
            <param name="minLength">5</param>
            <param name="maxLength">10</param>
            <message>trim-min5-max10</message>
        </field-validator>
        <field-validator type="stringlength">
            <param name="trim">true</param>
            <param name="maxLength">10</param>
            <message>trim-max10</message>
        </field-validator>
    </field>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/package.properties
=======================================================================
package.properties=It works!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="count">
        <field-validator type="required">
            <message>You must enter a value for count.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">0</param>
            <param name="max">5</param>
            <message>count must be between ${min} and ${max}, current value is ${count}.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/SimpleAction2-validationAlias-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="baz">
        <field-validator type="required">
            <message>You must enter a value for baz.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">2</param>
            <param name="max">4</param>
            <message>baz out of range.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/TestBean2-conversion.properties
=======================================================================
cat = com.opensymphony.xwork2.conversion.impl.FooBarConverter

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-conversion.properties
=======================================================================
Collection_list = java.lang.String
Collection_map = java.lang.String

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/User-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="name">
        <field-validator type="required">
            <message key="name.key">You must enter a value for name.</message>
        </field-validator>
    </field>

    <field name="email">
        <field-validator type="email" short-circuit="true">
            <message>Not a valid e-mail.</message>
        </field-validator>
        <field-validator type="fieldexpression">
            <param name="expression">email.endsWith('mycompany.com')</param>
            <message>Email not from the right company.</message>
        </field-validator>
    </field>

    <field name="email2">
        <field-validator type="email">
            <message>Not a valid e-mail2.</message>
        </field-validator>
        <field-validator type="fieldexpression">
            <param name="expression">email.endsWith('mycompany.com')</param>
            <message>Email2 not from the right company.</message>
        </field-validator>
    </field>

    <validator type="expression">
        <param name="expression">email.startsWith('mark')</param>
        <message>Email does not start with mark</message>
    </validator>
    <validator type="expression">
        <param name="expression">email2.startsWith('mark')</param>
        <message>Email2 does not start with mark</message>
    </validator>

</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test/UserMarker-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="email">
        <field-validator type="required" short-circuit="true">
            <message>You must enter a value for email.</message>
        </field-validator>
    </field>
    <field name="email2">
        <field-validator type="required" short-circuit="true">
            <message>You must enter a value for email2.</message>
        </field-validator>
    </field>
    <validator type="expression" short-circuit="true">
        <param name="expression">email.equals(email2)</param>
        <message>Email not the same as email2</message>
    </validator>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/test.properties
=======================================================================
xwork.error.action.execution=Testing resource bundle override

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-anotherContext-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="count">
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">100</param>
            <message>Count must be between ${min} and ${max}, current value is ${count}.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-badtest-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="name">
        <field-validator type="requiredstring" foo="bar">
            <message>You must enter a name.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-beanMessageBundle-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="count">
        <field-validator type="int" short-circuit="true">
            <param name="min">1</param>
            <param name="max">100</param>
            <message key="invalid.count">Invalid count value, must be between ${min} and ${max}, current value ${count}!</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">20</param>
            <param name="max">80</param>
            <message key="invalid.count.bad">Smaller Invalid Count: ${count}</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-expressionValidation-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="name">
        <field-validator type="fieldexpression">
            <param name="expression">name.length() > 5</param>
            <message>Name must be greater than 5 characters, it is currently '${name}'</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="name">
        <field-validator type="requiredstring">
            <message>You must enter a name.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorChildValidation-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="birth">
        <field-validator type="date">
            <param name="min">01/01/1970</param>
            <message>You must have been born after 1970.</message>
        </field-validator>
    </field>
    <field name="child">
        <field-validator type="visitor">
            <message>child bean: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean-visitorValidation-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="birth">
        <field-validator type="date">
            <param name="min">01/01/1970</param>
            <message>You must have been born after 1970.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestBean.properties
=======================================================================
invalid.count=TestBean model: Count must be between ${min} and ${max}, current value is ${count}.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TestChildBean-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="name">
        <field-validator type="requiredstring" short-circuit="true">
            <message>You must enter a name.</message>
        </field-validator>
    <field-validator type="fieldexpression">
        <param name="expression">name == 'test'</param>
        <message>Name is invalid</message>
    </field-validator> 
    </field>
    <field name="birth">
        <field-validator type="date">
            <param name="min">01/01/1970</param>
            <message>You must have been born after 1970.</message>
        </field-validator>
    </field>
    <field name="count">
        <field-validator type="conversion">
            <message>Count must be an integer.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/TextProviderSupportTest_en.properties
=======================================================================
#
# Copyright (c) 2002-2006 by OpenSymphony
# All rights reserved.
#

hello=Hello World
hello.0=Hello World {0}
hello.1=Hello World. This is {0} speaking {1}
#wrong (unescaped ', {, \): symbols1="=!@#$%^&*(){qwe}<>?:|}{[]\';/.,<>`~'
symbols1="=!@#$%^&*()'{'qwe}<>?:|}'{'[]\\'';/.,<>`~''
#wrong: symbols1="=!@#$%^&*()<>?:|[]\';/.,<>`~'
symbols2="=!@#$%^&*()<>?:|[]\\'';/.,<>`~''

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Bar.properties
=======================================================================
title=Title:
invalid.fieldvalue.title=Title is invalid!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Cat-conversion.properties
=======================================================================
Collection_kittens = com.opensymphony.xwork2.util.Cat
foo.number = com.opensymphony.xwork2.conversion.impl.FooNumberConverter

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/FindMe.properties
=======================================================================
bean.name=Haha you cant FindMe!
bean2.name=Okay! You found Me!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Foo-conversion.properties
=======================================================================
bar=com.opensymphony.xwork2.conversion.impl.FooBarConverter
Element_cats=com.opensymphony.xwork2.util.Cat
Element_moreCats=com.opensymphony.xwork2.util.Cat
Element_catMap=com.opensymphony.xwork2.util.Cat
Key_anotherCatMap=java.lang.Long
Element_anotherCatMap=com.opensymphony.xwork2.util.Cat
KeyProperty_barCollection=id
Element_barCollection=com.opensymphony.xwork2.util.Bar
KeyProperty_barList=id
Element_barList=com.opensymphony.xwork2.util.Bar


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/ListHolder-conversion.properties
=======================================================================
Element_longs = java.lang.Long
Element_strings = java.lang.String
Element_dates = java.util.Date

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/LocalizedTextUtilTest.properties
=======================================================================
test.format.date={0,date,short}
xw377=xw377
username=Santa

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/location/xml-with-location.xml
=======================================================================
<foo xmlns:loc="http://struts.apache.org/xwork/location"
     loc:src="foo.xml"
     loc:line="1"
     loc:column="1">
     <bar loc:src="foo.xml"
          loc:line="5"
          loc:column="6" />
</foo>          

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/MyBeanAction-conversion.properties
=======================================================================
KeyProperty_beanList=id
Element_beanList=com.opensymphony.xwork2.util.MyBean
CreateIfNull_beanList=true

Key_beanMap=java.lang.Long
KeyProperty_beanMap=id
Element_beanMap=com.opensymphony.xwork2.util.MyBean


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/Tiger-conversion.properties
=======================================================================
Collection_dogs = com.opensymphony.xwork2.util.Dog

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_de.properties
=======================================================================
# Do not create a default bundle, XW404 tests a condition where there are no default bundle

hello=Hallo

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/util/XW404_fr.properties
=======================================================================
# Do not create a default bundle, XW404 tests a condition where there are no default bundle

hello=Bonjour

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/ValidationOrderAction-validation.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC 
  		"-//Apache Struts//XWork Validator 1.0.2//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>
	<field name="username">
		<field-validator type="requiredstring">
			<message>username required</message>
		</field-validator>
	</field>

	<field name="password">
		<field-validator type="requiredstring">
			<message>password required</message>
		</field-validator>
	</field>

	<field name="confirmPassword">
		<field-validator type="requiredstring">
			<message>confirm password required</message>
		</field-validator>
		<field-validator type="fieldexpression">
			<param name="expression">
                (confirmPassword.equals(password))
			</param>
			<message>confirmed password must match password</message>
		</field-validator>
	</field>
	
	<field name="firstName">
		<field-validator type="requiredstring">
			<message>first name required</message>
		</field-validator>
	</field>
	
	<field name="lastName">
		<field-validator type="requiredstring">
			<message>last name required</message>
		</field-validator>
	</field>

	<field name="city">
		<field-validator type="requiredstring">
			<message>city is required</message>
		</field-validator>
	</field>
	
	<field name="province">

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle1.properties
=======================================================================
# common in both CompositeTextProviderTestResourceBundle1.properties
# and CompositeTextProviderTestResourceBunlde2.properties
name=1 name
age=1 age
goodnight=1 good night {0}
goodmorning=1 good morning {0} and {1}

# specific to CompositeTextProviderTestResourceBundle1.properties
car=This is a car
bike=This is a bike

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/CompositeTextProviderTestResourceBundle2.properties
=======================================================================
# common in both CompositeTextProviderTestResourceBundle1.properties
# and CompositeTextProviderTestResourceBunlde2.properties
name=2 name
age=2 age
goodnight=2 good night {0}
goodmorning=2 good morning {0} and {1}


# specific to CompositeTextProviderTestResourceBundle2.properties
cat=This is a cat
dog=This is a dog

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <field name="foo">
        <field-validator type="required">
            <message key="test.key">You must enter a value for foo.</message>
        </field-validator>
    </field>
    <field name="bar">
        <field-validator type="required" short-circuit="true">
            <message key="bar.key">You must enter a value for bar.</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">6</param>
            <param name="max">10</param>
            <message>bar must be between ${min} and ${max}, current value is ${bar}.</message>
        </field-validator>
        <field-validator type="regex">
            <param name="expression">
                <!-- Some useless comment for the following expression, which should be ignored by parser -->
                <![CDATA[([aAbBcCdD][123][eEfFgG][456])]]>
            </param>
            <message>bar must must match the given expression.</message>
        </field-validator>
    </field>
    <validator type="expression">
        <param name="expression">email.equals(email2)</param>
        <message>Email not the same as email2</message>
    </validator>
    <validator type="expression" short-circuit="true">
        <param name="expression">email.startsWith('mark')</param>
        <message>Email does not start with mark</message>
    </validator>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test2.xml
=======================================================================
<!DOCTYPE validators PUBLIC 
       "-//Apache Struts//XWork Validator 1.0.2//EN"
       "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
       
<validators>
   <field name="myField">
      <field-validator type="required">
         <message>a field error message</message>
      </field-validator>   
   </field>
   <validator type="expression">
      <param name="expression"><![CDATA[false]]></param>
      <message>an expression error message</message>
   </validator>
</validators>
              
       

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test3.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <validator type="expression" bar="die">
        <param name="expression">email.equals(email2)</param>
        <message>Email not the same as email2</message>
    </validator>
    <validator type="expression" short-circuit="true">
        <param name="expression">email.startsWith('mark')</param>
        <message>Email does not start with mark</message>
    </validator>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test4.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>
    <validator type="expression">
        <param name="expression">email.equals(email2)</param>
        <message>Email not the same as email2</message>
    </validator>
    <validator type="expression" short-circuit="true">
        <param name="expression">email.startsWith('mark')</param>
        <message>Email does not start with mark</message>
    </validator>
/validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test5.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <validator name="foo" class="bar" />
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validator-parser-test6.xml
=======================================================================
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.3//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

<validators>
    <field name="name">
        <field-validator type="requiredstring">
            <message key="error.name">default message 1</message>
        </field-validator>
    </field>
    <field name="address">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <param name="anotherParam">anotherValue</param>
            <message key="error.address">  ddddd
                <param name="1">'tmjee'</param>
                <param name="2">'phil'</param>
                <param name="10">'jimmy'</param>
                <param name="6">'hopkins'</param>
                <param name="defaultMessage">The Default Message</param>
                <param name="someNonsenseKey">Some Nonesense Value</param>
                <param name="3">'rainer'</param>
            </message>
        </field-validator>
    </field>
</validators>


=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/validators-fail.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Config 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
<!-- START SNIPPET: validators-default -->
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator nameFail="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
</validators>
<!--  END SNIPPET: validators-default -->

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorModelAction-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="model">
        <field-validator type="visitor">
            <param name="appendPrefix">false</param>
            <message>model: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-beanMessageBundle-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bean">
        <field-validator type="visitor">
            <message>bean: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateArray-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="testBeanArray">
        <field-validator type="visitor">
            <message>testBeanArray: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validateList-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="testBeanList">
        <field-validator type="visitor">
            <message>testBeanList: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="context">
        <field-validator type="requiredstring">
            <message>You must enter a context.</message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorChildValidation-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bean">
        <field-validator type="visitor">
            <message>bean: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidation-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bean">
        <field-validator type="visitor">
            <message>bean: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction-visitorValidationAlias-validation.xml
=======================================================================
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.dtd">
<validators>
    <field name="bean">
        <field-validator type="visitor">
            <param name="context">anotherContext</param>
            <message>bean: </message>
        </field-validator>
    </field>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/com/opensymphony/xwork2/validator/VisitorValidatorTestAction.properties
=======================================================================
invalid.count=Action: Count must be between ${min} and ${max}, current value is ${count}.

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/includeTest.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 1.1.1//EN"
    "http://struts.apache.org/dtds/xwork-1.1.1.dtd"
 >

<xwork>
    <package name="includeTest" extends="default" namespace="includeTest">
        <action name="includeTest" class="com.opensymphony.xwork2.SimpleAction"></action>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/log4j2.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="STDOUT"/>
        </Root>
        <Logger name="org.apache.struts2.views.xslt" level="debug"/>
    </Loggers>
</Configuration>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/my-validators.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Config 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
<validators>
    <validator name="requiredAdditional" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/myOther-validators.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Config 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
<validators>
    <validator name="requiredAnother" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/org/apache/struts2/static/resource.css
=======================================================================
heya!

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/PackagelessAction.properties
=======================================================================
actionProperty = action property

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/template/test/text.ftl
=======================================================================
<input type="text"<#rt/>
<#if parameters.autofocus!false>
autofocus="autofocus"<#rt/>
</#if>
/><#rt/>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/validators.xml
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator Config 1.0//EN"
        "http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="creditcard" class="com.opensymphony.xwork2.validator.validators.CreditCardValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-1.0.dtd
=======================================================================
Duplicate file test

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-class-param-test.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>

    <constant name="devMode" value="true" />
    <constant name="ognlExcludedClasses" value="java.lang.Object,java.lang.Runtime" />
    <constant name="overrideExcludedPatterns" value="not-existing-pattern"/>

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-param-test.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>
	<constant name="devMode" value="true" />
    <constant name="ognlExcludedClasses" value="java.lang.Object,java.lang.Runtime" />
    <constant name="additionalExcludedPatterns" value=".*(^|\.|\[|\'|&quot;)class(\.|\[|\'|&quot;).*" />
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-proxyinvoke.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="default" class="com.opensymphony.xwork2.ProxyObjectFactory" />

 	<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
	<constant name="devMode" value="false" />

    <package name="xwork-test-default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="void" class="com.opensymphony.xwork2.VoidResult"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/>
			<interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">expectedFoo</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="params"/>
            </interceptor-stack>

            <interceptor-stack name="debugStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="logger"/>
            </interceptor-stack>
        </interceptors>
    </package>

    <package name="default" extends="xwork-test-default">

        <action name="ProxyInvocation" method="show" class="com.opensymphony.xwork2.ProxyInvocationAction"/>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-sample.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.5//EN"
    "http://struts.apache.org/dtds/xwork-2.5.dtd"
 >
 <!-- "file:///temp/ross/xwork/src/etc/xwork-1.0.dtd"  -->

<xwork>
    <include file="xwork-test-default.xml"/>
    <package name="default" extends="xwork-test-default">

        <global-results>
            <result name="login"> <!-- should be chain type since it is the default -->
                <param name="actionName">login</param>
            </result>
        </global-results>

        <global-allowed-methods>execute,input,back,cancel,browse</global-allowed-methods>

        <action name="Foo" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <result name="success" type="chain">
                <param name="actionName">Bar</param>
            </result>
            <interceptor-ref name="debugStack"/>
            <interceptor-ref name="defaultStack"/>
        </action>

        <action name="LazyFoo" class="com.opensymphony.xwork2.SimpleAction">
          <result name="error" type="void" />
          <interceptor-ref name="params"/>
          <interceptor-ref name="lazy">
            <param name="foo">${blah}</param>
          </interceptor-ref>
        </action>

        <action name="WildCard" class="com.opensymphony.xwork2.SimpleAction">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <result name="success" type="void" />
            <result name="*" type="mock" />
            <interceptor-ref name="defaultStack"/>
        </action>

        <action name="WildCardInput" class="com.opensymphony.xwork2.SimpleAction" method="input">
            <param name="foo">17</param>
            <param name="bar">23</param>
            <result name="success" type="void" />
            <result name="*" type="mock" />
            <interceptor-ref name="defaultStack"/>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-beans.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
        "-//Apache Struts//XWork 2.0//EN"
        "http://struts.apache.org/dtds/xwork-2.0.dtd">

<xwork>

    <constant name="ognlExcludedClasses" value="java.lang.Object,java.lang.Runtime,ognl.OgnlContext,ognl.MemberAccess,ognl.ClassResolver,ognl.TypeConverter,com.opensymphony.xwork2.ognl.SecurityMemberAccess" />

</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-default.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
    <package name="xwork-test-default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="void" class="com.opensymphony.xwork2.VoidResult"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor"/>
			      <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">expectedFoo</param>
            </interceptor>
            <interceptor name="lazy" class="com.opensymphony.xwork2.mock.MockLazyInterceptor"/>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="params"/>
            </interceptor-stack>

            <interceptor-stack name="debugStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="logger"/>
            </interceptor-stack>
        </interceptors>
    </package>
</xwork>

=======================================================================
==/Users/lukaszlenart/Projects/Apache/struts/target/checkout/core/src/test/resources/xwork-test-validation.xml
=======================================================================
<!DOCTYPE xwork PUBLIC
    "-//Apache Struts//XWork 2.0//EN"
    "http://struts.apache.org/dtds/xwork-2.0.dtd"
 >

<xwork>
	<include file="xwork-test-beans.xml" />
    <package name="xwork-test-default">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult" default="true"/>
            <result-type name="void" class="com.opensymphony.xwork2.VoidResult"/>
            <result-type name="mock" class="com.opensymphony.xwork2.mock.MockResult"/>
        </result-types>

        <interceptors>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="validation" class="com.opensymphony.xwork2.validator.ValidationInterceptor">
                <param name="validateAnnotatedMethodOnly">true</param>
            </interceptor>
			<interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="test" class="com.opensymphony.xwork2.mock.MockInterceptor">
                <param name="foo">expectedFoo</param>
            </interceptor>

            <interceptor-stack name="defaultStack">
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="params"/>
            </interceptor-stack>

            <interceptor-stack name="debugStack">
                <interceptor-ref name="timer"/>
                <interceptor-ref name="logger"/>
            </interceptor-stack>

            <interceptor-stack name="validationStack">
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="params"/>
                <interceptor-ref name="validation"/>
            </interceptor-stack>
        </interceptors>

    </package>
    <package name="default" extends="xwork-test-default">