This is an automated email from the ASF dual-hosted git repository.

cbrisson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/velocity-engine.git

commit a61a40d14d7cdc9e170165445b09eef1cd5f323a
Merge: 9889509 836d28f
Author: Claude Brisson <cla...@renegat.net>
AuthorDate: Thu Feb 25 22:37:13 2021 +0100

    Merge feature/fix-some-generics

 .../velocity/spring/VelocityEngineFactory.java     |  2 +-
 .../test/VelocityEngineFactoryBeanTests.java       |  1 -
 .../runtime/parser/CustomParserTestCase.java       |  5 +-
 .../main/java/org/apache/velocity/Template.java    | 18 ++--
 .../java/org/apache/velocity/VelocityContext.java  | 17 +++-
 .../org/apache/velocity/app/FieldMethodizer.java   |  7 +-
 .../org/apache/velocity/app/VelocityEngine.java    |  1 -
 .../apache/velocity/app/event/EventCartridge.java  | 12 +--
 .../velocity/app/event/EventHandlerUtil.java       |  2 +-
 .../app/event/MethodExceptionEventHandler.java     |  2 +-
 .../app/event/implement/EscapeHtmlReference.java   |  2 +
 .../event/implement/EscapeJavaScriptReference.java |  2 +
 .../app/event/implement/EscapeReference.java       |  2 +
 .../app/event/implement/EscapeSqlReference.java    |  2 +
 .../app/event/implement/EscapeXmlReference.java    |  2 +
 .../app/event/implement/IncludeNotFound.java       |  7 +-
 .../app/event/implement/IncludeRelativePath.java   |  1 +
 .../app/event/implement/PrintExceptions.java       |  4 +-
 .../event/implement/ReportInvalidReferences.java   | 15 ++--
 .../apache/velocity/context/AbstractContext.java   |  5 ++
 .../context/ChainedInternalContextAdapter.java     | 29 ++++++-
 .../context/InternalContextAdapterImpl.java        | 41 +++++++--
 .../velocity/context/InternalContextBase.java      | 39 ++++++---
 .../context/InternalHousekeepingContext.java       |  5 +-
 .../exception/MethodInvocationException.java       |  4 +
 .../velocity/exception/ParseErrorException.java    |  1 +
 .../velocity/exception/TemplateInitException.java  |  3 +
 .../org/apache/velocity/io/UnicodeInputStream.java |  9 ++
 .../org/apache/velocity/io/VelocityWriter.java     |  8 ++
 .../apache/velocity/runtime/ParserPoolImpl.java    |  3 +
 .../apache/velocity/runtime/RuntimeInstance.java   | 99 +++++++++++++++-------
 .../apache/velocity/runtime/RuntimeServices.java   |  1 -
 .../apache/velocity/runtime/RuntimeSingleton.java  | 10 ---
 .../velocity/runtime/VelocimacroFactory.java       |  6 +-
 .../velocity/runtime/VelocimacroManager.java       | 27 +++---
 .../apache/velocity/runtime/directive/Block.java   |  5 +-
 .../velocity/runtime/directive/BlockMacro.java     |  3 +
 .../apache/velocity/runtime/directive/Break.java   |  7 +-
 .../apache/velocity/runtime/directive/Define.java  |  6 +-
 .../velocity/runtime/directive/Directive.java      |  1 -
 .../velocity/runtime/directive/Evaluate.java       |  8 +-
 .../apache/velocity/runtime/directive/Foreach.java | 10 ++-
 .../apache/velocity/runtime/directive/Include.java |  9 +-
 .../apache/velocity/runtime/directive/Macro.java   | 14 +--
 .../runtime/directive/MacroParseException.java     |  8 +-
 .../apache/velocity/runtime/directive/Parse.java   | 28 +++---
 .../velocity/runtime/directive/RuntimeMacro.java   | 19 +++--
 .../apache/velocity/runtime/directive/Scope.java   | 12 +--
 .../apache/velocity/runtime/directive/Stop.java    |  7 +-
 .../velocity/runtime/directive/StopCommand.java    |  1 +
 .../runtime/directive/VelocimacroProxy.java        |  5 +-
 .../velocity/runtime/directive/contrib/For.java    | 11 ++-
 .../apache/velocity/runtime/parser/CharStream.java |  5 +-
 .../apache/velocity/runtime/parser/LogContext.java |  3 +-
 .../velocity/runtime/parser/ParseException.java    | 10 ++-
 .../runtime/parser/TemplateParseException.java     |  8 +-
 .../runtime/parser/VelocityCharStream.java         | 28 +++---
 .../velocity/runtime/parser/node/ASTAddNode.java   |  1 +
 .../velocity/runtime/parser/node/ASTAndNode.java   |  5 +-
 .../runtime/parser/node/ASTAssignment.java         |  4 +-
 .../runtime/parser/node/ASTBinaryOperator.java     |  3 +-
 .../velocity/runtime/parser/node/ASTBlock.java     |  7 +-
 .../velocity/runtime/parser/node/ASTComment.java   |  5 +-
 .../runtime/parser/node/ASTComparisonNode.java     |  4 +
 .../velocity/runtime/parser/node/ASTDirective.java |  7 +-
 .../runtime/parser/node/ASTDirectiveAssign.java    |  8 +-
 .../velocity/runtime/parser/node/ASTDivNode.java   |  1 +
 .../velocity/runtime/parser/node/ASTEQNode.java    |  3 +-
 .../runtime/parser/node/ASTElseIfStatement.java    | 10 ++-
 .../runtime/parser/node/ASTElseStatement.java      |  7 +-
 .../velocity/runtime/parser/node/ASTEscape.java    |  7 +-
 .../runtime/parser/node/ASTEscapedDirective.java   |  5 +-
 .../runtime/parser/node/ASTExpression.java         | 10 ++-
 .../velocity/runtime/parser/node/ASTFalse.java     | 10 ++-
 .../parser/node/ASTFloatingPointLiteral.java       | 14 +--
 .../velocity/runtime/parser/node/ASTGENode.java    |  1 +
 .../velocity/runtime/parser/node/ASTGTNode.java    |  1 +
 .../runtime/parser/node/ASTIdentifier.java         | 16 ++--
 .../runtime/parser/node/ASTIfStatement.java        | 21 +++--
 .../runtime/parser/node/ASTIncludeStatement.java   |  4 +-
 .../velocity/runtime/parser/node/ASTIndex.java     | 15 ++--
 .../runtime/parser/node/ASTIntegerLiteral.java     | 12 ++-
 .../runtime/parser/node/ASTIntegerRange.java       |  7 +-
 .../velocity/runtime/parser/node/ASTLENode.java    |  1 +
 .../velocity/runtime/parser/node/ASTLTNode.java    |  1 +
 .../runtime/parser/node/ASTLogicalOperator.java    |  3 +-
 .../velocity/runtime/parser/node/ASTMap.java       | 10 ++-
 .../velocity/runtime/parser/node/ASTMathNode.java  |  3 +
 .../velocity/runtime/parser/node/ASTMethod.java    | 28 +++---
 .../velocity/runtime/parser/node/ASTModNode.java   |  4 +-
 .../velocity/runtime/parser/node/ASTMulNode.java   |  4 +-
 .../runtime/parser/node/ASTNegateNode.java         |  8 +-
 .../velocity/runtime/parser/node/ASTNotNode.java   | 10 ++-
 .../runtime/parser/node/ASTObjectArray.java        | 12 ++-
 .../velocity/runtime/parser/node/ASTOrNode.java    |  5 +-
 .../runtime/parser/node/ASTParameters.java         |  1 +
 .../velocity/runtime/parser/node/ASTReference.java | 25 +++---
 .../runtime/parser/node/ASTSetDirective.java       |  8 +-
 .../runtime/parser/node/ASTStringLiteral.java      |  8 +-
 .../runtime/parser/node/ASTSubtractNode.java       |  1 +
 .../velocity/runtime/parser/node/ASTText.java      |  8 +-
 .../velocity/runtime/parser/node/ASTTextblock.java |  7 +-
 .../velocity/runtime/parser/node/ASTTrue.java      |  6 +-
 .../velocity/runtime/parser/node/ASTVariable.java  |  4 +-
 .../velocity/runtime/parser/node/ASTWord.java      |  4 +-
 .../velocity/runtime/parser/node/ASTprocess.java   |  4 +-
 .../parser/node/BooleanPropertyExecutor.java       |  9 +-
 .../velocity/runtime/parser/node/GetExecutor.java  |  7 +-
 .../runtime/parser/node/MapGetExecutor.java        |  1 +
 .../runtime/parser/node/MapSetExecutor.java        |  9 +-
 .../velocity/runtime/parser/node/MathUtils.java    |  8 +-
 .../apache/velocity/runtime/parser/node/Node.java  |  1 +
 .../runtime/parser/node/ParserVisitor.java         |  6 --
 .../runtime/parser/node/PropertyExecutor.java      |  9 +-
 .../runtime/parser/node/PublicFieldExecutor.java   |  8 +-
 .../velocity/runtime/parser/node/PutExecutor.java  |  7 +-
 .../runtime/parser/node/SetPropertyExecutor.java   |  7 +-
 .../parser/node/SetPublicFieldExecutor.java        |  8 +-
 .../velocity/runtime/parser/node/SimpleNode.java   | 37 +++++++-
 .../velocity/runtime/resource/ContentResource.java |  1 +
 .../runtime/resource/ResourceCacheImpl.java        | 16 ++--
 .../runtime/resource/ResourceManagerImpl.java      |  9 +-
 .../resource/loader/ClasspathResourceLoader.java   | 10 ++-
 .../resource/loader/DataSourceResourceLoader.java  |  9 +-
 .../resource/loader/FileResourceLoader.java        | 13 ++-
 .../runtime/resource/loader/JarHolder.java         | 11 +--
 .../runtime/resource/loader/JarResourceLoader.java | 21 +++--
 .../resource/loader/StringResourceLoader.java      |  9 +-
 .../runtime/resource/loader/URLResourceLoader.java | 13 +--
 .../util/StringResourceRepositoryImpl.java         | 11 ++-
 .../velocity/runtime/visitor/BaseVisitor.java      | 43 ++++++++++
 .../velocity/runtime/visitor/NodeViewMode.java     | 40 ++++++++-
 .../org/apache/velocity/util/ArrayIterator.java    |  3 +
 .../org/apache/velocity/util/ArrayListWrapper.java |  4 +
 .../java/org/apache/velocity/util/ClassUtils.java  | 22 ++---
 .../util/DeprecationAwareExtProperties.java        |  5 +-
 .../java/org/apache/velocity/util/DuckType.java    | 15 ++--
 .../apache/velocity/util/EnumerationIterator.java  |  3 +
 .../org/apache/velocity/util/ExtProperties.java    | 47 +++++-----
 .../AbstractChainableUberspector.java              |  6 ++
 .../velocity/util/introspection/ClassFieldMap.java | 28 +++---
 .../velocity/util/introspection/ClassMap.java      | 30 +++----
 .../util/introspection/ConversionHandler.java      |  6 +-
 .../util/introspection/IntrospectionCacheData.java |  2 +-
 .../util/introspection/IntrospectionUtils.java     | 35 ++++----
 .../velocity/util/introspection/Introspector.java  |  3 +-
 .../util/introspection/IntrospectorBase.java       |  4 +-
 .../util/introspection/IntrospectorCache.java      | 16 ++--
 .../util/introspection/LinkingUberspector.java     |  5 ++
 .../velocity/util/introspection/MethodMap.java     | 39 +++++----
 .../introspection/SecureIntrospectorControl.java   |  2 +-
 .../util/introspection/SecureIntrospectorImpl.java | 16 ++--
 .../util/introspection/SecureUberspector.java      |  2 +
 .../util/introspection/TypeConversionHandler.java  |  6 +-
 .../introspection/TypeConversionHandlerImpl.java   | 24 +++---
 .../velocity/util/introspection/UberspectImpl.java | 70 +++++++++------
 .../util/introspection/UberspectPublicFields.java  | 16 ++--
 .../velocity/util/introspection/VelMethod.java     |  2 +-
 .../test/AbsoluteFileResourceLoaderTestCase.java   |  1 +
 .../velocity/test/AlternateValuesTestCase.java     | 17 ----
 .../apache/velocity/test/ArrayMethodsTestCase.java |  2 +-
 .../org/apache/velocity/test/BaseTestCase.java     |  4 +-
 .../velocity/test/BreakDirectiveTestCase.java      |  1 +
 .../velocity/test/BuiltInEventHandlerTestCase.java |  3 +-
 .../velocity/test/ClassloaderChangeTestCase.java   |  2 +
 .../velocity/test/ClasspathResourceTestCase.java   |  1 +
 .../test/ContextAutoreferenceKeyTestCase.java      |  2 +
 .../velocity/test/ContextSafetyTestCase.java       |  9 +-
 .../org/apache/velocity/test/EncodingTestCase.java |  6 +-
 .../org/apache/velocity/test/EvaluateTestCase.java |  2 +-
 .../velocity/test/EventHandlingTestCase.java       | 12 ++-
 .../test/ExpressionAsMethodArgumentTestCase.java   |  1 +
 .../test/FilteredEventHandlingTestCase.java        |  2 +-
 .../velocity/test/HyphenInIdentifiersTestCase.java |  2 +-
 .../velocity/test/IfEmptyNoEmptyCheckTestCase.java |  6 --
 .../org/apache/velocity/test/IfNullTestCase.java   |  1 +
 .../apache/velocity/test/IncludeErrorTestCase.java |  1 +
 .../test/IncludeEventHandlingTestCase.java         |  7 +-
 .../org/apache/velocity/test/IndexTestCase.java    |  1 +
 .../org/apache/velocity/test/InfoTestCase.java     |  1 +
 .../velocity/test/InlineScopeVMTestCase.java       |  1 +
 .../test/IntrospectionCacheDataTestCase.java       |  1 +
 .../apache/velocity/test/IntrospectorTestCase.java |  1 +
 .../velocity/test/InvalidEventHandlerTestCase.java | 11 ++-
 .../velocity/test/MacroAutoReloadTestCase.java     |  1 +
 .../velocity/test/MacroCommentsTestCase.java       |  1 +
 .../velocity/test/MacroDefaultArgTestCase.java     |  1 +
 .../velocity/test/MacroForwardDefineTestCase.java  |  1 +
 .../velocity/test/MethodCacheKeyTestCase.java      |  3 +-
 .../test/MethodInvocationExceptionTestCase.java    |  1 +
 .../velocity/test/MethodOverloadingTestCase.java   |  5 +-
 .../apache/velocity/test/MultiLoaderTestCase.java  |  1 +
 .../test/MultipleFileResourcePathTestCase.java     |  1 +
 .../velocity/test/NumberMethodCallsTestCase.java   |  1 +
 .../velocity/test/OldPropertiesTestCase.java       |  3 +-
 .../velocity/test/ParseExceptionTestCase.java      |  1 +
 .../velocity/test/ParseWithMacroLibsTestCase.java  | 12 +--
 .../test/PropertyMethodPrecedenceTestCase.java     |  1 +
 .../velocity/test/RenderVelocityTemplateTest.java  |  1 +
 .../velocity/test/ResourceCachingTestCase.java     |  1 +
 .../velocity/test/ResourceExistsTestCase.java      |  1 +
 .../test/ResourceLoaderInstanceTestCase.java       |  1 +
 .../org/apache/velocity/test/ScopeTestCase.java    |  1 +
 .../java/org/apache/velocity/test/SetTestCase.java |  5 +-
 .../velocity/test/SpaceGobblingTestCase.java       |  8 +-
 .../velocity/test/StopDirectiveTestCase.java       |  1 +
 .../test/StrictAlternateValuesTestCase.java        |  1 +
 .../velocity/test/StrictCompareTestCase.java       |  1 +
 .../apache/velocity/test/StrictEscapeTestCase.java |  1 +
 .../velocity/test/StrictForeachTestCase.java       |  1 +
 .../apache/velocity/test/StrictMathTestCase.java   |  1 +
 .../velocity/test/StrictReferenceTestCase.java     |  1 +
 .../velocity/test/StringConcatenationTestCase.java |  1 +
 .../StringResourceLoaderRepositoryTestCase.java    |  1 +
 .../test/StringResourceLoaderTestCase.java         |  1 +
 .../org/apache/velocity/test/TemplateTestCase.java |  4 +-
 .../test/URLResourceLoaderTimeoutTestCase.java     |  1 +
 .../apache/velocity/test/UberspectorTestCase.java  |  1 +
 .../apache/velocity/test/VMLibraryTestCase.java    | 43 +++++-----
 .../velocity/test/VarargMethodsTestCase.java       |  4 +-
 .../velocity/test/VelocimacroBCModeTestCase.java   |  1 +
 .../apache/velocity/test/VelocimacroTestCase.java  |  1 +
 .../velocity/test/WrappedExceptionTestCase.java    |  1 +
 .../velocity/test/eventhandler/Handler1.java       |  5 +-
 .../velocity/test/eventhandler/Handler2.java       |  5 +-
 .../velocity/test/issues/VelTools66TestCase.java   | 12 ++-
 .../velocity/test/issues/Velocity537TestCase.java  |  1 +
 .../velocity/test/issues/Velocity544TestCase.java  |  3 +-
 .../velocity/test/issues/Velocity579TestCase.java  |  2 +
 .../velocity/test/issues/Velocity580TestCase.java  |  1 +
 .../velocity/test/issues/Velocity615TestCase.java  |  1 +
 .../velocity/test/issues/Velocity616TestCase.java  |  1 +
 .../velocity/test/issues/Velocity627TestCase.java  |  1 +
 .../velocity/test/issues/Velocity62TestCase.java   |  1 +
 .../velocity/test/issues/Velocity631TestCase.java  |  1 +
 .../velocity/test/issues/Velocity644TestCase.java  |  1 +
 .../velocity/test/issues/Velocity689TestCase.java  |  3 +
 .../velocity/test/issues/Velocity701TestCase.java  |  2 +
 .../velocity/test/issues/Velocity702TestCase.java  |  1 +
 .../velocity/test/issues/Velocity742TestCase.java  |  1 +
 .../velocity/test/issues/Velocity747TestCase.java  |  1 +
 .../velocity/test/issues/Velocity758TestCase.java  |  1 +
 .../velocity/test/issues/Velocity855TestCase.java  |  1 +
 .../velocity/test/issues/Velocity919TestCase.java  | 14 ---
 .../velocity/test/issues/Velocity924TestCase.java  |  1 +
 .../velocity/test/issues/Velocity926TestCase.java  |  1 -
 .../test/misc/ExceptionGeneratingDirective.java    |  3 +
 .../test/misc/ExceptionGeneratingEventHandler.java |  7 +-
 .../misc/ExceptionGeneratingResourceLoader.java    |  4 +
 .../org/apache/velocity/test/misc/TestContext.java |  5 ++
 .../org/apache/velocity/test/misc/TestLogger.java  | 30 +++++++
 .../velocity/test/misc/UberspectTestException.java |  1 +
 .../velocity/test/misc/UberspectTestImpl.java      |  2 +
 .../org/apache/velocity/test/provider/Child.java   |  1 +
 .../apache/velocity/test/provider/TestNumber.java  |  1 +
 .../velocity/test/provider/TestProvider.java       |  6 +-
 .../org/apache/velocity/test/sql/DBHelper.java     |  1 -
 .../test/sql/DataSourceResourceLoaderTestCase.java |  1 +
 .../apache/velocity/test/sql/TestDataSource.java   |  9 ++
 .../introspection/ChainedUberspectorsTestCase.java |  4 +
 .../test/util/introspection/ClassMapTestCase.java  |  2 +
 .../introspection/ConversionHandlerTestCase.java   | 15 ++--
 .../DeprecatedCheckUberspectorsTestCase.java       |  2 +
 .../EnumConstantConversionTestCase.java            |  1 +
 .../util/introspection/UberspectImplTestCase.java  |  3 +-
 .../org/apache/velocity/example/DBContext.java     |  9 +-
 .../org/apache/velocity/example/EventExample.java  | 42 ++++++++-
 .../apache/velocity/example/TreeMapContext.java    | 12 ++-
 .../velocity/script/VelocityScriptEngine.java      |  6 ++
 .../script/VelocityScriptEngineFactory.java        | 18 +++-
 270 files changed, 1452 insertions(+), 698 deletions(-)

