michael-o commented on code in PR #56:
URL: https://github.com/apache/velocity-engine/pull/56#discussion_r1850326301


##########
velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java:
##########
@@ -107,53 +107,43 @@ public static Object getNewInstance(String clazz)
 
     /**
      * Finds a resource with the given name.  Checks the Thread Context
-     * classloader, then uses the System classloader.  Should replace all
-     * calls to <code>Class.getResourceAsString</code> when the resource
+     * classloader, then uses the System classloader (for compatibility with 
texen / ant tasks)
+     * Should replace all calls to <code>Class.getResourceAsString</code> when 
the resource
      * might come from a different classloader.  (e.g. a webapp).
-     * @param claz Class to use when getting the System classloader (used if 
no Thread
+     * @param clazz Class to use when getting the System classloader (used if 
no Thread
      * Context classloader available or fails to get resource).
      * @param name name of the resource
      * @return InputStream for the resource.
      */
-    public static InputStream getResourceAsStream(Class<?> claz, String name)
+    public static InputStream getResourceAsStream(Class<?> clazz, String name)
     {
         InputStream result = null;
 
-        /*
-         * remove leading slash so path will work with classes in a JAR file
-         */
-        while (name.startsWith("/"))
-        {
-            name = name.substring(1);
-        }
+        name = removeLeadingSlash(name);
 
-        ClassLoader classLoader = Thread.currentThread()
-                                    .getContextClassLoader();
+        ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
 
-        if (classLoader == null)
+        if (classLoader != null)
         {
-            classLoader = claz.getClassLoader();
             result = classLoader.getResourceAsStream( name );
         }
-        else
-        {
-            result= classLoader.getResourceAsStream( name );
-
-            /*
-            * for compatibility with texen / ant tasks, fall back to
-            * old method when resource is not found.
-            */
 
-            if (result == null)
-            {
-                classLoader = claz.getClassLoader();
-                if (classLoader != null)
-                    result = classLoader.getResourceAsStream( name );
-            }
+        if (result == null)
+        {
+            classLoader = clazz.getClassLoader();
+            if (classLoader != null)
+                result = classLoader.getResourceAsStream( name );
         }
 
         return result;
+    }
 
+    /**
+     * remove leading slash(es) so path will work with classes in a JAR file
+     */
+    private static String removeLeadingSlash(String name)
+    {
+        return name.replaceFirst("^/*", "");

Review Comment:
   What is the benefit to move a single line to method which is used only once?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to