only prefix page classnames if a package is defined
git-svn-id: https://svn.apache.org/repos/asf/click/trunk/click@1002954 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/org/apache/click/service/XmlConfigService.java b/framework/src/org/apache/click/service/XmlConfigService.java
index b74d419..d04dc02 100644
--- a/framework/src/org/apache/click/service/XmlConfigService.java
+++ b/framework/src/org/apache/click/service/XmlConfigService.java
@@ -1043,7 +1043,7 @@
}
pagesPackage = pagesPackage.trim();
- if (pagesPackage.endsWith(".")) {
+ if (pagesPackage.endsWith(".") && pagesPackage.length() > 1) {
pagesPackage =
pagesPackage.substring(0, pagesPackage.length() - 2);
}
@@ -1992,41 +1992,41 @@
}
Class tmpPageClass = null;
- String classFound = null;
+ String classnameFound = null;
try {
// First, lookup classname as provided
tmpPageClass = ClickUtils.classForName(classname);
- classFound = classname;
+ classnameFound = classname;
} catch (ClassNotFoundException cnfe) {
-// For backward compatibility prefix classname with package name
- String prefixedClassname = classname;
if (pagesPackage.trim().length() > 0) {
- prefixedClassname = pagesPackage + "." + classname;
- }
+ // For backward compatibility prefix classname with package name
+ String prefixedClassname = pagesPackage + "." + classname;
- try {
- // CLK-704
- // For backward compatibility, lookup classname prefixed with the package name
+ try {
+ // CLK-704
+ // For backward compatibility, lookup classname prefixed with the package name
- tmpPageClass = ClickUtils.classForName(prefixedClassname);
- classFound = prefixedClassname;
+ tmpPageClass =
+ ClickUtils.classForName(prefixedClassname);
+ classnameFound = prefixedClassname;
- } catch (ClassNotFoundException cnfe2) {
- // Throw original exception which used the given classname
- String msg = "No class was found for the Page classname: '"
- + classname + "'.";
- throw new RuntimeException(msg, cnfe);
+ } catch (ClassNotFoundException cnfe2) {
+ // Throw original exception which used the given classname
+ String msg = "No class was found for the Page classname: '"
+ + classname + "'.";
+ throw new RuntimeException(msg, cnfe);
+ }
}
}
pageClass = tmpPageClass;
if (!Page.class.isAssignableFrom(pageClass)) {
- String msg = "Page class '" + classFound
+ String msg = "Page class '" + classnameFound
+ "' is not a subclass of org.apache.click.Page";
throw new RuntimeException(msg);
}