diff --cc 
velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/SecureIntrospectorImpl.java
index 65aa04c,fea0330..c07534e
--- 
a/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/SecureIntrospectorImpl.java
+++ 
b/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/SecureIntrospectorImpl.java
@@@ -85,34 -86,35 +86,35 @@@ public class SecureIntrospectorImpl ext
       * @param methodName Name of method to be called
       * @see 
org.apache.velocity.util.introspection.SecureIntrospectorControl#checkObjectExecutePermission(java.lang.Class,
 java.lang.String)
       */
-     public boolean checkObjectExecutePermission(Class clazz, String 
methodName)
+     @Override
+     public boolean checkObjectExecutePermission(Class<?> clazz, String 
methodName)
      {
-         /**
 -              /*
 -               * check for wait and notify
 -               */
++        /*
 +         * check for wait and notify
 +         */
          if (methodName != null &&
              (methodName.equals("wait") || methodName.equals("notify")) )
 -              {
 -                      return false;
 -              }
 +        {
 +            return false;
 +        }
  
-         /**
 -              /*
 -               * Always allow the most common classes - Number, Boolean and 
String
 -               */
 -              else if (Number.class.isAssignableFrom(clazz))
 -              {
 -                      return true;
 -              }
 -              else if (Boolean.class.isAssignableFrom(clazz))
 -              {
 -                      return true;
 -              }
 -              else if (String.class.isAssignableFrom(clazz))
 -              {
 -                      return true;
 -              }
++        /*
 +         * Always allow the most common classes - Number, Boolean and String
 +         */
 +        else if (Number.class.isAssignableFrom(clazz))
 +        {
 +            return true;
 +        }
 +        else if (Boolean.class.isAssignableFrom(clazz))
 +        {
 +            return true;
 +        }
 +        else if (String.class.isAssignableFrom(clazz))
 +        {
 +            return true;
 +        }
  
-         /**
+         /*
           * Always allow Class.getName()
           */
          else if (Class.class.isAssignableFrom(clazz) &&
@@@ -121,16 -123,7 +123,16 @@@
              return true;
          }
  
-        /**
++       /*
 +       * Always disallow ClassLoader, Thread and subclasses
 +       */
 +        if (ClassLoader.class.isAssignableFrom(clazz) ||
 +                Thread.class.isAssignableFrom(clazz))
 +        {
 +            return false;
 +        }
 +
-         /**
+         /*
           * check the classname (minus any array info)
           * whether it matches disallowed classes or packages
           */

Reply via email to