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>&lt;trademark&gt;</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 );
+        }
+    }
 }