brett       2004/02/26 05:48:25

  Modified:    release/src/main/org/apache/maven/release
                        VersionTransformer.java
  Log:
  PR: MPSCM-8
  fix some null pointer exception possibilities
  
  Revision  Changes    Path
  1.2       +37 -7     
maven-plugins/release/src/main/org/apache/maven/release/VersionTransformer.java
  
  Index: VersionTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/maven-plugins/release/src/main/org/apache/maven/release/VersionTransformer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- VersionTransformer.java   25 Feb 2004 22:34:46 -0000      1.1
  +++ VersionTransformer.java   26 Feb 2004 13:48:25 -0000      1.2
  @@ -97,20 +97,44 @@
       public void transformNode( Node node )
           throws Exception
       {
  +        Element project = ( Element ) node;
  +
           Node currentVersion = node.selectSingleNode( "currentVersion" );
  -        currentVersion.setText( version );
  +        if ( currentVersion != null )
  +        {
  +            currentVersion.setText( version );
  +        }
  +        else
  +        {
  +            project.addElement( "currentVersion" ).addText( version );
  +        }
   
  -        Node version = node.selectSingleNode( "versions/version[tag='" + tag + "']" 
);
  +        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 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 @@
           return ( v == null );
       }
   }
  +
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to