Author: ivaynberg
Date: Tue May 18 21:49:50 2010
New Revision: 945909
URL: http://svn.apache.org/viewvc?rev=945909&view=rev
Log:
WICKET-2856: PackageStringResourceLoader.loadStringResource() causes
NullPointerException when used in a Class within the root package (i.e. it has
no package declaration)
Issue: WICKET-2856
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java?rev=945909&r1=945908&r2=945909&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/resource/loader/PackageStringResourceLoader.java
Tue May 18 21:49:50 2010
@@ -78,13 +78,18 @@ public class PackageStringResourceLoader
while (true)
{
- String packageName = clazz.getPackage().getName();
+ Package pkg = clazz.getPackage();
+ String packageName = (pkg == null) ? "" : pkg.getName();
packageName = packageName.replace('.', '/');
- while (packageName.length() > 0)
+ do
{
// Create the base path
- String path = packageName + "/" + filename;
+ String path = filename;
+ if (packageName.length() > 0)
+ {
+ path = packageName + "/" + path;
+ }
// Iterator over all the combinations
ResourceNameIterator iter = new
ResourceNameIterator(path, style, locale, null);
@@ -112,6 +117,7 @@ public class PackageStringResourceLoader
// Didn't find the key yet, continue searching
if possible
packageName = Strings.beforeLast(packageName,
'/');
}
+ while (packageName.length() > 0);
// Move to the next superclass
clazz = clazz.getSuperclass();