Skip to content

Commit

Permalink
Serializer modification backporting (#190)
Browse files Browse the repository at this point in the history
* #189: backporting modification done on V2 version into release 1.5.5

* Test fix
  • Loading branch information
masesdevelopers committed Jun 30, 2023
1 parent b0c498f commit 29b25ea
Show file tree
Hide file tree
Showing 27 changed files with 87 additions and 233 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class ByteArrayDeserializer : Deserializer<byte[]>
public class ByteArrayDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ByteArrayDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ByteArrayDeserializer";

public override bool AutoInit => false;
public byte[] Deserialize(string topic, byte[] data) => IExecute<byte[]>("deserialize", topic, data);

public ByteArrayDeserializer()
: base(null, null, false)
{

}

public override byte[] Deserialize(string topic, byte[] data) => IExecute<byte[]>("deserialize", topic, data);
public static implicit operator Deserializer<byte[]>(ByteArrayDeserializer t) => t.CastTo<Deserializer<byte[]>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,11 @@

namespace MASES.KNet.Common.Serialization
{
public class ByteArraySerializer : Serializer<byte[]>
public class ByteArraySerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ByteArraySerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ByteArraySerializer";
public byte[] Serialize(string topic, byte[] data) => IExecute<byte[]>("serialize", topic, data);

public override bool AutoInit => false;

public ByteArraySerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, byte[] data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<byte[]>(ByteArraySerializer t) => t.CastTo<Serializer<byte[]>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class ByteBufferDeserializer : Deserializer<ByteBuffer>
public class ByteBufferDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ByteBufferDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ByteBufferDeserializer";

public override bool AutoInit => false;
public ByteBuffer Deserialize(string topic, byte[] data) => IExecute<ByteBuffer>("deserialize", topic, data);

public ByteBufferDeserializer()
: base(null, null, false)
{

}

public override ByteBuffer Deserialize(string topic, byte[] data) => IExecute<ByteBuffer>("deserialize", topic, data);
public static implicit operator Deserializer<ByteBuffer>(ByteBufferDeserializer t) => t.CastTo<Deserializer<ByteBuffer>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class ByteBufferSerializer : Serializer<ByteBuffer>
public class ByteBufferSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ByteBufferSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ByteBufferSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, ByteBuffer data) => IExecute<byte[]>("serialize", topic, data);

public ByteBufferSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, ByteBuffer data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<ByteBuffer>(ByteBufferSerializer t) => t.CastTo<Serializer<ByteBuffer>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class BytesDeserializer : Deserializer<Bytes>
public class BytesDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<BytesDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.BytesDeserializer";

public override bool AutoInit => false;
public Bytes Deserialize(string topic, byte[] data) => IExecute<Bytes>("deserialize", topic, data);

public BytesDeserializer()
: base(null, null, false)
{

}

public override Bytes Deserialize(string topic, byte[] data) => IExecute<Bytes>("deserialize", topic, data);
public static implicit operator Deserializer<Bytes>(BytesDeserializer t) => t.CastTo<Deserializer<Bytes>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class BytesSerializer : Serializer<Bytes>
public class BytesSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<BytesSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.BytesSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, Bytes data) => IExecute<byte[]>("serialize", topic, data);

public BytesSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, Bytes data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<Bytes>(BytesSerializer t) => t.CastTo<Serializer<Bytes>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,13 @@ public class Deserializer<E> : JVMBridgeListener, IDeserializer<E>
/// The <see cref="Func{String, Headers, Byte[], E}"/> to be executed on deserialize
/// </summary>
public virtual Func<string, Headers, byte[], E> OnDeserializeWithHeaders { get { return deserializeWithHeaders; } }
/// <summary>
/// Default constructor
/// </summary>
public Deserializer()
{
}

/// <summary>
/// Initialize a new instance of <see cref="Deserializer{E}"/>
/// </summary>
Expand All @@ -91,7 +98,6 @@ public Deserializer(Func<string, byte[], E> deserializeFun = null, Func<string,
AddEventHandler("deserializeWithHeaders", new EventHandler<CLRListenerEventArgs<CLREventData<string>>>(EventHandlerWithHeaders));
}
}

