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 );
+ }
+ }
}