Author: jbellis
Date: Tue Nov 16 15:37:21 2010
New Revision: 1035659

URL: http://svn.apache.org/viewvc?rev=1035659&view=rev
Log:
fix LexicalUUID.getUUID use of ByteBuffer, and inline into UUIDGen.getUUID
patch by jbellis

Modified:
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/UUIDGen.java
    
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/DefsTest.java
    
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java
    
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/utils/UUIDTests.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/DefinitionsUpdateResponseVerbHandler.java
 Tue Nov 16 15:37:21 2010
@@ -31,7 +31,6 @@ import org.apache.cassandra.utils.Wrappe
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.ByteArrayInputStream;
 import java.io.IOError;
 import java.io.IOException;
 import java.util.Collection;
@@ -51,7 +50,7 @@ public class DefinitionsUpdateResponseVe
             Collection<Column> cols = MigrationManager.makeColumns(message);
             for (Column col : cols)
             {
-                final UUID version = UUIDGen.makeType1UUID(col.name());
+                final UUID version = UUIDGen.getUUID(col.name());
                 if (version.timestamp() > 
DatabaseDescriptor.getDefsVersion().timestamp())
                 {
                     final Migration m = Migration.deserialize(col.value());

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
 Tue Nov 16 15:37:21 2010
@@ -21,10 +21,9 @@ package org.apache.cassandra.db.marshal;
  */
 
 
-import java.util.UUID;
 import java.nio.ByteBuffer;
 
-import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.UUIDGen;
 
 public class LexicalUUIDType extends AbstractType
 {
@@ -32,11 +31,6 @@ public class LexicalUUIDType extends Abs
 
     LexicalUUIDType() {} // singleton
 
-    static UUID getUUID(ByteBuffer bytes)
-    {
-        return new UUID(bytes.getLong(bytes.position()+bytes.arrayOffset()), 
bytes.getLong(bytes.position()+bytes.arrayOffset()));
-    }
-
     public int compare(ByteBuffer o1, ByteBuffer o2)
     {
         if (o1.remaining() == 0)
@@ -48,7 +42,7 @@ public class LexicalUUIDType extends Abs
             return 1;
         }
 
-        return getUUID(o1).compareTo(getUUID(o2));
+        return UUIDGen.getUUID(o1).compareTo(UUIDGen.getUUID(o2));
     }
 
     public String getString(ByteBuffer bytes)
@@ -61,6 +55,6 @@ public class LexicalUUIDType extends Abs
         {
             throw new MarshalException("UUIDs must be exactly 16 bytes");
         }
-        return getUUID(bytes).toString();
+        return UUIDGen.getUUID(bytes).toString();
     }
 }

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
 Tue Nov 16 15:37:21 2010
@@ -24,7 +24,7 @@ package org.apache.cassandra.db.marshal;
 import java.nio.ByteBuffer;
 import java.util.UUID;
 
-import org.apache.cassandra.utils.FBUtilities;
+import org.apache.cassandra.utils.UUIDGen;
 
 public class TimeUUIDType extends AbstractType
 {
@@ -80,7 +80,7 @@ public class TimeUUIDType extends Abstra
         {
             throw new MarshalException("UUIDs must be exactly 16 bytes");
         }
-        UUID uuid = LexicalUUIDType.getUUID(bytes);
+        UUID uuid = UUIDGen.getUUID(bytes);
         if (uuid.version() != 1)
         {
             throw new MarshalException("TimeUUID only makes sense with version 
1 UUIDs");

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/migration/Migration.java
 Tue Nov 16 15:37:21 2010
@@ -179,7 +179,7 @@ public abstract class Migration
         if (cf == null || cf.getColumnNames().size() == 0)
             return null;
         else
-            return 
UUIDGen.makeType1UUID(cf.getColumn(LAST_MIGRATION_KEY).value());
+            return UUIDGen.getUUID(cf.getColumn(LAST_MIGRATION_KEY).value());
     }
     
     /** keep in mind that applyLive might happen on another machine */
@@ -277,8 +277,8 @@ public abstract class Migration
         }
         
         // super inflate
-        migration.lastVersion = 
UUIDGen.makeType1UUID(ByteBuffer.wrap(mi.old_version.bytes()));
-        migration.newVersion = 
UUIDGen.makeType1UUID(ByteBuffer.wrap(mi.new_version.bytes()));
+        migration.lastVersion = 
UUIDGen.getUUID(ByteBuffer.wrap(mi.old_version.bytes()));
+        migration.newVersion = 
UUIDGen.getUUID(ByteBuffer.wrap(mi.new_version.bytes()));
         try
         {
             migration.rm = 
RowMutation.serializer().deserialize(SerDeUtils.createDataInputStream(mi.row_mutation));

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/UUIDGen.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/UUIDGen.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/UUIDGen.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/UUIDGen.java
 Tue Nov 16 15:37:21 2010
@@ -21,8 +21,6 @@ package org.apache.cassandra.utils;
  */
 
 
-import java.io.DataInputStream;
-import java.io.IOException;
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
 import java.security.MessageDigest;
@@ -47,7 +45,7 @@ public class UUIDGen
             byte[] md5 = digest.digest();
             byte[] fauxMac = new byte[6];
             System.arraycopy(md5, 0, fauxMac, 0, Math.min(md5.length, 
fauxMac.length));
-            return 
makeType1UUID(ByteBuffer.wrap(UUIDGenerator.getInstance().generateTimeBasedUUID(new
 EthernetAddress(fauxMac)).toByteArray()));
+            return 
getUUID(ByteBuffer.wrap(UUIDGenerator.getInstance().generateTimeBasedUUID(new 
EthernetAddress(fauxMac)).toByteArray()));
         }
         catch (NoSuchAlgorithmException ex)
         {
@@ -55,24 +53,10 @@ public class UUIDGen
         }
     }
     
