Author: gdusbabek
Date: Wed Mar 30 14:30:33 2011
New Revision: 1086964

URL: http://svn.apache.org/viewvc?rev=1086964&view=rev
Log:
AbstractType converts types to Strings (not just ByteBuffers)

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AsciiType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/BytesType.java
    
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/IntegerType.java
    
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
    
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LongType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
    cassandra/trunk/src/java/org/apache/cassandra/db/marshal/UTF8Type.java
    cassandra/trunk/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.java 
Wed Mar 30 14:30:33 2011
@@ -94,6 +94,9 @@ public abstract class AbstractType<T> im
     
     public abstract T compose(ByteBuffer bytes);
 
+    /** get a string representation of a particular type. */
+    public abstract String toString(T t);
+    
     /** get a string representation of the bytes suitable for log messages */
     public abstract String getString(ByteBuffer bytes);
 

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AsciiType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AsciiType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AsciiType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AsciiType.java Wed 
Mar 30 14:30:33 2011
@@ -34,7 +34,6 @@ public class AsciiType extends AbstractT
 
     AsciiType() {} // singleton
 
-    @Override
     public String getString(ByteBuffer bytes)
     {
         try
@@ -47,6 +46,11 @@ public class AsciiType extends AbstractT
         }
     }
 
+    public String toString(String s)
+    {
+        return s;
+    }
+
     public int compare(ByteBuffer o1, ByteBuffer o2)
     {
         return BytesType.bytesCompare(o1, o2);

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/BytesType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/BytesType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/BytesType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/BytesType.java Wed 
Mar 30 14:30:33 2011
@@ -57,6 +57,11 @@ public class BytesType extends AbstractT
         return ByteBufferUtil.bytesToHex(bytes);
     }
 
+    public String toString(ByteBuffer byteBuffer)
+    {
+        return getString(byteBuffer);
+    }
+
     public ByteBuffer fromString(String source)
     {
         try

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java 
Wed Mar 30 14:30:33 2011
@@ -45,6 +45,11 @@ public class CounterColumnType extends A
         return ByteBufferUtil.bytesToHex(bytes);
     }
 
+    public String toString(Long l)
+    {
+        return l.toString();
+    }
+
     /**
      * create commutative column
      */

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/IntegerType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/IntegerType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/IntegerType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/IntegerType.java 
Wed Mar 30 14:30:33 2011
@@ -129,6 +129,11 @@ public final class IntegerType extends A
 
         return new 
java.math.BigInteger(TBaseHelper.byteBufferToByteArray(bytes)).toString(10);
     }
+    
+    public String toString(BigInteger bi)
+    {
+        return bi.toString();
+    }
 
     public ByteBuffer fromString(String source) throws MarshalException
     {

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LexicalUUIDType.java 
Wed Mar 30 14:30:33 2011
@@ -65,6 +65,11 @@ public class LexicalUUIDType extends Abs
         return UUIDGen.getUUID(bytes).toString();
     }
 
+    public String toString(UUID uuid)
+    {
+        return uuid.toString();
+    }
+
     public ByteBuffer fromString(String source) throws MarshalException
     {
         // Return an empty ByteBuffer for an empty string.

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java
 Wed Mar 30 14:30:33 2011
@@ -48,6 +48,11 @@ public class LocalByPartionerType<T exte
         return ByteBufferUtil.bytesToHex(bytes);
     }
 
+    public String toString(ByteBuffer bb)
+    {
+        return getString(bb);
+    }
+
     public ByteBuffer fromString(String source)
     {
         throw new NotImplementedException();

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LongType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LongType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LongType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LongType.java Wed 
Mar 30 14:30:33 2011
@@ -66,10 +66,14 @@ public class LongType extends AbstractTy
             throw new MarshalException("A long is exactly 8 bytes: 
"+bytes.remaining());
         }
         
-        
         return String.valueOf(bytes.getLong(bytes.position()));
     }
 
+    public String toString(Long l)
+    {
+        return l.toString();
+    }
+
     public ByteBuffer fromString(String source) throws MarshalException
     {
         // Return an empty ByteBuffer for an empty string.

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java 
Wed Mar 30 14:30:33 2011
@@ -119,6 +119,11 @@ public class TimeUUIDType extends Abstra
         return uuid.toString();
     }
 
+    public String toString(UUID uuid)
+    {
+        return uuid.toString();
+    }
+
     public ByteBuffer fromString(String source) throws MarshalException
     {
         // Return an empty ByteBuffer for an empty string.

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/UTF8Type.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/UTF8Type.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/UTF8Type.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/UTF8Type.java Wed 
Mar 30 14:30:33 2011
@@ -53,6 +53,11 @@ public class UTF8Type extends AbstractTy
         }
     }
 
