donaldp 2002/10/30 22:59:38
Modified: loader/src/java/org/apache/excalibur/loader/builder
DefaultLoaderResolver.java
Log:
Make sure all paths are handled well (even those that start with . or ./)
Revision Changes Path
1.3 +18 -3
jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/DefaultLoaderResolver.java
Index: DefaultLoaderResolver.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/loader/src/java/org/apache/excalibur/loader/builder/DefaultLoaderResolver.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultLoaderResolver.java 31 Oct 2002 00:27:53 -0000 1.2
+++ DefaultLoaderResolver.java 31 Oct 2002 06:59:38 -0000 1.3
@@ -106,10 +106,16 @@
throw new IllegalArgumentException( message );
}
+ String prefix = "";
+ if( 0 != path.length() )
+ {
+ prefix = path + "/";
+ }
+
for( int i = 0; i < files.length; i++ )
{
final File file = files[ i ];
- final String newPath = path + "/" + file.getName();
+ final String newPath = prefix + file.getName();
if( file.isDirectory() )
{
scanDir( file, matcher, newPath, urls );
@@ -144,6 +150,11 @@
private String[] prefixPatterns( final String prefix,
final String[] patterns )
{
+ if( 0 == prefix.length() )
+ {
+ return patterns;
+ }
+
final String[] newPatterns = new String[ patterns.length ];
for( int i = 0; i < newPatterns.length; i++ )
{
@@ -184,7 +195,11 @@
*/
private static final String normalize( String path )
{
- if( path.length() < 2 )
+ if( ".".equals( path ) || "./".equals( path ) )
+ {
+ return "";
+ }
+ else if( path.length() < 2 )
{
return path;
}
--
To unsubscribe, e-mail: <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>