private byte[] GetBytes(CassandraType[] components) { using (var bytes = new MemoryStream()) { foreach (var c in components) { var b = (byte[])c; var length = (ushort)b.Length; // comparator part bytes.WriteByte((byte)1); bytes.WriteByte((byte)_aliases.FirstOrDefault(x => x.Value == c.GetType()).Key); // value length bytes.Write(BitConverter.GetBytes(length), 0, 2); // value bytes.Write(b, 0, length); // end of component bytes.WriteByte((byte)0); } return bytes.ToArray(); } }
public static CassandraObject GetCassandraObjectFromObject(object obj, CassandraType cassandraType = null) { if (cassandraType == null) { var sourceType = obj.GetType(); cassandraType = CassandraType.GetCassandraType(sourceType); } if (obj == null) { return(null); } if (obj is CassandraObject) { return(((CassandraObject)obj).GetValue(cassandraType)); } var type = cassandraType.CreateInstance(); if (type == null) { return(null); } type.SetValue(obj); return(type); }
public static CassandraObject GetCassandraObjectFromObject(object obj) { var sourceType = obj.GetType(); var cassandraType = CassandraType.GetCassandraType(sourceType); return(GetCassandraObjectFromObject(obj, cassandraType)); }
public RangeSlicePredicate(CassandraType start, CassandraType finish, bool reversed = false, int count = 100) { Start = start; Finish = finish; Reversed = reversed; Count = count; }
public void Parse_CompositeType_UnknownInnerType() { // arranage string cassandraString = "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UnkownTypeForTesting)"; // act Type actual = new CassandraType(cassandraString).FluentType; }
public void Parse_UnknownType() { // arranage string cassandraString = "org.apache.cassandra.db.marshal.UnkownTypeForTesting"; // act Type actual = new CassandraType(cassandraString).FluentType; }
public override bool Equals(object obj) { if (obj is IntegerType) { return(_value == ((IntegerType)obj)._value); } return(_value == CassandraType.GetValue <BigInteger>(obj, Converter)); }
public void Parse_UnknownTypeWithParams() { // arranage Type expected = typeof(UTF8Type); string cassandraString = "org.apache.cassandra.db.marshal.UnkownTypeForTesting(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UTF8Type)"; // act Type actual = new CassandraType(cassandraString).FluentType; }
public override bool Equals(object obj) { if (obj is UTF8Type) { return(_value == ((UTF8Type)obj)._value); } return(_value == CassandraType.GetValue <string>(obj, Converter)); }
public object GetValue(Type type) { if (type.BaseType == typeof(CassandraObject)) { return(GetValue(CassandraType.GetCassandraType(type))); } return(GetValueInternal(type)); }
public override bool Equals(object obj) { if (obj is BytesType) { return(_value.SequenceEqual(((BytesType)obj)._value)); } return(_value.SequenceEqual(CassandraType.GetValue <byte[]>(obj, Converter))); }
private static T Convert <T>(CassandraType type) { if (type == null) { return(default(T)); } return(type.GetValue <T>()); }
public override bool Equals(object obj) { if (obj is LexicalUUIDType) { return(_value == ((LexicalUUIDType)obj)._value); } return(_value == CassandraType.GetValue <Guid>(obj, Converter)); }
public void Parse_UnknownType() { // arrange string cassandraString = "org.apache.cassandra.db.marshal.UnkownTypeForTesting"; // act Assert.Throws(typeof(CassandraException), delegate { Type actual = new CassandraType(cassandraString).FluentType; }); }
public void Parse_UnknownTypeWithParams() { // arranage string cassandraString = "org.apache.cassandra.db.marshal.UnkownTypeForTesting(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UTF8Type)"; // act Assert.Throws(typeof(CassandraException), delegate { Type actual = new CassandraType(cassandraString).FluentType; }); }
public void Parse_CompositeType_UnknownInnerType() { // arranage string cassandraString = "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UnkownTypeForTesting)"; // act Assert.Throws(typeof(CassandraException), delegate { Type actual = new CassandraType(cassandraString).FluentType; }); }
public void ReversedTypeHelper() { // arrange var expected = "org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.UTF8Type)"; // act var actual = CassandraType.ReversedType(CassandraType.UTF8Type).DatabaseType; // assert Assert.Equal(expected, actual); }
public static CassandraType ReversedType(CassandraType baseType) { var sb = new StringBuilder(); sb.Append(_ReversedType); sb.Append("("); sb.Append(baseType.DatabaseType); sb.Append(")"); return(new CassandraType(sb.ToString())); }
public void Parse_Reversed_Type() { // arrange Type expected = typeof(LongType); string cassandraString = "org.apache.cassandra.db.marshal.ReversedType(LongType)"; // act Type actual = new CassandraType(cassandraString).FluentType; // assert Assert.Equal(expected, actual); }
public void Parse_Reversed_Type_With_Complex_Value() { // arrange Type expected = typeof(CompositeType); string cassandraString = "org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.LongType,org.apache.cassandra.db.marshal.AsciiType))"; // act Type actual = new CassandraType(cassandraString).FluentType; // assert Assert.Equal(expected, actual); }
public void CassandraType_Cast() { // arranage Guid expected = guid; LexicalUUIDType actualType = expected; // act CassandraType actual = actualType; // assert Assert.AreEqual(expected, (Guid)actual); }
public void JavaBytes_To_CompositeType() { // arrange var expected = new CassandraType[] { (BytesType)compositeType[0].GetValue<string>(), (BytesType)compositeType[1].GetValue<long>() }; // act var actual = new CompositeType(); actual.SetValueFromBigEndian(javaByteOrder); // assert Assert.True(expected.SequenceEqual((CassandraType[])actual)); }
public void Parse_CompositeType() { // arrange Type expected = typeof(CompositeType<TimeUUIDType, UTF8Type>); string cassandraString = "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UTF8Type)"; // act Type actual = new CassandraType(cassandraString).FluentType; // assert Assert.AreEqual(expected, actual); }
public void CassandraType_Cast() { // arranage BigInteger expected = 100; IntegerType actualType = expected; // act CassandraType actual = actualType; // assert Assert.AreEqual(expected, (BigInteger)actual); }
public void CassandraType_Cast() { // arranage var expected = new CassandraType[] { (AsciiType)"string1", (LongType)300L }; // act DynamicCompositeType actualType = expected; CassandraType actual = actualType; // assert Assert.IsTrue(expected.SequenceEqual((CassandraType[])actual)); }
public void CassandraType_Cast() { // arranage string expected = "The quick brown fox jumps over the lazy dog."; UTF8Type actualType = expected; // act CassandraType actual = actualType; // assert Assert.AreEqual(expected, (string)actual); }
public void Implicit_ByteArray_Cast() { // arrange var expected = new CassandraType[] { (AsciiType)"string1", (LongType)300 }; byte[] bytes = GetBytes(expected); // act DynamicCompositeType actual = bytes; // assert Assert.IsTrue(expected.SequenceEqual(actual)); }
public void CassandraType_Cast() { // arranage long expected = 100L; IntegerType actualType = expected; // act CassandraType actual = actualType; // assert Assert.AreEqual(expected, (long)actual); }
public void Parse_Type() { // arrange Type expected = typeof(UTF8Type); string cassandraString = "org.apache.cassandra.db.marshal.UTF8Type"; // act Type actual = new CassandraType(cassandraString).FluentType; // assert Assert.AreEqual(expected, actual); }
public CassandraObject GetValue(CassandraType type) { if (type.FluentType == GetType()) { return(this); } if (GetType() == typeof(BytesType)) { return(GetCassandraObjectFromDatabaseByteArray((byte[])GetRawValue(), type)); } return(GetCassandraObjectFromObject(GetRawValue(), type)); }
public void CassandraType_Cast() { // arranage byte[] expected = new byte[] { 0, 32, 0, 16, 0, 0, 64, 128 }; BytesType actualType = expected; // act CassandraType actualCassandraType = actualType; byte[] actual = actualCassandraType; // assert Assert.IsTrue(expected.SequenceEqual(actual)); }
public void Parse_CompositeType() { // arrange Type expected = typeof(CompositeType); var expectedInternals = new[] { typeof(TimeUUIDType), typeof(UTF8Type) }; string cassandraString = "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UTF8Type)"; // act var cassandraType = new CassandraType(cassandraString); var instance = cassandraType.CreateInstance() as CompositeType; Type actual = cassandraType.FluentType; // assert Assert.Equal(expected, actual); Assert.Equal(2, instance.ComponentTypeHints.Count); foreach (var e in expectedInternals) Assert.True(instance.ComponentTypeHints.Any(x => x.FluentType == e), e.Name + " couldn't be found"); }
public void Parse_CompositeType() { // arrange Type expected = typeof(CompositeType); var expectedInternals = new[] { typeof(TimeUUIDType), typeof(UTF8Type) }; string cassandraString = "org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.TimeUUIDType,org.apache.cassandra.db.marshal.UTF8Type)"; // act var cassandraType = new CassandraType(cassandraString); var instance = cassandraType.CreateInstance() as CompositeType; Type actual = cassandraType.FluentType; // assert Assert.Equal(expected, actual); Assert.Equal(2, instance.ComponentTypeHints.Count); foreach (var e in expectedInternals) { Assert.True(instance.ComponentTypeHints.Any(x => x.FluentType == e), e.Name + " couldn't be found"); } }
public static CassandraObject GetCassandraObjectFromObject(object obj, string type) { var cassandraType = CassandraType.GetCassandraType(type); return(GetCassandraObjectFromObject(obj, cassandraType)); }
public static CassandraObject GetCassandraObjectFromDatabaseByteArray(byte[] value, string type) { var cassandraType = CassandraType.GetCassandraType(type); return(GetCassandraObjectFromDatabaseByteArray(value, cassandraType)); }
public CassandraColumnSchema(ColumnDef def, CassandraType columnNameType) { NameType = columnNameType; Name = CassandraObject.GetCassandraObjectFromDatabaseByteArray(def.Name, columnNameType); ValueType = CassandraType.GetCassandraType(def.Validation_class); }
public CassandraColumnSchema(ColumnDef def, CassandraType columnNameType) { NameType = columnNameType; Name = CassandraObject.GetTypeFromDatabaseValue(def.Name, columnNameType); ValueType = CassandraObject.ParseType(def.Validation_class); }
public static CassandraObject GetCassandraObjectFromDatabaseByteArray(byte[] value, CassandraType cassandraType) { var type = cassandraType.CreateInstance(); if (type == null) { return(null); } type.SetValueFromBigEndian(value); return(type); }
public static Type GetSystemType(CassandraType baseType) { return GetSystemType(baseType.DatabaseType); }
public CassandraType GetCassandraType() { return(CassandraType.GetCassandraType(this)); }
public static CassandraType ReversedType(CassandraType baseType) { var sb = new StringBuilder(); sb.Append(_ReversedType); sb.Append("("); sb.Append(baseType.DatabaseType); sb.Append(")"); return new CassandraType(sb.ToString()); }
private byte[] GetBytes(CassandraType[] components) { using (var bytes = new MemoryStream()) { foreach (var c in components) { var b = (byte[])c; var length = (ushort)b.Length; // value length bytes.Write(BitConverter.GetBytes(length), 0, 2); // value bytes.Write(b, 0, length); // end of component bytes.WriteByte((byte)0); } return bytes.ToArray(); } }
public static Type GetSystemType(CassandraType baseType) { return(GetSystemType(baseType.DatabaseType)); }