public static String adaptVersion()

in nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java [40:102]


    public static String adaptVersion( String version, Object type, Date date )
    {
        StringTokenizer tok = new StringTokenizer( version, "." );
        if ( SNAPSHOT.equals( version ) && TYPE_IMPLEMENTATION.equals( type ) )
        {
            return "0.0.0." + generateSnapshotValue( date );
        }
        StringBuffer toReturn = new StringBuffer();
        while ( tok.hasMoreTokens() )
        {
            String token = tok.nextToken();
            if ( TYPE_IMPLEMENTATION.equals( type ) )
            {
                int snapshotIndex = token.indexOf( SNAPSHOT );
                if ( snapshotIndex > 0 )
                {
                    String repl = token.substring( 0, snapshotIndex ) + generateSnapshotValue( date );
                    if ( token.length() > snapshotIndex + SNAPSHOT.length() )
                    {
                        repl = token.substring(
                                snapshotIndex + SNAPSHOT.length() );
                    }
                    token = repl;
                }
            }
            if ( TYPE_SPECIFICATION.equals( type ) )
            {
                // strip the trailing -RC1, -BETA5, -SNAPSHOT
                if ( token.indexOf( '-' ) > 0 )
                {
                    token = token.substring( 0, token.indexOf( '-' ) );
                }
                else if ( token.indexOf( '_' ) > 0 )
                {
                    token = token.substring( 0, token.indexOf( '_' ) );
                }
                try
                {
                    Integer intValue = Integer.valueOf( token );
                    token = intValue.toString();
                }
                catch ( NumberFormatException exc )
                {
                    // ignore, will just not be added to the
                    token = "";
                }
            }
            if ( token.length() > 0 )
            {
                if ( toReturn.length() != 0 )
                {
                    toReturn.append( "." );
                }
                toReturn.append( token );
            }

        }
        if ( toReturn.length() == 0 )
        {
            toReturn.append( "0.0.0" );
        }
        return toReturn.toString();
    }