You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2017/07/07 17:37:12 UTC

svn commit: r1801198 - /tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java

Author: remm
Date: Fri Jul  7 17:37:12 2017
New Revision: 1801198

URL: http://svn.apache.org/viewvc?rev=1801198&view=rev
Log:
Refactor propertySource as final.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java?rev=1801198&r1=1801197&r2=1801198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java Fri Jul  7 17:37:12 2017
@@ -80,17 +80,18 @@ public class Digester extends DefaultHan
 
     // ---------------------------------------------------------- Static Fields
 
-    protected static IntrospectionUtils.PropertySource propertySource = null;
+    protected static final IntrospectionUtils.PropertySource propertySource;
 
     static {
         String className = System.getProperty("org.apache.tomcat.util.digester.PROPERTY_SOURCE");
+        IntrospectionUtils.PropertySource source = null;
         if (className != null) {
             ClassLoader[] cls = new ClassLoader[] { Digester.class.getClassLoader(),
                     Thread.currentThread().getContextClassLoader() };
             for (int i = 0; i < cls.length; i++) {
                 try {
                     Class<?> clazz = Class.forName(className, true, cls[i]);
-                    propertySource = (IntrospectionUtils.PropertySource) clazz.newInstance();
+                    source = (IntrospectionUtils.PropertySource) clazz.newInstance();
                     break;
                 } catch (Throwable t) {
                     ExceptionUtils.handleThrowable(t);
@@ -99,6 +100,7 @@ public class Digester extends DefaultHan
                 }
             }
         }
+        propertySource = source;
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1801198 - /tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java

Posted by Rémy Maucherat <re...@apache.org>.
On Fri, Jul 7, 2017 at 12:37 PM, <re...@apache.org> wrote:

> Author: remm
> Date: Fri Jul  7 17:37:12 2017
> New Revision: 1801198
>
> URL: http://svn.apache.org/viewvc?rev=1801198&view=rev
> Log:
> Refactor propertySource as final.
>

And I prefer not backporting it since people could be taking advantage of
the hack, who knows ...

Rémy

>
> Modified:
>     tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
>
> Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/
> tomcat/util/digester/Digester.java?rev=1801198&r1=1801197&
> r2=1801198&view=diff
> ============================================================
> ==================
> --- tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
> (original)
> +++ tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java Fri
> Jul  7 17:37:12 2017
> @@ -80,17 +80,18 @@ public class Digester extends DefaultHan
>
>      // ---------------------------------------------------------- Static
> Fields
>
> -    protected static IntrospectionUtils.PropertySource propertySource =
> null;
> +    protected static final IntrospectionUtils.PropertySource
> propertySource;
>
>      static {
>          String className = System.getProperty("org.
> apache.tomcat.util.digester.PROPERTY_SOURCE");
> +        IntrospectionUtils.PropertySource source = null;
>          if (className != null) {
>              ClassLoader[] cls = new ClassLoader[] {
> Digester.class.getClassLoader(),
>                      Thread.currentThread().getContextClassLoader() };
>              for (int i = 0; i < cls.length; i++) {
>                  try {
>                      Class<?> clazz = Class.forName(className, true,
> cls[i]);
> -                    propertySource = (IntrospectionUtils.PropertySource)
> clazz.newInstance();
> +                    source = (IntrospectionUtils.PropertySource)
> clazz.newInstance();
>                      break;
>                  } catch (Throwable t) {
>                      ExceptionUtils.handleThrowable(t);
> @@ -99,6 +100,7 @@ public class Digester extends DefaultHan
>                  }
>              }
>          }
> +        propertySource = source;
>      }
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>