diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-09 17:04:10 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-09 17:04:10 +0100 |
commit | bc54871dac7ef10102edecf91a747d6595a4640f (patch) | |
tree | 4cf4aaf0875497359534a9521ba785a7476fa7a5 /src/main/java/io/trygvis/esper/testing/Uuid.java | |
parent | 8f027c74517e1cf2c8fc13f86da80e8e8f1c0148 (diff) | |
download | esper-testing-bc54871dac7ef10102edecf91a747d6595a4640f.tar.gz esper-testing-bc54871dac7ef10102edecf91a747d6595a4640f.tar.bz2 esper-testing-bc54871dac7ef10102edecf91a747d6595a4640f.tar.xz esper-testing-bc54871dac7ef10102edecf91a747d6595a4640f.zip |
o Adding basic build list in the front page application.
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/Uuid.java')
-rwxr-xr-x | src/main/java/io/trygvis/esper/testing/Uuid.java | 88 |
1 files changed, 48 insertions, 40 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/Uuid.java b/src/main/java/io/trygvis/esper/testing/Uuid.java index 64fd6e5..a884959 100755 --- a/src/main/java/io/trygvis/esper/testing/Uuid.java +++ b/src/main/java/io/trygvis/esper/testing/Uuid.java @@ -17,6 +17,10 @@ public class Uuid { return uuid.toString(); } + public UUID toUUID() { + return uuid; + } + public String toString() { return toStringBase64(); } @@ -89,67 +93,71 @@ public class Uuid { } if (s.length() == 22) { - long most = 0; - int i = 0; - int shift = 64; - for(; i < 10; i++) { - char c = s.charAt(i); - long b = alphabetR[c]; - - if(b == 0) { - throw new IllegalArgumentException(s); - } - - b--; + return parseBase64(s); + } - shift -= 6; + throw new IllegalArgumentException("Illegal: " + s); + } - long l = b << shift; + public static Uuid parseBase64(String s) { + long most = 0; + int i = 0; + int shift = 64; + for(; i < 10; i++) { + char c = s.charAt(i); + long b = alphabetR[c]; - most |= l; + if(b == 0) { + throw new IllegalArgumentException(s); } - long least; - - { - char c = s.charAt(i++); - long b = alphabetR[c]; + b--; - if (b == 0) { - throw new IllegalArgumentException(s); - } + shift -= 6; - b--; + long l = b << shift; - long l = b >> 2; + most |= l; + } - most |= l; + long least; - shift = 64 - 2; + { + char c = s.charAt(i++); + long b = alphabetR[c]; - least = (b & 0x03) << shift; + if (b == 0) { + throw new IllegalArgumentException(s); } - for(; i < 22; i++) { - char c = s.charAt(i); - long b = alphabetR[c]; + b--; + + long l = b >> 2; + + most |= l; - if(b == 0) { - throw new IllegalArgumentException(s); - } + shift = 64 - 2; - b--; + least = (b & 0x03) << shift; + } - shift -= 6; + for(; i < 22; i++) { + char c = s.charAt(i); + long b = alphabetR[c]; - long l = b << shift; - least |= l; + if(b == 0) { + throw new IllegalArgumentException(s); } - return new Uuid(new UUID(most, least)); + b--; + + shift -= 6; + + long l = b << Math.max(shift, 0); + least |= l; } - throw new IllegalArgumentException("Illegal: " + s); + return new Uuid(new UUID(most, least)); } // http://en.wikipedia.org/wiki/Base64 |