VersionUtils.java
package fr.paris.lutece.plugins.releaser.util.version;
import java.util.ArrayList;
import java.util.List;
import fr.paris.lutece.portal.service.util.AppLogService;
public class VersionUtils
{
public static List<String> sortVersionsList( List<String> listVersions, boolean bAscending )
{
List<String> listSorted = new ArrayList<>( );
if ( listVersions != null && !listVersions.isEmpty() )
{
List<Version> listParsedVersions = new ArrayList<>( );
for ( String strVersion : listVersions )
{
try
{
listParsedVersions.add( Version.parse( strVersion ) );
}
catch ( VersionParsingException e )
{
AppLogService.error( "Error parsing version, excluded from sorted list : " + strVersion );
}
}
listParsedVersions.sort( ( v1, v2 ) -> bAscending ? v1.compareTo( v2 ) : v2.compareTo( v1 ) );
for ( Version version : listParsedVersions )
{
listSorted.add( version.toString( ) );
}
}
return listSorted;
}
public static String getLastVersion( List<String> listVersions )
{
String strLastVersion = null;
if (listVersions != null && !listVersions.isEmpty() )
{
List<String> listReleaseVersions = VersionUtils.sortVersionsList(listVersions, true );
strLastVersion = listReleaseVersions.get(listReleaseVersions.size( ) - 1 );
}
return strLastVersion.toString();
}
}