Author: ltheussl
Date: Thu Mar 12 07:52:22 2009
New Revision: 752799

URL: http://svn.apache.org/viewvc?rev=752799&view=rev
Log:
Fix potential NPE when calling link with attributes. Clarify javadocs.

Modified:
    
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
    
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java

Modified: 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java?rev=752799&r1=752798&r2=752799&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/AbstractXmlSink.java
 Thu Mar 12 07:52:22 2009
@@ -80,9 +80,9 @@
      * <tag attName="attValue">
      * </pre>
      *
-     * @param t a non null tag
-     * @param att a set of attributes
-     * @see #writeStartTag(javax.swing.text.html.HTML.Tag, 
javax.swing.text.MutableAttributeSet, boolean)
+     * @param t a non null tag.
+     * @param att a set of attributes. May be null.
+     * @see #writeStartTag(javax.swing.text.html.HTML.Tag, 
javax.swing.text.MutableAttributeSet, boolean).
      */
     protected void writeStartTag( Tag t, MutableAttributeSet att )
     {
@@ -95,9 +95,9 @@
      * &lt;tag attName="attValue"&gt;
      * </pre>
      *
-     * @param t a non null tag
-     * @param att a set of attributes
-     * @param isSimpleTag boolean to write as a simple tag
+     * @param t a non null tag.
+     * @param att a set of attributes. May be null.
+     * @param isSimpleTag boolean to write as a simple tag.
      */
     protected void writeStartTag( Tag t, MutableAttributeSet att, boolean 
isSimpleTag )
     {
@@ -180,9 +180,9 @@
      * &lt;tag attName="attValue" /&gt;
      * </pre>
      *
-     * @param t a non null tag
-     * @param att a set of attributes
-     * @see #writeStartTag(javax.swing.text.html.HTML.Tag, 
javax.swing.text.MutableAttributeSet, boolean)
+     * @param t a non null tag.
+     * @param att a set of attributes. May be null.
+     * @see #writeStartTag(javax.swing.text.html.HTML.Tag, 
javax.swing.text.MutableAttributeSet, boolean).
      */
     protected void writeSimpleTag( Tag t, MutableAttributeSet att )
     {

Modified: 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java?rev=752799&r1=752798&r2=752799&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java
 Thu Mar 12 07:52:22 2009
@@ -394,7 +394,7 @@
      * Starts a section. The default class style is <code>section</code>.
      *
      * @param depth The level of the section.
-     * @param attributes some attributes.
+     * @param attributes some attributes. May be null.
      * @see javax.swing.text.html.HTML.Tag#DIV
      */
     protected void onSection( int depth, SinkEventAttributes attributes )
@@ -430,7 +430,7 @@
      * Starts a section title.
      *
      * @param depth The level of the section title.
-     * @param attributes some attributes.
+     * @param attributes some attributes. May be null.
      * @see javax.swing.text.html.HTML.Tag#H2
      * @see javax.swing.text.html.HTML.Tag#H3
      * @see javax.swing.text.html.HTML.Tag#H4
@@ -1500,11 +1500,18 @@
     /** {...@inheritdoc} */
     public void link( String name, SinkEventAttributes attributes )
     {
-        String target = (String) attributes.getAttribute( 
Attribute.TARGET.toString() );
-        MutableAttributeSet atts = SinkUtils.filterAttributes(
-                attributes, SinkUtils.SINK_LINK_ATTRIBUTES  );
+        if ( attributes == null )
+        {
+            link( name, null, null );
+        }
+        else
+        {
+            String target = (String) attributes.getAttribute( 
Attribute.TARGET.toString() );
+            MutableAttributeSet atts = SinkUtils.filterAttributes(
+                    attributes, SinkUtils.SINK_LINK_ATTRIBUTES  );
 
-        link( name, target, atts );
+            link( name, target, atts );
+        }
     }
 
     /**


Reply via email to