Author: awiner
Date: Wed Dec  6 13:52:45 2006
New Revision: 483252

URL: http://svn.apache.org/viewvc?view=rev&rev=483252
Log:
Common mistake when using ClassLoader.getResource() or getResourceAsStream() is 
to pass an URL that begins with a slash.  Works on some app servers, doesn't 
work on others.  Log a warning when this happens.

Modified:
    
incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ClassLoaderUtils.java

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ClassLoaderUtils.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ClassLoaderUtils.java?view=diff&rev=483252&r1=483251&r2=483252
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ClassLoaderUtils.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/util/ClassLoaderUtils.java
 Wed Dec  6 13:52:45 2006
@@ -147,6 +147,8 @@
     String      name,
     ClassLoader callerClassLoader)
   {
+    _checkResourceName(name);
+
     URL url = null;
 
     ClassLoader loader = getContextClassLoader();
@@ -180,6 +182,8 @@
     String      name,
     ClassLoader callerClassLoader)
   {
+    _checkResourceName(name);
+
     InputStream stream = null;
 
     ClassLoader loader = getContextClassLoader();
@@ -293,6 +297,15 @@
     return null;
   }
 
+  private static void _checkResourceName(String name)
+  {
+    if ((name != null) && name.startsWith("/"))
+    {
+      _LOG.warning("Resource name \"" + name + "\" begins with a slash, " +
+                   "which is not portable.");
+                   
+    }
+  }
 
   private static final TrinidadLogger _LOG =
     TrinidadLogger.createTrinidadLogger(ClassLoaderUtils.class);


Reply via email to