You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by tr...@apache.org on 2006/07/13 14:32:44 UTC
svn commit: r421602 - in /maven/doxia/trunk: ./
doxia-core/src/main/java/org/apache/maven/doxia/macro/
doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/
doxia-core/src/main/java/org/apache/maven/doxia/module/apt/
doxia-core/src/main/java/o...
Author: trygvis
Date: Thu Jul 13 05:32:43 2006
New Revision: 421602
URL: http://svn.apache.org/viewvc?rev=421602&view=rev
Log:
o Adding a version to make sure a working Plexus plugin is used.
o Adding the ability to give a file= argument to the Snippet macro. Useful to
include files that's in the same checkout.
Adding a basedir parameter to the MacroRequest. This parameter is currently
set to File( "" ) which is not correct in all cases.
Modified:
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroExecutionException.java
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java
maven/doxia/trunk/pom.xml
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroExecutionException.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroExecutionException.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroExecutionException.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroExecutionException.java Thu Jul 13 05:32:43 2006
@@ -24,6 +24,11 @@
public class MacroExecutionException
extends Exception
{
+ public MacroExecutionException( String message )
+ {
+ super( message );
+ }
+
public MacroExecutionException( String message, Throwable cause )
{
super( message, cause );
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java Thu Jul 13 05:32:43 2006
@@ -17,6 +17,7 @@
*/
import java.util.Map;
+import java.io.File;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -24,16 +25,29 @@
*/
public class MacroRequest
{
+ private File basedir;
+
private Map parameters;
- public Map getParameters()
+ public MacroRequest( Map parameters, File basedir )
{
- return parameters;
+ this.parameters = parameters;
+ this.basedir = basedir;
}
- public MacroRequest( Map parameters )
+ public File getBasedir()
{
- this.parameters = parameters;
+ return basedir;
+ }
+
+ public void setBasedir( File basedir )
+ {
+ this.basedir = basedir;
+ }
+
+ public Map getParameters()
+ {
+ return parameters;
}
public Object getParameter( String key )
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/macro/snippet/SnippetMacro.java Thu Jul 13 05:32:43 2006
@@ -20,8 +20,12 @@
import org.apache.maven.doxia.macro.MacroExecutionException;
import org.apache.maven.doxia.macro.MacroRequest;
import org.apache.maven.doxia.sink.Sink;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.FileUtils;
import java.io.IOException;
+import java.io.File;
+import java.io.FileNotFoundException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
@@ -53,29 +57,50 @@
String urlParam = (String) request.getParameter( "url" );
- required( urlParam, "url" );
+ String fileParam = (String) request.getParameter( "file" );
- URL url;
+ StringBuffer snippet;
- try
+ if ( !StringUtils.isEmpty( urlParam ) )
{
- url = new URL( urlParam );
+ try
+ {
+ snippet = getSnippet( new URL( urlParam ), id );
+ }
+ catch ( MalformedURLException e )
+ {
+ throw new IllegalArgumentException( urlParam + " is a malformed URL" );
+ }
+ catch ( IOException e )
+ {
+ throw new MacroExecutionException( "Error reading snippet", e );
+ }
}
- catch ( MalformedURLException e )
+ else if ( !StringUtils.isEmpty( fileParam ) )
{
- throw new IllegalArgumentException( urlParam + " is a malformed URL" );
- }
+ File f = new File( fileParam );
- String lang = (String) request.getParameter( "lang" );
+ if ( !f.isAbsolute() )
+ {
+ f = new File( request.getBasedir(), fileParam );
+ }
- StringBuffer snippet = null;
- try
- {
- snippet = getSnippet( url, id );
+ try
+ {
+ snippet = new StringBuffer( FileUtils.fileRead( f ) );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new MacroExecutionException( "No such file: '" + f.getAbsolutePath() + "'." );
+ }
+ catch ( IOException e )
+ {
+ throw new MacroExecutionException( "Error while readin file: '" + f.getAbsolutePath() + "'.", e );
+ }
}
- catch ( IOException e )
+ else
{
- throw new MacroExecutionException( "Error reading snippet", e );
+ throw new IllegalArgumentException( "Either the 'url' or the 'file' param has to be given." );
}
sink.verbatim( true );
@@ -85,7 +110,7 @@
sink.verbatim_();
}
- StringBuffer getSnippet( URL url, String id )
+ private StringBuffer getSnippet( URL url, String id )
throws IOException
{
StringBuffer result;
@@ -109,7 +134,7 @@
if ( debug )
{
- result.append( "(Fetched from url, cache content " + cache + ")" );
+ result.append( "(Fetched from url, cache content " ).append( cache ).append( ")" );
}
}
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java Thu Jul 13 05:32:43 2006
@@ -564,7 +564,7 @@
sink.definitionList_();
}
- private final void nextLine()
+ private void nextLine()
throws AptParseException
{
line = source.getNextLine();
@@ -782,17 +782,17 @@
// -----------------------------------------------------------------------
- private static final boolean isOctalChar( char c )
+ private static boolean isOctalChar( char c )
{
return ( c >= '0' && c <= '7' );
}
- private static final boolean isHexChar( char c )
+ private static boolean isHexChar( char c )
{
return ( ( c >= '0' && c <= '9' ) || ( c >= 'a' && c <= 'f' ) || ( c >= 'A' && c <= 'F' ) );
}
- private static final char charAt( String string, int length, int i )
+ private static char charAt( String string, int length, int i )
{
return ( i < length ) ? string.charAt( i ) : '\0';
}
@@ -1106,7 +1106,7 @@
flushTraversed( buffer, sink );
}
- private static final void flushTraversed( StringBuffer buffer, Sink sink )
+ private static void flushTraversed( StringBuffer buffer, Sink sink )
{
if ( buffer.length() > 0 )
{
@@ -1762,7 +1762,7 @@
int columns = 0;
StringBuffer[] cells = null;
boolean[] headers = null;
- boolean grid = false;
+ boolean grid;
AptParser.this.sink.table();
@@ -2138,7 +2138,7 @@
parameters.put( param[0], param[1] );
}
- MacroRequest request = new MacroRequest( parameters );
+ MacroRequest request = new MacroRequest( parameters, getBasedir() );
try
{
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Thu Jul 13 05:32:43 2006
@@ -85,7 +85,7 @@
{
sink.anchor( parser.getAttributeValue( null, "name" ) );
sink.anchor_();
-
+
sink.section1();
sink.sectionTitle1();
@@ -98,7 +98,7 @@
{
sink.anchor( parser.getAttributeValue( null, "name" ) );
sink.anchor_();
-
+
sink.section2();
sink.sectionTitle2();
@@ -172,7 +172,7 @@
parameters.put( parser.getAttributeName( i ), parser.getAttributeValue( i ) );
}
- MacroRequest request = new MacroRequest( parameters );
+ MacroRequest request = new MacroRequest( parameters, getBasedir() );
executeMacro( macroId, request, sink );
}
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java Thu Jul 13 05:32:43 2006
@@ -22,6 +22,9 @@
import org.apache.maven.doxia.macro.manager.MacroManager;
import org.apache.maven.doxia.macro.manager.MacroNotFoundException;
import org.apache.maven.doxia.sink.Sink;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -44,5 +47,22 @@
Macro macro = macroManager.getMacro( macroId );
macro.execute( sink, request );
+ }
+
+ protected File getBasedir()
+ {
+ // TODO: This is baaad, it should come in with the request.
+
+ String basedir = System.getProperty( "basedir" );
+
+ if ( basedir != null )
+ {
+ return new File( basedir );
+ }
+
+ System.out.println(
+ "new File( new File( \"\" ).getAbsolutePath() ) = " + new File( new File( "" ).getAbsolutePath() ) );
+
+ return new File( new File( "" ).getAbsolutePath() );
}
}
Modified: maven/doxia/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/trunk/pom.xml?rev=421602&r1=421601&r2=421602&view=diff
==============================================================================
--- maven/doxia/trunk/pom.xml (original)
+++ maven/doxia/trunk/pom.xml Thu Jul 13 05:32:43 2006
@@ -46,6 +46,7 @@
<plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-maven-plugin</artifactId>
+ <version>1.2</version>
<executions>
<execution>
<goals>
@@ -63,6 +64,7 @@
<module>doxia-decoration-model</module>
<module>doxia-modules</module>
<module>doxia-sandbox</module>
+ <module>doxia-site</module>
</modules>
<distributionManagement>
<site>