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/13 13:40:12 UTC
svn commit: r784379 - 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: Sat Jun 13 11:40:11 2009
New Revision: 784379
URL: http://svn.apache.org/viewvc?rev=784379&view=rev
Log:
Factor out some utility methods in a separate class.
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java (with props)
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java (with props)
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/DocBookSink.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=784379&r1=784378&r2=784379&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 Sat Jun 13 11:40:11 2009
@@ -634,30 +634,12 @@
{
//default enumeration style is decimal
int numeration = Sink.NUMBERING_DECIMAL;
- String style = SimplifiedDocbookMarkup.ARABIC_STYLE;
Object num = attribs.getAttribute( SimplifiedDocbookMarkup.NUMERATION_ATTRIBUTE );
if ( num != null )
{
- style = num.toString();
- }
-
- if ( SimplifiedDocbookMarkup.LOWERALPHA_STYLE.equals( style ) )
- {
- numeration = Sink.NUMBERING_LOWER_ALPHA;
- }
- else if ( SimplifiedDocbookMarkup.LOWERROMAN_STYLE.equals( style ) )
- {
- numeration = Sink.NUMBERING_LOWER_ROMAN;
- }
- else if ( SimplifiedDocbookMarkup.UPPERALPHA_STYLE.equals( style ) )
- {
- numeration = Sink.NUMBERING_UPPER_ALPHA;
- }
- else if ( SimplifiedDocbookMarkup.UPPERROMAN_STYLE.equals( style ) )
- {
- numeration = Sink.NUMBERING_UPPER_ROMAN;
+ numeration = DocbookUtils.doxiaListNumbering( num.toString() );
}
sink.numberedList( numeration, attribs );
@@ -687,33 +669,8 @@
Object frame = attribs.getAttribute( SimplifiedDocbookMarkup.FRAME_ATTRIBUTE );
if ( frame != null )
{
- String fr = frame.toString();
- if ( fr.equals( "all" ) )
- {
- fr = "box";
- }
- else if ( fr.equals( "bottom" ) )
- {
- fr = "below";
- }
- else if ( fr.equals( "none" ) )
- {
- fr = "void";
- }
- else if ( fr.equals( "sides" ) )
- {
- fr = "vsides";
- }
- else if ( fr.equals( "top" ) )
- {
- fr = "above";
- }
- else if ( fr.equals( "topbot" ) )
- {
- fr = "hsides";
- }
-
- attribs.addAttribute( SimplifiedDocbookMarkup.FRAME_ATTRIBUTE, fr );
+ attribs.addAttribute( SimplifiedDocbookMarkup.FRAME_ATTRIBUTE,
+ DocbookUtils.doxiaTableFrameAttribute( frame.toString() ) );
}
sink.table( attribs );
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.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/DocBookSink.java?rev=784379&r1=784378&r2=784379&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java Sat Jun 13 11:40:11 2009
@@ -920,25 +920,7 @@
*/
public void numberedList( int numbering )
{
- String numeration;
- switch ( numbering )
- {
- case NUMBERING_UPPER_ALPHA:
- numeration = SimplifiedDocbookMarkup.UPPERALPHA_STYLE;
- break;
- case NUMBERING_LOWER_ALPHA:
- numeration = SimplifiedDocbookMarkup.LOWERALPHA_STYLE;
- break;
- case NUMBERING_UPPER_ROMAN:
- numeration = SimplifiedDocbookMarkup.UPPERROMAN_STYLE;
- break;
- case NUMBERING_LOWER_ROMAN:
- numeration = SimplifiedDocbookMarkup.LOWERROMAN_STYLE;
- break;
- case NUMBERING_DECIMAL:
- default:
- numeration = SimplifiedDocbookMarkup.ARABIC_STYLE;
- }
+ String numeration = DocbookUtils.docbookListNumbering( numbering );
paragraph_();
Added: 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=784379&view=auto
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java (added)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java Sat Jun 13 11:40:11 2009
@@ -0,0 +1,150 @@
+package org.apache.maven.doxia.module.docbook;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.doxia.sink.Sink;
+
+/**
+ * Utility methods for Doxia Docbook Parser and Sink.
+ *
+ * @author ltheussl
+ * @version $Id$
+ * @since 1.1.1
+ */
+public class DocbookUtils
+{
+ /**
+ * Translate a given Docbook table frame attribute value to a valid
+ * Doxia table frame attribute value.
+ *
+ * <p>The input has to be one of <code>"all"</code>, <code>"bottom"</code>,
+ * <code>"none"</code>, <code>"sides"</code>, <code>"top"</code> or <code>"topbot"</code>,
+ * otherwise an IllegalArgumentException is thrown.</p>
+ *
+ * <p>The corresponding output values are <code>"box"</code>, <code>"below"</code>,
+ * <code>"void"</code>, <code>"vsides"</code>, <code>"above"</code> and <code>"hsides"</code>.</p>
+ *
+ * @param frame a valid docbook table frame attribute as specified above,
+ * otherwise an IllegalArgumentException is thrown.
+ * @return a valid Doxia table frame attribute as specified above.
+ */
+ public static final String doxiaTableFrameAttribute( String frame )
+ {
+ String fr = frame;
+
+ if ( fr.equals( "all" ) )
+ {
+ fr = "box";
+ }
+ else if ( frame.equals( "bottom" ) )
+ {
+ fr = "below";
+ }
+ else if ( fr.equals( "none" ) )
+ {
+ fr = "void";
+ }
+ else if ( fr.equals( "sides" ) )
+ {
+ fr = "vsides";
+ }
+ else if ( fr.equals( "top" ) )
+ {
+ fr = "above";
+ }
+ else if ( fr.equals( "topbot" ) )
+ {
+ fr = "hsides";
+ }
+ else
+ {
+ throw new IllegalArgumentException( "Not a valid frame attribute: " + fr );
+ }
+
+ return fr;
+ }
+
+ /**
+ * Convert a docbook ordered-list numbering style to a doxia numbering style.
+ *
+ * <p>The input has to be one of the style constants defined in {@link SimplifiedDocbookMarkup},
+ * otherwise an IllegalArgumentException is thrown.</p>
+ *
+ * <p>The output is one of the numbering constants defined in {@link Sink}.</p>
+ * @param style a docbook ordered-list numbering style.
+ * @return a doxia numbering style.
+ */
+ public static final int doxiaListNumbering( String style )
+ {
+ if ( SimplifiedDocbookMarkup.LOWERALPHA_STYLE.equals( style ) )
+ {
+ return Sink.NUMBERING_LOWER_ALPHA;
+ }
+ else if ( SimplifiedDocbookMarkup.LOWERROMAN_STYLE.equals( style ) )
+ {
+ return Sink.NUMBERING_LOWER_ROMAN;
+ }
+ else if ( SimplifiedDocbookMarkup.UPPERALPHA_STYLE.equals( style ) )
+ {
+ return Sink.NUMBERING_UPPER_ALPHA;
+ }
+ else if ( SimplifiedDocbookMarkup.UPPERROMAN_STYLE.equals( style ) )
+ {
+ return Sink.NUMBERING_UPPER_ROMAN;
+ }
+ else if ( SimplifiedDocbookMarkup.ARABIC_STYLE.equals( style ) )
+ {
+ return Sink.NUMBERING_DECIMAL;
+ }
+ else
+ {
+ throw new IllegalArgumentException( "Not a valid numbering style: " + style );
+ }
+ }
+
+ /**
+ * Convert a doxia numbering style to a docbook ordered-list numbering style.
+ *
+ * <p>The input has to be one of the numbering constants defined in {@link Sink},
+ * otherwise an IllegalArgumentException is thrown.</p>
+ *
+ * <p>The output is one of the style constants defined in {@link SimplifiedDocbookMarkup}.</p>
+ * @param numbering a doxia numbering style.
+ * @return a docbook ordered-list numbering style.
+ */
+ public static final String docbookListNumbering( int numbering )
+ {
+ switch ( numbering )
+ {
+ case Sink.NUMBERING_UPPER_ALPHA:
+ return SimplifiedDocbookMarkup.UPPERALPHA_STYLE;
+ case Sink.NUMBERING_LOWER_ALPHA:
+ return SimplifiedDocbookMarkup.LOWERALPHA_STYLE;
+ case Sink.NUMBERING_UPPER_ROMAN:
+ return SimplifiedDocbookMarkup.UPPERROMAN_STYLE;
+ case Sink.NUMBERING_LOWER_ROMAN:
+ return SimplifiedDocbookMarkup.LOWERROMAN_STYLE;
+ case Sink.NUMBERING_DECIMAL:
+ return SimplifiedDocbookMarkup.ARABIC_STYLE;
+ default:
+ throw new IllegalArgumentException( "Not a valid numbering: " + numbering );
+ }
+ }
+}
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookUtils.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: 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=784379&view=auto
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java (added)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java Sat Jun 13 11:40:11 2009
@@ -0,0 +1,111 @@
+package org.apache.maven.doxia.module.docbook;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.TestCase;
+
+import org.apache.maven.doxia.sink.Sink;
+
+/**
+ * Test DocbookUtils.
+ *
+ * @author ltheussl
+ * @version $Id$
+ */
+public class DocbookUtilsTest
+ extends TestCase
+{
+ /**
+ * Test of doxiaTableFrameAttribute method, of class DocbookUtils.
+ */
+ public void testDoxiaTableFrameAttribute()
+ {
+ assertEquals( "box", DocbookUtils.doxiaTableFrameAttribute( "all" ) );
+ assertEquals( "below", DocbookUtils.doxiaTableFrameAttribute( "bottom" ) );
+ assertEquals( "void", DocbookUtils.doxiaTableFrameAttribute( "none" ) );
+ assertEquals( "vsides", DocbookUtils.doxiaTableFrameAttribute( "sides" ) );
+ assertEquals( "above", DocbookUtils.doxiaTableFrameAttribute( "top" ) );
+ assertEquals( "hsides", DocbookUtils.doxiaTableFrameAttribute( "topbot" ) );
+
+ try
+ {
+ DocbookUtils.doxiaTableFrameAttribute( "" );
+ fail();
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertNotNull( e );
+ }
+ }
+
+ /**
+ * Test of doxiaListNumbering method, of class DocbookUtils.
+ */
+ public void testDoxiaListNumbering()
+ {
+ assertEquals( Sink.NUMBERING_LOWER_ALPHA,
+ DocbookUtils.doxiaListNumbering( SimplifiedDocbookMarkup.LOWERALPHA_STYLE ) );
+ assertEquals( Sink.NUMBERING_LOWER_ROMAN,
+ DocbookUtils.doxiaListNumbering( SimplifiedDocbookMarkup.LOWERROMAN_STYLE ) );
+ assertEquals( Sink.NUMBERING_UPPER_ALPHA,
+ DocbookUtils.doxiaListNumbering( SimplifiedDocbookMarkup.UPPERALPHA_STYLE ) );
+ assertEquals( Sink.NUMBERING_UPPER_ROMAN,
+ DocbookUtils.doxiaListNumbering( SimplifiedDocbookMarkup.UPPERROMAN_STYLE ) );
+ assertEquals( Sink.NUMBERING_DECIMAL,
+ DocbookUtils.doxiaListNumbering( SimplifiedDocbookMarkup.ARABIC_STYLE ) );
+
+ try
+ {
+ DocbookUtils.doxiaListNumbering( "" );
+ fail();
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertNotNull( e );
+ }
+ }
+
+ /**
+ * Test of docbookListNumbering method, of class DocbookUtils.
+ */
+ public void testDocbookListNumbering()
+ {
+ assertEquals( SimplifiedDocbookMarkup.UPPERALPHA_STYLE,
+ DocbookUtils.docbookListNumbering( Sink.NUMBERING_UPPER_ALPHA ) );
+ assertEquals( SimplifiedDocbookMarkup.LOWERALPHA_STYLE,
+ DocbookUtils.docbookListNumbering( Sink.NUMBERING_LOWER_ALPHA ) );
+ assertEquals( SimplifiedDocbookMarkup.UPPERROMAN_STYLE,
+ DocbookUtils.docbookListNumbering( Sink.NUMBERING_UPPER_ROMAN ) );
+ assertEquals( SimplifiedDocbookMarkup.LOWERROMAN_STYLE,
+ DocbookUtils.docbookListNumbering( Sink.NUMBERING_LOWER_ROMAN ) );
+ assertEquals( SimplifiedDocbookMarkup.ARABIC_STYLE,
+ DocbookUtils.docbookListNumbering( Sink.NUMBERING_DECIMAL ) );
+
+ try
+ {
+ DocbookUtils.docbookListNumbering( -1 );
+ fail();
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertNotNull( e );
+ }
+ }
+}
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocbookUtilsTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"