+    public String toString(String s)
+    {
+        return s;
+    }
+
     public ByteBuffer fromString(String source)
     {
         return ByteBufferUtil.bytes(source);

Modified: 
cassandra/trunk/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java?rev=1086964&r1=1086963&r2=1086964&view=diff
==============================================================================
--- 
cassandra/trunk/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java 
(original)
+++ 
cassandra/trunk/test/unit/org/apache/cassandra/db/marshal/RoundTripTest.java 
Wed Mar 30 14:30:33 2011
@@ -22,15 +22,12 @@ package org.apache.cassandra.db.marshal;
 
 
 import com.google.common.base.Charsets;
-import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.UUIDGen;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
 import java.util.UUID;
@@ -46,6 +43,7 @@ public class RoundTripTest
         assert 
IntegerType.instance.fromString(IntegerType.instance.getString(ByteBuffer.wrap(bi.toByteArray())))
                 .equals(ByteBuffer.wrap(bi.toByteArray()));
         assert 
IntegerType.instance.compose(ByteBuffer.wrap(bi.toByteArray())).equals(bi);
+        assert IntegerType.instance.toString(bi).equals("1");
     }
     
     @Test
@@ -56,6 +54,7 @@ public class RoundTripTest
         assert 
LongType.instance.fromString(LongType.instance.getString(ByteBuffer.wrap(v)))
                 .equals(ByteBuffer.wrap(v));
         assert LongType.instance.compose(ByteBuffer.wrap(v)) == 1L;
+        assert LongType.instance.toString(1L).equals("1");
     }
     
     @Test
@@ -66,17 +65,19 @@ public class RoundTripTest
         assert 
AsciiType.instance.fromString(AsciiType.instance.getString(ByteBuffer.wrap(abc)))
                 .equals(ByteBuffer.wrap(abc));
         assert AsciiType.instance.compose(ByteBuffer.wrap(abc)).equals("abc");
+        assert AsciiType.instance.toString("abc").equals("abc");
     }
     
     @Test
     public void testBytes()
     {
         byte[] v = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
-        assert 
BytesType.instance.getString(BytesType.instance.fromString(FBUtilities.bytesToHex(v)))
+        assert 
BytesType.instance.toString(BytesType.instance.fromString(FBUtilities.bytesToHex(v)))
                 .equals(FBUtilities.bytesToHex(v));
-        assert 
BytesType.instance.fromString(BytesType.instance.getString(ByteBuffer.wrap(v)))
+        assert 
BytesType.instance.fromString(BytesType.instance.toString(ByteBuffer.wrap(v)))
                 .equals(ByteBuffer.wrap(v));
         assert 
BytesType.instance.compose(ByteBuffer.wrap(v)).equals(ByteBuffer.wrap(v));
+        assert 
BytesType.instance.toString(ByteBuffer.wrap(v)).equals(FBUtilities.bytesToHex(v));
     }
     
     @Test
@@ -88,6 +89,7 @@ public class RoundTripTest
         assert 
LexicalUUIDType.instance.fromString(LexicalUUIDType.instance.getString(ByteBuffer.wrap(UUIDGen.decompose(uuid))))
                 .equals(ByteBuffer.wrap(UUIDGen.decompose(uuid)));
         assert 
LexicalUUIDType.instance.compose(ByteBuffer.wrap(UUIDGen.decompose(uuid))).equals(uuid);
+        assert LexicalUUIDType.instance.toString(uuid).equals(uuid.toString());
     }
     
     @Test
@@ -101,6 +103,7 @@ public class RoundTripTest
         assert 
TimeUUIDType.instance.compose(ByteBuffer.wrap(UUIDGen.decompose(uuid))).equals(uuid);
         
         assert 
uuid.equals(TimeUUIDType.instance.compose(TimeUUIDType.instance.fromString(uuid.toString())));
+        assert TimeUUIDType.instance.toString(uuid).equals(uuid.toString());
         
         TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
         Calendar c = Calendar.getInstance();
@@ -137,5 +140,6 @@ public class RoundTripTest
         assert 
UTF8Type.instance.fromString(UTF8Type.instance.getString(ByteBuffer.wrap(v.getBytes(Charsets.UTF_8))))
                 .equals(ByteBuffer.wrap(v.getBytes(Charsets.UTF_8)));
         assert 
UTF8Type.instance.compose(ByteBuffer.wrap(v.getBytes(Charsets.UTF_8))).equals(v);
+        assert UTF8Type.instance.toString(v).equals(v);
     }
 }


Reply via email to