#2539: Optimize dash free UUID parse
This commit is contained in:
parent
cb4108c1b4
commit
27f926cfc7
@ -1,6 +1,7 @@
|
|||||||
package net.md_5.bungee;
|
package net.md_5.bungee;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
|
import com.google.common.primitives.UnsignedLongs;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
@ -78,6 +79,6 @@ public class Util
|
|||||||
*/
|
*/
|
||||||
public static UUID getUUID(String uuid)
|
public static UUID getUUID(String uuid)
|
||||||
{
|
{
|
||||||
return UUID.fromString( uuid.substring( 0, 8 ) + "-" + uuid.substring( 8, 12 ) + "-" + uuid.substring( 12, 16 ) + "-" + uuid.substring( 16, 20 ) + "-" + uuid.substring( 20, 32 ) );
|
return new UUID( UnsignedLongs.parseUnsignedLong( uuid.substring( 0, 16 ), 16 ), UnsignedLongs.parseUnsignedLong( uuid.substring( 16 ), 16 ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
29
api/src/test/java/net/md_5/bungee/util/UUIDTest.java
Normal file
29
api/src/test/java/net/md_5/bungee/util/UUIDTest.java
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package net.md_5.bungee.util;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
import net.md_5.bungee.Util;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class UUIDTest
|
||||||
|
{
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSingle()
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.fromString( "af74a02d-19cb-445b-b07f-6866a861f783" );
|
||||||
|
UUID uuid1 = Util.getUUID( "af74a02d19cb445bb07f6866a861f783" );
|
||||||
|
Assert.assertEquals( uuid, uuid1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMany()
|
||||||
|
{
|
||||||
|
for ( int i = 0; i < 1000; i++ )
|
||||||
|
{
|
||||||
|
UUID expected = UUID.randomUUID();
|
||||||
|
UUID actual = Util.getUUID( expected.toString().replace( "-", "" ) );
|
||||||
|
Assert.assertEquals( "Could not parse UUID " + expected, expected, actual );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user