Author: vsiveton Date: Thu May 7 13:21:00 2009 New Revision: 772644 URL: http://svn.apache.org/viewvc?rev=772644&view=rev Log: DOXIASITETOOLS-22: Unable to renderer files with uppercase extension
o take care of the extension case Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/render/RenderingContext.java Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=772644&r1=772643&r2=772644&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Thu May 7 13:21:00 2009 @@ -46,6 +46,7 @@ import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -208,23 +209,43 @@ { if ( moduleBasedir.exists() ) { - List docs = new ArrayList(); + List allFiles = FileUtils.getFileNames( moduleBasedir, "**/*.*", excludes, false ); - docs.addAll( FileUtils.getFileNames( moduleBasedir, "**/*." + module.getExtension(), excludes, false ) ); + String lowerCaseExtension = module.getExtension().toLowerCase( Locale.ENGLISH ); + List docs = new LinkedList( allFiles ); + // Take care of extension case + for ( Iterator it = docs.iterator(); it.hasNext(); ) + { + String name = it.next().toString().trim(); + + if ( !name.toLowerCase( Locale.ENGLISH ).endsWith( "." + lowerCaseExtension ) ) + { + it.remove(); + } + } - // download.apt.vm - docs.addAll( FileUtils.getFileNames( moduleBasedir, - "**/*." + module.getExtension() + ".vm", excludes, false ) ); + List velocityFiles = new LinkedList( allFiles ); + // *.xml.vm + for ( Iterator it = velocityFiles.iterator(); it.hasNext(); ) + { + String name = it.next().toString().trim(); + + if ( !name.toLowerCase( Locale.ENGLISH ).endsWith( lowerCaseExtension + ".vm" ) ) + { + it.remove(); + } + } + docs.addAll( velocityFiles ); for ( Iterator k = docs.iterator(); k.hasNext(); ) { - String doc = (String) k.next(); + String doc = k.next().toString().trim(); RenderingContext context = new RenderingContext( moduleBasedir, doc, module.getParserId(), module.getExtension() ); // TODO: DOXIA-111: we need a general filter here that knows how to alter the context - if ( doc.endsWith( ".vm" ) ) + if ( doc.toLowerCase( Locale.ENGLISH ).endsWith( ".vm" ) ) { context.setAttribute( "velocity", "true" ); } Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/render/RenderingContext.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/render/RenderingContext.java?rev=772644&r1=772643&r2=772644&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/render/RenderingContext.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/render/RenderingContext.java Thu May 7 13:21:00 2009 @@ -21,6 +21,7 @@ import java.io.File; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.codehaus.plexus.util.PathTool; @@ -91,7 +92,8 @@ // index.xml -> index.html // index.xml.vm -> index.html // download.apt.vm --> download.html - int startIndexOfExtension = document.indexOf( "." + extension ); + int startIndexOfExtension = + document.toLowerCase( Locale.ENGLISH ).indexOf( "." + extension.toLowerCase( Locale.ENGLISH ) ); String fileNameWithoutExt = document.substring( 0, startIndexOfExtension ); this.outputName = fileNameWithoutExt + ".html"; }