svn commit: r557536 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
Author: ltheussl Date: Thu Jul 19 02:42:05 2007 New Revision: 557536 URL: http://svn.apache.org/viewvc?view=rev&rev=557536 Log: Clean up Exception handling. Split up the long parseXdoc method into parts. Javadocs. Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java?view=diff&rev=557536&r1=557535&r2=557536 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Thu Jul 19 02:42:05 2007 @@ -19,12 +19,15 @@ * under the License. */ +import java.io.IOException; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; +import org.apache.maven.doxia.macro.MacroExecutionException; +import org.apache.maven.doxia.macro.manager.MacroNotFoundException; import org.apache.maven.doxia.macro.MacroRequest; import org.apache.maven.doxia.parser.AbstractParser; import org.apache.maven.doxia.parser.ParseException; @@ -33,26 +36,34 @@ import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.xml.pull.MXParser; import org.codehaus.plexus.util.xml.pull.XmlPullParser; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; /** - * Parse an xdoc model and emit events into the specified doxia - * Sink. + * Parse an xdoc model and emit events into the specified doxia Sink. * * @author mailto:[EMAIL PROTECTED]">Jason van Zyl * @version $Id:XdocParser.java 348605 2005-11-24 12:02:44 +1100 (Thu, 24 Nov 2005) brett $ - * @plexus.component role="org.apache.maven.doxia.parser.Parser" - * role-hint="xdoc" + * @plexus.component role="org.apache.maven.doxia.parser.Parser" role-hint="xdoc" */ public class XdocParser extends AbstractParser { +/** The source content of the input reader. Used to pass into macros. */ private String sourceContent; +/** Used to distinguish from . */ private boolean isLink; + +/** Used to distinguish from . */ private boolean isAnchor; + +/** Empty elements don't write a closing tag. */ private boolean isEmptyElement; + +/** Used for nested lists. */ private int orderedListDepth = 0; +/** [EMAIL PROTECTED] */ public void parse( Reader reader, Sink sink ) throws ParseException { @@ -68,14 +79,30 @@ parseXdoc( parser, sink ); } -catch ( Exception ex ) +catch ( XmlPullParserException ex ) +{ +throw new ParseException( "Error parsing the model!", ex ); +} +catch ( IOException ex ) { -throw new ParseException( "Error parsing the model.", ex ); +throw new ParseException( "Error reading the input model!", ex ); +} +catch ( MacroExecutionException ex ) +{ +throw new ParseException( "Macro execution failed!", ex ); } } +/** + * Parse the model from the XmlPullParser into the given sink. + * + * @param parser A parser. + * @param sink the sink to receive the events. + * @throws XmlPullParserException if there's a problem parsing the model + * @throws MacroExecutionException if there's a problem executing a macro + */ public void parseXdoc( XmlPullParser parser, Sink sink ) -throws Exception +throws XmlPullParserException, MacroExecutionException { int eventType = parser.getEventType(); @@ -83,400 +110,450 @@ { if ( eventType == XmlPullParser.START_TAG ) { -if ( parser.getName().equals( "document" ) ) -{ -//Do nothing -} -else if ( parser.getName().equals( "title" ) ) -{ -sink.title(); -} -else if ( parser.getName().equals( "author" ) ) -{ -sink.author(); -} -else if ( parser.getName().equals( "body" ) ) -{ -sink.body(); -} -else if ( parser.getName().equals( "section" ) ) -{ -sink.section1(); - -sink.sectionTitle1(); - -sink.text( parser.getAttributeValue( null, "name" ) ); - -sink.sectionTitle1_(); -} -
svn commit: r557537 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc: XdocSink.java XdocSiteModule.java XmlWriterXdocSink.java
Author: ltheussl Date: Thu Jul 19 02:42:53 2007 New Revision: 557537 URL: http://svn.apache.org/viewvc?view=rev&rev=557537 Log: Javadocs, source formatting. No code changes. Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSiteModule.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XmlWriterXdocSink.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java?view=diff&rev=557537&r1=557536&r2=557537 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java Thu Jul 19 02:42:53 2007 @@ -35,12 +35,16 @@ public class XdocSink extends SinkAdapter { +/** System-dependent EOL. */ protected static final String EOL = System.getProperty( "line.separator" ); +/** The LineBreaker to write the result. */ protected LineBreaker out; +/** Used to collect text events. */ protected StringBuffer buffer = new StringBuffer(); +/** An indication on if we're inside a head. */ protected boolean headFlag; /** @@ -50,23 +54,34 @@ */ protected boolean titleFlag; +/** An indication on if we're inside a item. */ private boolean itemFlag; +/** An indication on if we're inside a box (verbatim). */ private boolean boxedFlag; +/** An indication on if we're in verbatim mode. */ private boolean verbatimFlag; +/** Justification of table cells. */ private int[] cellJustif; +/** Number of cells in a table row. */ private int cellCount; -private String section; - -public XdocSink( Writer out ) +/** + * Constructor, initialize the LineBreaker. + * + * @param writer The writer to write the result. + */ +public XdocSink( Writer writer ) { -this.out = new LineBreaker( out ); +this.out = new LineBreaker( writer ); } +/** + * Reset all variables. + */ protected void resetState() { headFlag = false; @@ -78,6 +93,7 @@ cellCount = 0; } +/** [EMAIL PROTECTED] */ public void head() { resetState(); @@ -91,6 +107,7 @@ markup( "" + EOL ); } +/** [EMAIL PROTECTED] */ public void head_() { headFlag = false; @@ -98,6 +115,7 @@ markup( "" + EOL ); } +/** [EMAIL PROTECTED] */ public void title_() { if ( buffer.length() > 0 ) @@ -109,6 +127,7 @@ } } +/** [EMAIL PROTECTED] */ public void author_() { if ( buffer.length() > 0 ) @@ -120,6 +139,7 @@ } } +/** [EMAIL PROTECTED] */ public void date_() { if ( buffer.length() > 0 ) @@ -131,11 +151,13 @@ } } +/** [EMAIL PROTECTED] */ public void body() { markup( "" + EOL ); } +/** [EMAIL PROTECTED] */ public void body_() { markup( "" + EOL ); @@ -151,106 +173,131 @@ // // --- +/** [EMAIL PROTECTED] */ public void section1() { onSection( 1 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle1() { onSectionTitle( 1 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle1_() { onSectionTitle_( 1 ); } +/** [EMAIL PROTECTED] */ public void section1_() { onSection_( 1 ); } +/** [EMAIL PROTECTED] */ public void section2() { onSection( 2 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle2() { onSectionTitle( 2 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle2_() { onSectionTitle_( 2 ); } +/** [EMAIL PROTECTED] */ public void section2_() { onSection_( 2 ); } +/** [EMAIL PROTECTED] */ public void section3() { onSection( 3 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle3() { onSectionTitle( 3 ); } +/** [EMAIL PROTECTED] */ public void sectionTitle3_() { onSectionTitle_( 3 ); } +/** [EMAIL PROTECTED] */ public void section3_() { onSection_( 3 ); } +
svn commit: r557577 - in /maven/doxia/doxia/trunk/doxia-modules: doxia-module-apt/ doxia-module-apt/src/main/components/ doxia-module-apt/src/main/resources/META-INF/ doxia-module-xdoc/ doxia-module-x
Author: ltheussl Date: Thu Jul 19 04:22:36 2007 New Revision: 557577 URL: http://svn.apache.org/viewvc?view=rev&rev=557577 Log: DOXIA-115: apt and xdoc modules require descriptor merge, otherwise macro tests fail. Thanks to Eric Redmond. Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml (with props) maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/components.xml (with props) Removed: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/resources/META-INF/ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/resources/META-INF/ Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/pom.xml maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/pom.xml Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/pom.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/pom.xml?view=diff&rev=557577&r1=557576&r2=557577 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/pom.xml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/pom.xml Thu Jul 19 04:22:36 2007 @@ -7,4 +7,27 @@ 4.0.0 doxia-module-apt Doxia :: APT Module + + + + +org.codehaus.plexus +plexus-maven-plugin + + +src/main/components/components.xml + target/generated-resources/plexus/META-INF/plexus/components.xml + + + + + + merge-descriptors + + + + + + + Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml?view=auto&rev=557577 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml (added) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml Thu Jul 19 04:22:36 2007 @@ -0,0 +1,22 @@ + + + + org.apache.maven.doxia.parser.Parser + apt + org.apache.maven.doxia.module.apt.AptParser + + + + org.apache.maven.doxia.macro.manager.MacroManager + macroManager + + + + + org.apache.maven.doxia.site.module.SiteModule + apt + org.apache.maven.doxia.module.apt.AptSiteModule + + + + Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml -- svn:eol-style = native Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/components/components.xml -- svn:keywords = "Author Date Id Revision" Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/pom.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/pom.xml?view=diff&rev=557577&r1=557576&r2=557577 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/pom.xml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/pom.xml Thu Jul 19 04:22:36 2007 @@ -7,4 +7,27 @@ 4.0.0 doxia-module-xdoc Doxia :: XDoc Module + + + + +org.codehaus.plexus +plexus-maven-plugin + + +src/main/components/components.xml + target/generated-resources/plexus/META-INF/plexus/components.xml + + + + + + merge-descriptors + + + + + + + Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/components.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/components.xml?view=auto&rev=557577 == --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/components.xml (added) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/components/components.xml Thu Jul 19 04:22:36 2007 @@ -0,0 +1,22 @@ + + + + org.apache.maven.doxia.parser.Parser + xdoc + org.apache.maven.doxia.module.xdoc.XdocParser + Parse an xdoc model and emit events into the specified doxia Sink. + + + org.apache.m