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";
         }


Reply via email to