Author: hlship
Date: Mon Oct 31 21:48:39 2011
New Revision: 1195691
URL: http://svn.apache.org/viewvc?rev=1195691&view=rev
Log:
TAP5-1737: Loading all pages using PageCatalog page fails with
java.lang.ClassFormatError: Illegal field modifiers in class
org/apache/tapestry5/corelib/pages/package-info: 0x12
Modified:
tapestry/tapestry5/branches/5.3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassNameLocatorImpl.java
Modified:
tapestry/tapestry5/branches/5.3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassNameLocatorImpl.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassNameLocatorImpl.java?rev=1195691&r1=1195690&r2=1195691&view=diff
==============================================================================
---
tapestry/tapestry5/branches/5.3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassNameLocatorImpl.java
(original)
+++
tapestry/tapestry5/branches/5.3/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ClassNameLocatorImpl.java
Mon Oct 31 21:48:39 2011
@@ -74,8 +74,7 @@ public class ClassNameLocatorImpl implem
return findClassesWithinPath(packagePath);
- }
- catch (IOException ex)
+ } catch (IOException ex)
{
throw new RuntimeException(ex);
}
@@ -108,8 +107,7 @@ public class ClassNameLocatorImpl implem
if (connection instanceof JarURLConnection)
{
jarFile = ((JarURLConnection) connection).getJarFile();
- }
- else
+ } else
{
jarFile = getAlternativeJarFile(url);
}
@@ -117,8 +115,7 @@ public class ClassNameLocatorImpl implem
if (jarFile != null)
{
scanJarFile(packagePath, componentClassNames, jarFile);
- }
- else if (supportsDirStream(url))
+ } else if (supportsDirStream(url))
{
Stack<Queued> queue = CollectionFactory.newStack();
@@ -130,8 +127,7 @@ public class ClassNameLocatorImpl implem
scanDirStream(queued.packagePath, queued.packageURL,
componentClassNames, queue);
}
- }
- else
+ } else
{
// Try scanning file system.
String packageName = packagePath.replace("/", ".");
@@ -157,16 +153,13 @@ public class ClassNameLocatorImpl implem
{
is = packageURL.openStream();
return true;
- }
- catch (FileNotFoundException ex)
+ } catch (FileNotFoundException ex)
{
return false;
- }
- catch (IOException e)
+ } catch (IOException e)
{
return false;
- }
- finally
+ } finally
{
InternalUtils.close(is);
}
@@ -180,8 +173,7 @@ public class ClassNameLocatorImpl implem
try
{
is = new BufferedInputStream(packageURL.openStream());
- }
- catch (FileNotFoundException ex)
+ } catch (FileNotFoundException ex)
{
// This can happen for certain application servers (JBoss 4.0.5
for example), that
// export part of the exploded WAR for deployment, but leave part
(WEB-INF/classes)
@@ -205,13 +197,21 @@ public class ClassNameLocatorImpl implem
if (CLASS_NAME_PATTERN.matcher(line).matches())
{
- if (packageName == null) packageName =
packagePath.replace('/', '.');
+ if (packageName == null)
+ {
+ packageName = packagePath.replace('/', '.');
+ }
// packagePath ends with '/', packageName ends with '.'
- String fullClassName = packageName + line.substring(0,
line.length() - CLASS_SUFFIX.length());
+ String fileName = line.substring(0, line.length() -
CLASS_SUFFIX.length());
- componentClassNames.add(fullClassName);
+ if (!fileName.equals("package-info"))
+ {
+ String fullClassName = packageName + fileName;
+
+ componentClassNames.add(fullClassName);
+ }
continue;
}
@@ -230,8 +230,7 @@ public class ClassNameLocatorImpl implem
lineReader.close();
lineReader = null;
- }
- finally
+ } finally
{
InternalUtils.close(lineReader);
}
@@ -280,10 +279,10 @@ public class ClassNameLocatorImpl implem
}
// https://issues.apache.org/jira/browse/TAP5-1737
// Use of package-info.java leaves these package-info.class
files around.
- else if (fileName.endsWith(CLASS_SUFFIX) && !
fileName.equals("package-info.class"))
+ else if (fileName.endsWith(CLASS_SUFFIX) &&
!fileName.equals("package-info.class"))
{
String className = packageName + "." +
fileName.substring(0,
-
fileName.length() - CLASS_SUFFIX.length());
+ fileName.length() - CLASS_SUFFIX.length());
componentClassNames.add(className);
}
}