in archiva-jarinfo/archiva-jarinfo-cli/src/main/java/org/apache/archiva/common/utils/VersionComparator.java [99:138]
public int compare( String o1, String o2 )
{
if ( o1 == null && o2 == null )
{
return 0;
}
if ( o1 == null )
{
return 1;
}
if ( o2 == null )
{
return -1;
}
String[] parts1 = toParts( o1 );
String[] parts2 = toParts( o2 );
int diff;
int partLen = Math.max( parts1.length, parts2.length );
for ( int i = 0; i < partLen; i++ )
{
diff = comparePart( safePart( parts1, i ), safePart( parts2, i ) );
if ( diff != 0 )
{
return diff;
}
}
diff = parts2.length - parts1.length;
if ( diff != 0 )
{
return diff;
}
return o1.compareToIgnoreCase( o2 );
}