void EventHandler(object sender, CLRListenerEventArgs<CLREventData<string>> data)
{
var container = data.EventData.ExtraData.Get(0) as IJavaObject; // it is a byte[]
Expand All @@ -100,7 +106,6 @@ void EventHandler(object sender, CLRListenerEventArgs<CLREventData<string>> data
var retVal = OnDeserialize(data.EventData.TypedEventData, bytes);
data.SetReturnValue(retVal);
}

void EventHandlerWithHeaders(object sender, CLRListenerEventArgs<CLREventData<string>> data)
{
var headers = data.EventData.ExtraData.Get(0) as IJavaObject; // it is a Headers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class DoubleDeserializer : Deserializer<double>
public class DoubleDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<DoubleDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.DoubleDeserializer";

public override bool AutoInit => false;
public double Deserialize(string topic, byte[] data) => IExecute<double>("deserialize", topic, data);

public DoubleDeserializer()
: base(null, null, false)
{

}

public override double Deserialize(string topic, byte[] data) => IExecute<double>("deserialize", topic, data);
public static implicit operator Deserializer<double>(DoubleDeserializer t) => t.CastTo<Deserializer<double>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class DoubleSerializer : Serializer<double>
public class DoubleSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<DoubleSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.DoubleSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, double data) => IExecute<byte[]>("serialize", topic, data);

public DoubleSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, double data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<double>(DoubleSerializer t) => t.CastTo<Serializer<double>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class FloatDeserializer : Deserializer<float>
public class FloatDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<FloatDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.FloatDeserializer";

public override bool AutoInit => false;
public float Deserialize(string topic, byte[] data) => IExecute<float>("deserialize", topic, data);

public FloatDeserializer()
: base(null, null, false)
{

}

public override float Deserialize(string topic, byte[] data) => IExecute<float>("deserialize", topic, data);
public static implicit operator Deserializer<float>(FloatDeserializer t) => t.CastTo<Deserializer<float>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class FloatSerializer : Serializer<float>
public class FloatSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<FloatSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.FloatSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, float data) => IExecute<byte[]>("serialize", topic, data);

public FloatSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, float data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<float>(FloatSerializer t) => t.CastTo<Serializer<float>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class IntegerDeserializer : Deserializer<int>
public class IntegerDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<IntegerDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.IntegerDeserializer";

public override bool AutoInit => false;
public int Deserialize(string topic, byte[] data) => IExecute<int>("deserialize", topic, data);

public IntegerDeserializer()
: base(null, null, false)
{

}

public override int Deserialize(string topic, byte[] data) => IExecute<int>("deserialize", topic, data);
public static implicit operator Deserializer<int>(IntegerDeserializer t) => t.CastTo<Deserializer<int>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class IntegerSerializer : Serializer<int>
public class IntegerSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<IntegerSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.IntegerSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, int data) => IExecute<byte[]>("serialize", topic, data);

public IntegerSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, int data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<int>(IntegerSerializer t) => t.CastTo<Serializer<int>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,12 @@

namespace MASES.KNet.Common.Serialization
{
public class ListDeserializer<Inner> : Deserializer<List<Inner>>
public class ListDeserializer<Inner> : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ListDeserializer<Inner>>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ListDeserializer";

public override bool AutoInit => false;
public List<Inner> Deserialize(string topic, byte[] data) => IExecute<List<Inner>>("deserialize", topic, data);

public ListDeserializer()
: base(null, null, false)
{

}

public override List<Inner> Deserialize(string topic, byte[] data) => IExecute<List<Inner>>("deserialize", topic, data);
public static implicit operator Deserializer<List<Inner>>(ListDeserializer<Inner> t) => t.CastTo<Deserializer<List<Inner>>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,16 @@
* Refer to LICENSE for more information.
*/

using Java.Nio;
using Java.Util;

namespace MASES.KNet.Common.Serialization
{
public class ListSerializer<Inner> : Serializer<List<Inner>>
public class ListSerializer<Inner> : MASES.JCOBridge.C2JBridge.JVMBridgeBase<ListSerializer<Inner>>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.ListSerializer";

public override bool AutoInit => false;
public byte[] Serialize(string topic, List<Inner> data) => IExecute<byte[]>("serialize", topic, data);

public ListSerializer()
: base(null, null, false)
{

}

public override byte[] Serialize(string topic, List<Inner> data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<List<Inner>>(ListSerializer<Inner> t) => t.CastTo<Serializer<List<Inner>>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,12 @@

namespace MASES.KNet.Common.Serialization
{
public class LongDeserializer : Deserializer<long>
public class LongDeserializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<LongDeserializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.LongDeserializer";

public override bool AutoInit => false;
public long Deserialize(string topic, byte[] data) => IExecute<long>("deserialize", topic, data);

public LongDeserializer()
: base(null, null, false)
{

}

public override long Deserialize(string topic, byte[] data) => IExecute<long>("deserialize", topic, data);
public static implicit operator Deserializer<long>(LongDeserializer t) => t.CastTo<Deserializer<long>>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,14 @@
* Refer to LICENSE for more information.
*/

using Java.Nio;

namespace MASES.KNet.Common.Serialization
{
public class LongSerializer : Serializer<long>
public class LongSerializer : MASES.JCOBridge.C2JBridge.JVMBridgeBase<LongSerializer>
{
public override string BridgeClassName => "org.apache.kafka.common.serialization.LongSerializer";

public override bool AutoInit => false;

public LongSerializer()
: base(null, null, false)
{

}
public byte[] Serialize(string topic, long data) => IExecute<byte[]>("serialize", topic, data);

public override byte[] Serialize(string topic, long data) => IExecute<byte[]>("serialize", topic, data);
public static implicit operator Serializer<long>(LongSerializer t) => t.CastTo<Serializer<long>>();
}
}
Loading

0 comments on commit 29b25ea

Please sign in to comment.