PR: MPSCM-8

fix some null pointer exception possibilities


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114748 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
brett committed 2004-02-26 13:48:25 +00:00
1 parent 116272147f
commit 89c1465002
1 file changed
+38 -8
@@ -71,7 +71,7 @@ import java.util.Iterator;
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*
* @version $Id: VersionTransformer.java,v 1.1 2004/02/25 22:34:46 brett Exp $
* @version $Id: VersionTransformer.java,v 1.2 2004/02/26 13:48:25 brett Exp $
*/
public class VersionTransformer
extends AbstractPomTransformer
@@ -97,20 +97,44 @@ public class VersionTransformer
public void transformNode( Node node )
throws Exception
{
Node currentVersion = node.selectSingleNode( "currentVersion" );
currentVersion.setText( version );
Element project = ( Element ) node;
Node version = node.selectSingleNode( "versions/version[tag='" + tag + "']" );
Node currentVersion = node.selectSingleNode( "currentVersion" );
if ( currentVersion != null )
{
currentVersion.setText( version );
}
else
{
project.addElement( "currentVersion" ).addText( version );
}
Element version = ( Element ) node.selectSingleNode( "versions/version[tag='" + tag + "']" );
if ( version != null )
{
// tag exists - overwrite
version.selectSingleNode( "id" ).setText( this.version );
version.selectSingleNode( "name" ).setText( this.version );
Node id = version.selectSingleNode( "id" );
if ( id != null )
{
id.setText( this.version );
}
else
{
version.addElement( "id" ).addText( this.version );
}
Node name = version.selectSingleNode( "name" );
if ( name != null )
{
name.setText( this.version );
}
else
{
version.addElement( "name" ).addText( this.version );
}
}
else
{
// tag doesn't exist - add
Element project = ( Element ) node;
Element versions = ( Element ) project.selectSingleNode( "versions" );
if ( versions == null )
{
@@ -132,8 +156,13 @@ public class VersionTransformer
public boolean transformRequired()
{
Node node = ( Node ) getSelectedNodes().get( 0 );
if ( node == null )
{
return true;
}
Node currentVersion = node.selectSingleNode( "currentVersion" );
if ( !currentVersion.getText().equals( version ))
if ( currentVersion == null || !currentVersion.getText().equals( version ))
{
return true;
}
@@ -143,3 +172,4 @@ public class VersionTransformer
return ( v == null );
}
}