You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by gd...@apache.org on 2011/03/08 23:11:42 UTC
svn commit: r1079569 - in
/cassandra/trunk/src/java/org/apache/cassandra/db/marshal:
AbstractType.java IntegerType.java LexicalUUIDType.java LongType.java
TimeUUIDType.java
Author: gdusbabek
Date: Tue Mar 8 22:11:41 2011
New Revision: 1079569
URL: http://svn.apache.org/viewvc?rev=1079569&view=rev
Log:
AbstractType.fromsString throws MarshalException. patch by eevans, reviewed by gdusbabek. CASSANDRA-2262
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/AbstractType.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/LongType.java
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.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=1079569&r1=1079568&r2=1079569&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 Tue Mar 8 22:11:41 2011
@@ -99,7 +99,7 @@ public abstract class AbstractType<T> im
/** get a byte representation of the given string.
* defaults to unsupportedoperation so people deploying custom Types can update at their leisure. */
- public ByteBuffer fromString(String source)
+ public ByteBuffer fromString(String source) throws MarshalException
{
throw new UnsupportedOperationException();
}
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=1079569&r1=1079568&r2=1079569&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 Tue Mar 8 22:11:41 2011
@@ -130,7 +130,7 @@ public final class IntegerType extends A
return new java.math.BigInteger(TBaseHelper.byteBufferToByteArray(bytes)).toString(10);
}
- public ByteBuffer fromString(String source)
+ public ByteBuffer fromString(String source) throws MarshalException
{
BigInteger integerType;
@@ -140,7 +140,7 @@ public final class IntegerType extends A
}
catch (Exception e)
{
- throw new RuntimeException("'" + source + "' could not be translated into an IntegerType.");
+ throw new MarshalException(String.format("unable to make int from '%s'", source), e);
}
return ByteBuffer.wrap(integerType.toByteArray());
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=1079569&r1=1079568&r2=1079569&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 Tue Mar 8 22:11:41 2011
@@ -64,9 +64,16 @@ public class LexicalUUIDType extends Abs
return UUIDGen.getUUID(bytes).toString();
}
- public ByteBuffer fromString(String source)
+ public ByteBuffer fromString(String source) throws MarshalException
{
- return ByteBuffer.wrap(UUIDGen.decompose(UUID.fromString(source)));
+ try
+ {
+ return ByteBuffer.wrap(UUIDGen.decompose(UUID.fromString(source)));
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new MarshalException(String.format("unable to make UUID from '%s'", source), e);
+ }
}
public void validate(ByteBuffer bytes) throws MarshalException
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=1079569&r1=1079568&r2=1079569&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 Tue Mar 8 22:11:41 2011
@@ -70,7 +70,7 @@ public class LongType extends AbstractTy
return String.valueOf(bytes.getLong(bytes.position()));
}
- public ByteBuffer fromString(String source)
+ public ByteBuffer fromString(String source) throws MarshalException
{
long longType;
@@ -80,7 +80,7 @@ public class LongType extends AbstractTy
}
catch (Exception e)
{
- throw new RuntimeException("'" + source + "' could not be translated into a LongType.");
+ throw new MarshalException(String.format("unable to make long from '%s'", source), e);
}
return ByteBufferUtil.bytes(longType);
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=1079569&r1=1079568&r2=1079569&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 Tue Mar 8 22:11:41 2011
@@ -100,12 +100,20 @@ public class TimeUUIDType extends Abstra
return uuid.toString();
}
- public ByteBuffer fromString(String source)
+ public ByteBuffer fromString(String source) throws MarshalException
{
- UUID uuid = UUID.fromString(source);
+ UUID uuid = null;
+ try
+ {
+ uuid = UUID.fromString(source);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new MarshalException(String.format("unable to make UUID from '%s'", source), e);
+ }
if (uuid.version() != 1)
- throw new IllegalArgumentException("TimeUUID supports only version 1 UUIDs");
+ throw new MarshalException("TimeUUID supports only version 1 UUIDs");
return ByteBuffer.wrap(UUIDGen.decompose(uuid));
}