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 lt...@apache.org on 2009/06/15 06:52:05 UTC
svn commit: r784650 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src:
main/java/org/apache/maven/doxia/module/docbook/
test/java/org/apache/maven/doxia/module/docbook/
Author: ltheussl
Date: Mon Jun 15 04:52:05 2009
New Revision: 784650
URL: http://svn.apache.org/viewvc?rev=784650&view=rev
Log:
Add some ignored tags to reduce logging noise.
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java?rev=784650&r1=784649&r2=784650&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java Mon Jun 15 04:52:05 2009
@@ -62,6 +62,7 @@
private boolean simpleTag;
+ private char trademark = '\u2122';
/**
* A selective stack of parent elements
*/
@@ -104,6 +105,11 @@
*/
private static final Collection MONOSPACE_ELEMENTS = new HashSet();
+ /**
+ * The list of DocBook elements that may be ignored, either because they don't
+ * require any special processing or because they are not yet implemented.
+ */
+ private static final Collection IGNORABLE_ELEMENTS = new HashSet();
static
{
META_ELEMENTS.add( SimplifiedDocbookMarkup.ARTICLEINFO_TAG.toString() );
@@ -131,6 +137,8 @@
ITALIC_ELEMENTS.add( SimplifiedDocbookMarkup.SYSTEMITEM_TAG.toString() );
ITALIC_ELEMENTS.add( SimplifiedDocbookMarkup.CITETITLE_TAG.toString() );
ITALIC_ELEMENTS.add( SimplifiedDocbookMarkup.EMPHASIS_TAG.toString() );
+ ITALIC_ELEMENTS.add( SimplifiedDocbookMarkup.ATTRIBUTION_TAG.toString() );
+ ITALIC_ELEMENTS.add( SimplifiedDocbookMarkup.LINEANNOTATION_TAG.toString() );
MONOSPACE_ELEMENTS.add( SimplifiedDocbookMarkup.COMPUTEROUTPUT_TAG.toString() );
MONOSPACE_ELEMENTS.add( SimplifiedDocbookMarkup.REPLACEABLE_TAG.toString() );
@@ -139,6 +147,24 @@
MONOSPACE_ELEMENTS.add( SimplifiedDocbookMarkup.SYSTEMITEM_TAG.toString() );
MONOSPACE_ELEMENTS.add( SimplifiedDocbookMarkup.USERINPUT_TAG.toString() );
MONOSPACE_ELEMENTS.add( SimplifiedDocbookMarkup.FILENAME_TAG.toString() );
+
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.ABBREV_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.ABSTRACT_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.BIBLIOMIXED_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.BIBLIOMSET_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.COLSPEC_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.EPIGRAPH_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.EXAMPLE_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.FOOTNOTEREF_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.IMAGEOBJECT_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.INLINEMEDIAOBJECT_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.ISSUENUM_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.PHRASE_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.PUBDATE_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.PUBLISHERNAME_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.SPANSPEC_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.TEXTOBJECT_TAG.toString() );
+ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.VOLUMENUM_TAG.toString() );
}
// ----------------------------------------------------------------------
@@ -174,6 +200,22 @@
{
parent.push( SimplifiedDocbookMarkup.ARTICLEINFO_TAG.toString() );
}
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.FOOTNOTE_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.SECTIONINFO_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.VIDEOOBJECT_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.AUDIOOBJECT_TAG.toString() ) )
+ {
+ parent.push( parser.getName() );
+ ignore = true;
+ }
+ else if ( isParent( ( SimplifiedDocbookMarkup.FOOTNOTE_TAG.toString() ) )
+ || isParent( SimplifiedDocbookMarkup.AUDIOOBJECT_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.VIDEOOBJECT_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.SECTIONINFO_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.ENTRYTBL_TAG.toString() ) )
+ {
+ return; // TODO: implement footnotes, entrytbl
+ }
else if ( HIER_ELEMENTS.contains( parser.getName() ) )
{
handleSectionElements( sink, parser.getName(), attribs );
@@ -210,6 +252,20 @@
{
return;
}
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.QUOTE_TAG.toString() ) )
+ {
+ sink.text( "\"", null );
+ }
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.TRADEMARK_TAG.toString() ) )
+ {
+ trademark = '\u2122';
+ Object trade = attribs.getAttribute( "class" );
+
+ if ( trade != null )
+ {
+ trademark = DocbookUtils.trademarkFromClass( trade.toString() );
+ }
+ }
else
{
if ( !ignorable( parser.getName() ) )
@@ -250,6 +306,23 @@
level--;
parent.pop();
}
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.FOOTNOTE_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.AUDIOOBJECT_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.VIDEOOBJECT_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.SECTIONINFO_TAG.toString() )
+ || parser.getName().equals( SimplifiedDocbookMarkup.ENTRYTBL_TAG.toString() ) )
+ {
+ parent.pop();
+ ignore = false;
+ }
+ else if ( isParent( ( SimplifiedDocbookMarkup.FOOTNOTE_TAG.toString() ) )
+ || isParent( SimplifiedDocbookMarkup.AUDIOOBJECT_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.VIDEOOBJECT_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.SECTIONINFO_TAG.toString() )
+ || isParent( SimplifiedDocbookMarkup.ENTRYTBL_TAG.toString() ) )
+ {
+ return;
+ }
else if ( parser.getName().equals( SimplifiedDocbookMarkup.ITEMIZEDLIST_TAG.toString() ) )
{
sink.list_();
@@ -386,6 +459,14 @@
sink.link_();
}
}
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.QUOTE_TAG.toString() ) )
+ {
+ sink.text( "\"", null );
+ }
+ else if ( parser.getName().equals( SimplifiedDocbookMarkup.TRADEMARK_TAG.toString() ) )
+ {
+ sink.text( Character.toString( trademark ), null );
+ }
else if ( !simpleTag && !ignorable( parser.getName() ) )
{
handleUnknown( parser, sink, HtmlMarkup.TAG_TYPE_END );
@@ -535,6 +616,9 @@
{
String mailto = parser.nextText();
sink.link( "mailto:" + mailto, attribs );
+ sink.monospaced();
+ sink.text( mailto, null );
+ sink.monospaced_();
sink.link_();
}
catch ( IOException e )
@@ -757,10 +841,7 @@
private boolean ignorable( String name )
{
- return name.equals( SimplifiedDocbookMarkup.IMAGEOBJECT_TAG.toString() )
- || name.equals( SimplifiedDocbookMarkup.PHRASE_TAG.toString() )
- || name.equals( SimplifiedDocbookMarkup.COLSPEC_TAG.toString() )
- || name.equals( SimplifiedDocbookMarkup.TEXTOBJECT_TAG.toString() );
+ return IGNORABLE_ELEMENTS.contains( name );
}
/**
@@ -911,7 +992,15 @@
private boolean tableStartTags( String name, Sink sink, SinkEventAttributeSet attribs )
{
- if ( name.equals( SimplifiedDocbookMarkup.TABLE_TAG.toString() )
+ if ( name.equals( SimplifiedDocbookMarkup.ENTRYTBL_TAG.toString() ) )
+ {
+ parent.push( name );
+ ignore = true;
+ // insert empty table cell instead
+ sink.tableCell( (SinkEventAttributeSet) null );
+ sink.tableCell_();
+ }
+ else if ( name.equals( SimplifiedDocbookMarkup.TABLE_TAG.toString() )
|| name.equals( SimplifiedDocbookMarkup.INFORMALTABLE_TAG.toString() ) )
{
handleTableStart( sink, attribs );
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java?rev=784650&r1=784649&r2=784650&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java Mon Jun 15 04:52:05 2009
@@ -147,4 +147,40 @@
throw new IllegalArgumentException( "Not a valid numbering: " + numbering );
}
}
+
+ /**
+ * Get a trademark character from a class attribute.
+ *
+ * <p>The input String has to be one of <code>"registered"</code>, <code>"copyright"</code>,
+ * <code>"service"</code> or <code>"trade"</code> otherwise an IllegalArgumentException is thrown.</p>
+ *
+ * <p>The corresponding output is <code>'\u00AE'</code>, <code>'\u00A9'</code>,
+ * <code>'\u2120'</code> or <code>'\u2122'</code>.</p>
+ *
+ * @param trade a valid class atribute for the docbook <code><trademark></code> tag.
+ * @return the corresponding unicode character.
+ */
+ public static final char trademarkFromClass( String trade )
+ {
+ if ( "registered".equals( trade ) )
+ {
+ return '\u00AE';
+ }
+ else if ( "copyright".equals( trade ) )
+ {
+ return '\u00A9';
+ }
+ else if ( "service".equals( trade ) )
+ {
+ return '\u2120';
+ }
+ else if ( "trade".equals( trade ) )
+ {
+ return '\u2122';
+ }
+ else
+ {
+ throw new IllegalArgumentException( "Not a trademark class: " + trade );
+ }
+ }
}
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java?rev=784650&r1=784649&r2=784650&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java Mon Jun 15 04:52:05 2009
@@ -108,4 +108,24 @@
assertNotNull( e );
}
}
+ /**
+ * Test of trademarkFromClass method, of class DocbookUtils.
+ */
+ public void testTrademarkFromClass()
+ {
+ assertEquals( '\u00AE', DocbookUtils.trademarkFromClass( "registered" ) );
+ assertEquals( '\u00A9', DocbookUtils.trademarkFromClass( "copyright" ) );
+ assertEquals( '\u2120', DocbookUtils.trademarkFromClass( "service" ) );
+ assertEquals( '\u2122', DocbookUtils.trademarkFromClass( "trade" ) );
+
+ try
+ {
+ DocbookUtils.trademarkFromClass( "" );
+ fail();
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertNotNull( e );
+ }
+ }
}