-    public static UUID makeType1UUID(DataInputStream in) throws IOException
-    {
-        byte[] b = new byte[16];
-        in.readFully(b);
-        return makeType1UUID(ByteBuffer.wrap(b));
-    }
-
     /** creates a type 1 uuid from raw bytes. */
-    public static UUID makeType1UUID(ByteBuffer raw)
+    public static UUID getUUID(ByteBuffer raw)
     {
-        long most = 0;
-        long least = 0;
-        assert raw.remaining() == 16;
-        for (int i = 0; i < 8; i++)
-            most = (most << 8) | (raw.array()[raw.position()+raw.arrayOffset() 
+ i] & 0xff);
-        for (int i =8 ; i < 16; i++)
-            least = (least << 8) | 
(raw.array()[raw.position()+raw.arrayOffset() + i] & 0xff);
-        return new UUID(most, least);
+        return new UUID(raw.getLong(raw.position() + raw.arrayOffset()), 
raw.getLong(raw.position() + raw.arrayOffset() + 8));
     }
 
     /** decomposes a uuid into raw bytes. */

Modified: 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/DefsTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/DefsTest.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/DefsTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/DefsTest.java
 Tue Nov 16 15:37:21 2010
@@ -24,7 +24,6 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -159,7 +158,7 @@ public class DefsTest extends CleanupHel
         int i = 0;
         for (IColumn col : serializedMigrations)
         {
-            UUID version = UUIDGen.makeType1UUID(col.name());
+            UUID version = UUIDGen.getUUID(col.name());
             reconstituded[i] = Migration.deserialize(col.value());
             assert version.equals(reconstituded[i].getVersion());
             i++;

Modified: 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/db/marshal/TimeUUIDTypeTest.java
 Tue Nov 16 15:37:21 2010
@@ -25,9 +25,7 @@ import java.util.Random;
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 
-import org.apache.cassandra.CleanupHelper;
-import org.apache.cassandra.db.marshal.TimeUUIDType;
-
+import org.apache.cassandra.utils.UUIDGen;
 import org.safehaus.uuid.UUID;
 import org.safehaus.uuid.UUIDGenerator;
 
@@ -85,8 +83,8 @@ public class TimeUUIDTypeTest
         Arrays.sort(uuids, timeUUIDType);
         for (int i = 1; i < uuids.length; i++)
         {
-            long i0 = LexicalUUIDType.getUUID(uuids[i - 1]).timestamp();
-            long i1 = LexicalUUIDType.getUUID(uuids[i]).timestamp();
+            long i0 = UUIDGen.getUUID(uuids[i - 1]).timestamp();
+            long i1 = UUIDGen.getUUID(uuids[i]).timestamp();
             assert i0 <= i1;
         }
     }

Modified: 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/utils/UUIDTests.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/utils/UUIDTests.java?rev=1035659&r1=1035658&r2=1035659&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/utils/UUIDTests.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/test/unit/org/apache/cassandra/utils/UUIDTests.java
 Tue Nov 16 15:37:21 2010
@@ -55,7 +55,7 @@ public class UUIDTests
     {
         UUID a = 
UUIDGen.makeType1UUIDFromHost(InetAddress.getByName("127.0.0.1"));
         byte[] decomposed = UUIDGen.decompose(a);
-        UUID b = UUIDGen.makeType1UUID(ByteBuffer.wrap(decomposed));
+        UUID b = UUIDGen.getUUID(ByteBuffer.wrap(decomposed));
         assert a.equals(b);
     }
 
@@ -67,7 +67,7 @@ public class UUIDTests
         ByteBuffer second = 
ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.makeType1UUIDFromHost(InetAddress.getByName("127.0.0.1"))));
         assert comp.compare(first, second) < 0;
         assert comp.compare(second, first) > 0;
-        ByteBuffer sameAsFirst = 
ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.makeType1UUID(first)));
+        ByteBuffer sameAsFirst = 
ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.getUUID(first)));
         assert comp.compare(first, sameAsFirst) == 0;
     }
 


Reply via email to