Author: cbrisson
Date: Thu Jun 28 12:14:41 2018
New Revision: 1834601

URL: http://svn.apache.org/viewvc?rev=1834601&view=rev
Log:
[tools/view] Config code simplification: relies on servlet context for 
WEB-INF/*, on class loader for everything else

Modified:
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ServletUtils.java
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityView.java

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ServletUtils.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ServletUtils.java?rev=1834601&r1=1834600&r2=1834601&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ServletUtils.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ServletUtils.java
 Thu Jun 28 12:14:41 2018
@@ -297,22 +297,18 @@ public class ServletUtils
         return null;
     }
 
-    public static InputStream getInputStream(final String path, ServletContext 
application)
-    {
-        return getInputStream(path, application, true, true);
-    }
-
-    public static InputStream getInputStream(final String path, final 
ServletContext application, boolean searchClasspath, boolean searchWebapp)
+    public static InputStream getInputStream(final String path, final 
ServletContext application)
     {
         InputStream inputStream = null;
-        // first search classpath if asked so
-        if (searchClasspath)
+        boolean webappResource = path != null && (path.startsWith("WEB-INF") 
|| path.startsWith("/WEB-INF"));
+        if (!webappResource)
         {
+            // search classpath except for WEB-INF/*
             inputStream = ClassUtils.getResourceAsStream(path, 
ServletUtils.class);
         }
-        if (inputStream == null && searchWebapp)
+        else
         {
-            // then webapp
+            // then webapp only for WEB-INF/*
             if (System.getSecurityManager() != null)
             {
                 inputStream = AccessController.doPrivileged(

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityView.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityView.java?rev=1834601&r1=1834600&r2=1834601&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityView.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityView.java
 Thu Jun 28 12:14:41 2018
@@ -337,15 +337,14 @@ public class VelocityView extends ViewTo
     protected void configure(final JeeConfig config, final VelocityEngine 
velocity)
     {
         // first get the default properties from the classpath, and bail if we 
don't find them
-        Properties defaultProperties = getProperties(DEFAULT_PROPERTIES_PATH, 
true, true, false);
+        Properties defaultProperties = getProperties(DEFAULT_PROPERTIES_PATH, 
true);
         velocity.setProperties(defaultProperties);
 
         // check for application-wide user props in the context init params
         String appPropsPath = servletContext.getInitParameter(PROPERTIES_KEY);
         if (appPropsPath != null)
         {
-            boolean isInWebInf = appPropsPath.startsWith("/WEB-INF") || 
appPropsPath.startsWith("WEB-INF");
-            Properties appProperties = getProperties(appPropsPath, true, 
!isInWebInf, isInWebInf);
+            Properties appProperties = getProperties(appPropsPath, true);
             getLog().debug("Configuring Velocity with properties at: {}", 
appPropsPath);
             velocity.setProperties(appProperties);
         }
@@ -355,7 +354,7 @@ public class VelocityView extends ViewTo
         if (servletPropsPath != null && (appPropsPath == null || 
!appPropsPath.equals(servletPropsPath)))
         {
             boolean isInWebInf = servletPropsPath.startsWith("/WEB-INF") || 
servletPropsPath.startsWith("WEB-INF");
-            Properties servletProperties = getProperties(servletPropsPath, 
true, !isInWebInf, isInWebInf);
+            Properties servletProperties = getProperties(servletPropsPath, 
true);
             getLog().debug("Configuring Velocity with properties at: {}", 
servletPropsPath);
             velocity.setProperties(servletProperties);
         }
@@ -364,7 +363,7 @@ public class VelocityView extends ViewTo
         // conventional location, and be silent if they're missing
         if (appPropsPath == null && servletPropsPath == null)
         {
-            Properties appProperties = getProperties(USER_PROPERTIES_PATH, 
false, false, true);
+            Properties appProperties = getProperties(USER_PROPERTIES_PATH, 
false);
             if (appProperties != null)
             {
                 getLog().debug("Configuring Velocity with properties at: {}", 
appPropsPath);
@@ -514,21 +513,16 @@ public class VelocityView extends ViewTo
 
     protected Properties getProperties(String path)
     {
-        return getProperties(path, false, true, true);
+        return getProperties(path, false);
     }
 
     protected Properties getProperties(String path, boolean required)
     {
-        return getProperties(path, required, true, true);
-    }
-
-    protected Properties getProperties(String path, boolean required, boolean 
searchClasspath, boolean searchWebapp)
-    {
         if (getLog().isTraceEnabled())
         {
             getLog().trace("Searching for properties at {} ", path);
         }
-        InputStream inputStream = ServletUtils.getInputStream(path, 
this.servletContext, searchClasspath, searchWebapp);
+        InputStream inputStream = ServletUtils.getInputStream(path, 
this.servletContext);
         if (inputStream == null)
         {
             String msg = "Did not find resource at: "+path;


Reply via email to