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 @@ * <tag attName="attValue"> * </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 @@ * <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 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 ); + } } /**