Ensure the SerializationBuilder passes through the expected class.

This commit is contained in:
Peter Lawrey
2015-06-11 06:39:51 +01:00
parent 055d1da318
commit 84e8191035
2 changed files with 6 additions and 4 deletions
Regular → Executable
+1 -1
View File
@@ -28,7 +28,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>chronicle-map</artifactId>
<version>2.1.11-SNAPSHOT</version>
<version>2.2-SNAPSHOT</version>
<name>OpenHFT/Chronicle-Map</name>
<description>Chronicle-Map</description>
+5 -3
View File
@@ -315,7 +315,7 @@ final class SerializationBuilder<E> implements Cloneable, Serializable {
public SerializationBuilder<E> objectSerializer(ObjectSerializer serializer) {
if (reader == null || interop == null) {
marshaller(new SerializableMarshaller(serializer));
marshaller(new SerializableMarshaller(serializer, eClass));
}
return this;
}
@@ -452,15 +452,17 @@ final class SerializationBuilder<E> implements Cloneable, Serializable {
private static final long serialVersionUID = 0L;
private final ObjectSerializer serializer;
private final Class expectedClass;
private SerializableMarshaller(ObjectSerializer serializer) {
private SerializableMarshaller(ObjectSerializer serializer, Class expectedClass) {
this.serializer = serializer;
this.expectedClass = expectedClass;
}
@Override
public void write(Bytes bytes, Object obj) {
try {
serializer.writeSerializable(bytes, obj, null);
serializer.writeSerializable(bytes, obj, expectedClass);
} catch (IOException e) {
throw new IllegalStateException(e);
}