public static List<UUID> sort( List<UUID> uuids ) { Collections.sort( uuids, new UUIDComparator() ); return uuids; } }
public static List<UUID> sort( List<UUID> uuids ) { Collections.sort( uuids, new UUIDComparator() ); return uuids; } }
static TreeSet<UUID> mergeAnd( TreeSet<UUID> a, TreeSet<UUID> b, boolean reversed, int limit ) { TreeSet<UUID> mergeSet = new TreeSet<UUID>( new UUIDComparator() ); if ( a == null ) { return mergeSet; } if ( b == null ) { return mergeSet; } for ( UUID uuid : b ) { if ( a.contains( b ) ) { add( mergeSet, uuid, reversed, limit ); } } return mergeSet; }
static TreeSet<UUID> mergeOr( TreeSet<UUID> a, TreeSet<UUID> b, boolean reversed, int limit ) { TreeSet<UUID> mergeSet = new TreeSet<UUID>( new UUIDComparator() ); if ( ( a == null ) && ( b == null ) ) { return mergeSet; } else if ( a == null ) { return b; } else if ( b == null ) { return a; } add( mergeSet, a, reversed, limit ); add( mergeSet, b, reversed, limit ); return mergeSet; }
static TreeSet<UUID> add( TreeSet<UUID> a, UUID uuid, boolean reversed, int limit ) { if ( a == null ) { a = new TreeSet<UUID>( new UUIDComparator() ); } if ( uuid == null ) { return a; } // if we have less than the limit, just add it if ( a.size() < limit ) { a.add( uuid ); } else if ( reversed ) { // if reversed, we want to add more recent messages // and eject the oldest if ( UUIDComparator.staticCompare( uuid, a.first() ) > 0 ) { a.pollFirst(); a.add( uuid ); } } else { // add older messages and eject the newset if ( UUIDComparator.staticCompare( uuid, a.last() ) < 0 ) { a.pollLast(); a.add( uuid ); } } return a; }
QueueBounds bounds = getQueueBounds( queueId ); UUIDComparator comparator = query.isReversed() ? new ReverseUUIDComparator() : new UUIDComparator();