Author: rfscholte Date: Sat Apr 6 22:18:35 2013 New Revision: 1465304 URL: http://svn.apache.org/r1465304 Log: [DOXIA-170] Confluence module should do something with non-doxia formatting
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceMarkup.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkTest.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceMarkup.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceMarkup.java?rev=1465304&r1=1465303&r2=1465304&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceMarkup.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceMarkup.java Sat Apr 6 22:18:35 2013 @@ -86,6 +86,24 @@ public interface ConfluenceMarkup /** Syntax for the numbering decimal markup char: "#" */ String NUMBERING_MARKUP = "#"; + /** Syntax for the strikethrough markup start: "-" */ + String STRIKETHROUGH_START_MARKUP = "-"; + + /** Syntax for the strikethrough markup end: "-" */ + String STRIKETHROUGH_END_MARKUP = "-"; + + /** Syntax for the subscript markup start: "-" */ + String SUBSCRIPT_START_MARKUP = "~"; + + /** Syntax for the subscript markup end: "-" */ + String SUBSCRIPT_END_MARKUP = "~"; + + /** Syntax for the superscript markup start: "-" */ + String SUPERSCRIPT_START_MARKUP = "^"; + + /** Syntax for the superscript markup end: "-" */ + String SUPERSCRIPT_END_MARKUP = "^"; + /** Syntax for the table cell header end markup: "|" */ String TABLE_CELL_HEADER_END_MARKUP = "|"; @@ -97,4 +115,10 @@ public interface ConfluenceMarkup /** Syntax for the table row markup: "|" */ String TABLE_ROW_MARKUP = "|"; + + /** Syntax for the underlined markup start: "-" */ + String UNDERLINED_START_MARKUP = "+"; + + /** Syntax for the underlined markup end: "-" */ + String UNDERLINED_END_MARKUP = "+"; } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java?rev=1465304&r1=1465303&r2=1465304&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSink.java Sat Apr 6 22:18:35 2013 @@ -25,6 +25,7 @@ import java.io.Writer; import java.util.Stack; import javax.swing.text.html.HTML.Attribute; +import javax.swing.text.html.HTML.Tag; import org.apache.maven.doxia.sink.AbstractTextSink; import org.apache.maven.doxia.sink.SinkEventAttributes; @@ -975,7 +976,48 @@ public class ConfluenceSink /** {@inheritDoc} */ public void text( String text, SinkEventAttributes attributes ) { - text( text ); + if ( attributes == null ) + { + text( text ); + } + else + { + if ( attributes.containsAttribute( SinkEventAttributes.DECORATION, "underline" ) ) + { + write( UNDERLINED_START_MARKUP ); + } + else if ( attributes.containsAttribute( SinkEventAttributes.DECORATION, "line-through" ) ) + { + write( STRIKETHROUGH_START_MARKUP ); + } + if ( attributes.containsAttribute( SinkEventAttributes.VALIGN, "sub" ) ) + { + write( SUBSCRIPT_START_MARKUP ); + } + else if ( attributes.containsAttribute( SinkEventAttributes.VALIGN, "sup" ) ) + { + write( SUPERSCRIPT_START_MARKUP ); + } + + text( text ); + + if ( attributes.containsAttribute( SinkEventAttributes.VALIGN, "sup" ) ) + { + write( SUPERSCRIPT_END_MARKUP ); + } + else if ( attributes.containsAttribute( SinkEventAttributes.VALIGN, "sub" ) ) + { + write( SUBSCRIPT_END_MARKUP ); + } + if ( attributes.containsAttribute( SinkEventAttributes.DECORATION, "line-through" ) ) + { + write( STRIKETHROUGH_END_MARKUP ); + } + else if ( attributes.containsAttribute( SinkEventAttributes.DECORATION, "underline" ) ) + { + write( UNDERLINED_END_MARKUP ); + } + } } /** Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkTest.java?rev=1465304&r1=1465303&r2=1465304&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkTest.java Sat Apr 6 22:18:35 2013 @@ -233,6 +233,30 @@ public class ConfluenceSinkTest { return "twiki"; } + + // ---------------------------------------------------------------------- + // Confluence specific + // ---------------------------------------------------------------------- + + public void testSuperScript() + { + verifyValignSup( "^ValignSup^" ); + } + + public void testSubScript() + { + verifyValignSub( "~ValignSub~" ); + } + + public void testStrikeStrough() + { + verifyDecorationLineThrough( "-DecorationLineThrough-" ); + } + + public void testUnderline() + { + verifyDecorationUnderline( "+DecorationUnderline+" ); + } // ---------------------------------------------------------------------- // Override unused tests