This is an automated email from the ASF dual-hosted git repository. bschuchardt pushed a commit to branch feature/GEODE-7175 in repository https://gitbox.apache.org/repos/asf/geode.git
commit 7e16e9400a6d2dfbfa674a1df29286456677c3d1 Author: Bruce Schuchardt <[email protected]> AuthorDate: Tue Sep 10 14:57:10 2019 -0700 GEODE-7175 Convert toData/fromData in other modules to use new serializers use the serialization context's readObject/writeObject methods instead of the static methods in DataSerializer. --- .../internal/locator/QueueConnectionRequest.java | 2 +- .../apache/geode/cache/query/internal/CqEntry.java | 9 +++---- .../internal/CumulativeNonDistinctResults.java | 8 +++--- .../cache/query/internal/LinkedResultSet.java | 9 +++---- .../cache/query/internal/LinkedStructSet.java | 9 +++---- .../cache/query/internal/NWayMergeResults.java | 8 +++--- .../geode/cache/query/internal/ResultsBag.java | 9 +++---- .../query/internal/ResultsCollectionWrapper.java | 9 +++---- .../geode/cache/query/internal/ResultsSet.java | 5 ++-- .../cache/query/internal/SortedResultSet.java | 9 +++---- .../cache/query/internal/SortedStructSet.java | 6 ++--- .../geode/cache/query/internal/StructImpl.java | 4 +-- .../geode/cache/query/internal/StructSet.java | 9 +++---- .../distributed/internal/DistributionMessage.java | 6 +++-- .../geode/distributed/internal/StartupMessage.java | 4 +-- .../internal/locks/DLockRemoteToken.java | 6 ++--- .../geode/internal/InternalDataSerializer.java | 2 +- .../statalerts/GaugeThresholdDecoratorImpl.java | 9 +++---- .../statalerts/NumberThresholdDecoratorImpl.java | 4 +-- .../internal/cache/DistTXPrecommitMessage.java | 4 +-- .../internal/cache/DistributedPutAllOperation.java | 28 ++++++++++---------- .../cache/DistributedRemoveAllOperation.java | 26 ++++++++++--------- .../geode/internal/cache/EntryEventImpl.java | 30 +++++++++++----------- .../apache/geode/internal/cache/FilterProfile.java | 4 +-- .../internal/cache/InitialImageOperation.java | 28 ++++++++++---------- .../cache/InvalidatePartitionedRegionMessage.java | 3 +-- .../geode/internal/cache/RegionEventImpl.java | 4 +-- .../geode/internal/cache/TXCommitMessage.java | 15 ++++++----- .../apache/geode/internal/cache/TXEntryState.java | 13 ++++++---- .../geode/internal/cache/locks/TXLockIdImpl.java | 5 ++-- .../cache/partitioned/FetchEntryMessage.java | 5 ++-- .../internal/cache/partitioned/GetMessage.java | 5 ++-- .../partitioned/PRUpdateEntryVersionMessage.java | 13 +++++----- .../cache/partitioned/PartitionMessage.java | 10 ++++---- .../PartitionMessageWithDirectReply.java | 6 +++-- .../cache/partitioned/PutAllPRMessage.java | 9 ++++--- .../internal/cache/partitioned/PutMessage.java | 5 ++-- .../cache/partitioned/RemoveAllPRMessage.java | 9 ++++--- .../internal/cache/partitioned/SizeMessage.java | 5 ++-- .../internal/cache/snapshot/SnapshotPacket.java | 4 +-- .../tier/sockets/ClientDataSerializerMessage.java | 6 ++--- .../tier/sockets/ClientInstantiatorMessage.java | 6 ++--- .../tier/sockets/ClientInterestMessageImpl.java | 8 +++--- .../cache/tier/sockets/HAEventWrapper.java | 8 +++--- .../cache/tier/sockets/ObjectPartList.java | 8 +++--- .../cache/tier/sockets/ObjectPartList651.java | 8 +++--- .../tier/sockets/SerializedObjectPartList.java | 4 +-- .../cache/tier/sockets/VersionedObjectList.java | 25 ++++++++++-------- .../geode/internal/cache/tx/DistTxEntryEvent.java | 28 +++++++++++--------- .../internal/cache/tx/RemoteDestroyMessage.java | 5 ++-- .../internal/cache/tx/RemoteOperationMessage.java | 9 ++++--- .../internal/cache/tx/RemotePutAllMessage.java | 4 +-- .../geode/internal/cache/tx/RemotePutMessage.java | 5 ++-- .../internal/cache/tx/RemoteRemoveAllMessage.java | 5 ++-- .../internal/cache/wan/GatewaySenderEventImpl.java | 23 +++++++++-------- ...aySenderQueueEntrySynchronizationOperation.java | 8 +++--- .../internal/JmxManagerLocatorResponse.java | 4 +-- .../internal/cli/functions/CliFunctionResult.java | 12 ++++----- .../ResultsBagLimitBehaviourJUnitTest.java | 4 +-- .../lucene/internal/LuceneResultStructImpl.java | 9 +++---- .../lucene/internal/distributed/EntryScore.java | 5 ++-- .../distributed/LuceneFunctionContext.java | 8 +++--- .../lucene/internal/distributed/TopEntries.java | 5 ++-- .../internal/distributed/TopEntriesCollector.java | 4 +-- .../serialization/DSFIDSerializerImpl.java | 4 +-- .../internal/serialization/ObjectDeserializer.java | 2 +- .../internal/locator/wan/LocatorJoinMessage.java | 9 +++---- .../locator/wan/RemoteLocatorJoinRequest.java | 5 ++-- .../locator/wan/RemoteLocatorResponse.java | 5 ++-- 69 files changed, 304 insertions(+), 290 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java index bcac986..597b4fd 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java +++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/locator/QueueConnectionRequest.java @@ -64,7 +64,7 @@ public class QueueConnectionRequest extends ServerLocationRequest { public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(proxyId, out); + context.getSerializer().writeObject(proxyId, out); DataSerializer.writePrimitiveInt(redundantCopies, out); SerializationHelper.writeServerLocationSet(this.excludedServers, out); out.writeBoolean(this.findDurable); diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java index 6f977e5..9e00ee8 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CqEntry.java @@ -19,7 +19,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; import org.apache.geode.internal.serialization.SerializationContext; @@ -94,8 +93,8 @@ public class CqEntry implements DataSerializableFixedID { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.key = DataSerializer.readObject(in); - this.value = DataSerializer.readObject(in); + this.key = context.getDeserializer().readObject(in); + this.value = context.getDeserializer().readObject(in); } @@ -107,8 +106,8 @@ public class CqEntry implements DataSerializableFixedID { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.key, out); - DataSerializer.writeObject(this.value, out); + context.getSerializer().writeObject(this.key, out); + context.getSerializer().writeObject(this.value, out); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java index 7aa17c1..33d1dd8 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/CumulativeNonDistinctResults.java @@ -281,7 +281,7 @@ public class CumulativeNonDistinctResults<E> implements SelectResults<E>, DataSe @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - ObjectType elementType = (ObjectType) DataSerializer.readObject(in); + ObjectType elementType = (ObjectType) context.getDeserializer().readObject(in); this.collectionType = new CollectionTypeImpl(CumulativeNonDistinctResults.class, elementType); boolean isStruct = elementType.isStructType(); @@ -293,7 +293,7 @@ public class CumulativeNonDistinctResults<E> implements SelectResults<E>, DataSe Object[] fields = DataSerializer.readObjectArray(in); this.data.add((E) new StructImpl((StructTypeImpl) elementType, fields)); } else { - E element = DataSerializer.readObject(in); + E element = context.getDeserializer().readObject(in); this.data.add(element); } --numLeft; @@ -312,7 +312,7 @@ public class CumulativeNonDistinctResults<E> implements SelectResults<E>, DataSe public void toData(DataOutput out, SerializationContext context) throws IOException { boolean isStruct = this.collectionType.getElementType().isStructType(); - DataSerializer.writeObject(this.collectionType.getElementType(), out); + context.getSerializer().writeObject(this.collectionType.getElementType(), out); HeapDataOutputStream hdos = new HeapDataOutputStream(1024, null); LongUpdater lu = hdos.reserveLong(); @@ -324,7 +324,7 @@ public class CumulativeNonDistinctResults<E> implements SelectResults<E>, DataSe Object[] fields = ((Struct) data).getFieldValues(); DataSerializer.writeObjectArray(fields, out); } else { - DataSerializer.writeObject(data, hdos); + context.getSerializer().writeObject(data, hdos); } ++numElements; } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java index 200db6c..1957709 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedResultSet.java @@ -26,7 +26,6 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; import org.apache.geode.cache.query.types.CollectionType; @@ -116,9 +115,9 @@ public class LinkedResultSet extends java.util.LinkedHashSet public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { int size = in.readInt(); - this.elementType = (ObjectType) DataSerializer.readObject(in); + this.elementType = (ObjectType) context.getDeserializer().readObject(in); for (int j = size; j > 0; j--) { - this.add(DataSerializer.readObject(in)); + this.add(context.getDeserializer().readObject(in)); } } @@ -127,9 +126,9 @@ public class LinkedResultSet extends java.util.LinkedHashSet SerializationContext context) throws IOException { // how do we serialize the comparator? out.writeInt(this.size()); - DataSerializer.writeObject(this.elementType, out); + context.getSerializer().writeObject(this.elementType, out); for (Iterator i = this.iterator(); i.hasNext();) { - DataSerializer.writeObject(i.next(), out); + context.getSerializer().writeObject(i.next(), out); } } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java index ee68f5b..1ab19e4 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/LinkedStructSet.java @@ -24,7 +24,6 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.Struct; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; @@ -175,9 +174,9 @@ public class LinkedStructSet extends LinkedHashSet<Struct> DeserializationContext context) throws IOException, ClassNotFoundException { this.modifiable = in.readBoolean(); int size = in.readInt(); - this.structType = (StructTypeImpl) DataSerializer.readObject(in); + this.structType = (StructTypeImpl) context.getDeserializer().readObject(in); for (int j = size; j > 0; j--) { - Object[] fieldValues = DataSerializer.readObject(in); + Object[] fieldValues = context.getDeserializer().readObject(in); this.add(new StructImpl(this.structType, fieldValues)); } } @@ -193,9 +192,9 @@ public class LinkedStructSet extends LinkedHashSet<Struct> // how do we serialize the comparator? out.writeBoolean(this.modifiable); out.writeInt(this.size()); - DataSerializer.writeObject(this.structType, out); + context.getSerializer().writeObject(this.structType, out); for (Struct struct : this) { - DataSerializer.writeObject(struct.getFieldValues(), out); + context.getSerializer().writeObject(struct.getFieldValues(), out); } } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java index c03921a..83d844b 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/NWayMergeResults.java @@ -440,7 +440,7 @@ public class NWayMergeResults<E> implements SelectResults<E>, Ordered, DataSeria @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - ObjectType elementType = (ObjectType) DataSerializer.readObject(in); + ObjectType elementType = (ObjectType) context.getDeserializer().readObject(in); this.collectionType = new CollectionTypeImpl(NWayMergeResults.class, elementType); boolean isStruct = elementType.isStructType(); this.isDistinct = DataSerializer.readPrimitiveBoolean(in); @@ -452,7 +452,7 @@ public class NWayMergeResults<E> implements SelectResults<E>, Ordered, DataSeria Object[] fields = DataSerializer.readObjectArray(in); this.data.add((E) new StructImpl((StructTypeImpl) elementType, fields)); } else { - E element = DataSerializer.readObject(in); + E element = context.getDeserializer().readObject(in); this.data.add(element); } --numLeft; @@ -471,7 +471,7 @@ public class NWayMergeResults<E> implements SelectResults<E>, Ordered, DataSeria public void toData(DataOutput out, SerializationContext context) throws IOException { boolean isStruct = this.collectionType.getElementType().isStructType(); - DataSerializer.writeObject(this.collectionType.getElementType(), out); + context.getSerializer().writeObject(this.collectionType.getElementType(), out); DataSerializer.writePrimitiveBoolean(this.isDistinct, out); HeapDataOutputStream hdos = new HeapDataOutputStream(1024, null); LongUpdater lu = hdos.reserveLong(); @@ -483,7 +483,7 @@ public class NWayMergeResults<E> implements SelectResults<E>, Ordered, DataSeria Object[] fields = ((Struct) data).getFieldValues(); DataSerializer.writeObjectArray(fields, out); } else { - DataSerializer.writeObject(data, hdos); + context.getSerializer().writeObject(data, hdos); } ++numElements; } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java index 64a1804..a529ec6 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsBag.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.util.Collection; import java.util.Iterator; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.internal.ObjectIntHashMap.Entry; import org.apache.geode.cache.query.types.ObjectType; @@ -139,7 +138,7 @@ public class ResultsBag extends Bag implements DataSerializableFixedID { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.elementType = (ObjectType) DataSerializer.readObject(in); + this.elementType = (ObjectType) context.getDeserializer().readObject(in); this.size = in.readInt(); assert this.size >= 0 : this.size; this.map = createMapForFromData(); @@ -149,7 +148,7 @@ public class ResultsBag extends Bag implements DataSerializableFixedID { int numLeft = this.size - this.numNulls; while (numLeft > 0) { - Object key = DataSerializer.readObject(in); + Object key = context.getDeserializer().readObject(in); int occurrence = in.readInt(); this.map.put(key, occurrence); numLeft -= occurrence; @@ -164,7 +163,7 @@ public class ResultsBag extends Bag implements DataSerializableFixedID { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.elementType, out); + context.getSerializer().writeObject(this.elementType, out); out.writeInt(this.size()); this.writeNumNulls(out); // TODO:Asif: Should we actually pass the limit in serialization? @@ -175,7 +174,7 @@ public class ResultsBag extends Bag implements DataSerializableFixedID { for (Iterator<Entry> itr = this.map.entrySet().iterator(); itr.hasNext() && numLeft > 0;) { Entry entry = itr.next(); Object key = entry.getKey(); - DataSerializer.writeObject(key, out); + context.getSerializer().writeObject(key, out); int occurrence = entry.getValue(); if (numLeft < occurrence) { occurrence = numLeft; diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java index 4ca312e..9dedff7 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsCollectionWrapper.java @@ -30,7 +30,6 @@ import java.util.NoSuchElementException; import java.util.Set; import java.util.TreeSet; -import org.apache.geode.DataSerializer; import org.apache.geode.InternalGemFireError; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; @@ -550,9 +549,9 @@ public class ResultsCollectionWrapper implements SelectResults, DataSerializable if (isBagSetView) { InternalDataSerializer.writeSet((Set) this.base, out); } else { - DataSerializer.writeObject(this.base, out); + context.getSerializer().writeObject(this.base, out); } - DataSerializer.writeObject(this.collectionType, out); + context.getSerializer().writeObject(this.collectionType, out); out.writeBoolean(this.modifiable); } @@ -569,9 +568,9 @@ public class ResultsCollectionWrapper implements SelectResults, DataSerializable if (isBagSetView) { this.base = (Set) InternalDataSerializer.readSet(in); } else { - this.base = (Collection) DataSerializer.readObject(in); + this.base = (Collection) context.getDeserializer().readObject(in); } - this.collectionType = (CollectionType) DataSerializer.readObject(in); + this.collectionType = (CollectionType) context.getDeserializer().readObject(in); this.modifiable = in.readBoolean(); } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java index 6efe833..f672a1f 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/ResultsSet.java @@ -25,7 +25,6 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; import org.apache.geode.cache.query.internal.types.ObjectTypeImpl; @@ -149,7 +148,7 @@ public class ResultsSet extends HashSet implements SelectResults, DataSerializab InternalDataSerializer.invokeFromData(clt, in); setElementType(clt); for (int k = size; k > 0; k--) { - this.add(DataSerializer.readObject(in)); + this.add(context.getDeserializer().readObject(in)); } } @@ -161,7 +160,7 @@ public class ResultsSet extends HashSet implements SelectResults, DataSerializab Assert.assertTrue(ctImpl != null, "ctImpl can not be null"); InternalDataSerializer.invokeToData(ctImpl, out); for (Iterator itr = this.iterator(); itr.hasNext();) { - DataSerializer.writeObject(itr.next(), out); + context.getSerializer().writeObject(itr.next(), out); } } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java index f88affd..a9445b7 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedResultSet.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.Set; import java.util.TreeSet; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; import org.apache.geode.cache.query.types.CollectionType; @@ -130,9 +129,9 @@ public class SortedResultSet extends TreeSet public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { int size = in.readInt(); - this.elementType = (ObjectType) DataSerializer.readObject(in); + this.elementType = (ObjectType) context.getDeserializer().readObject(in); for (int j = size; j > 0; j--) { - this.add(DataSerializer.readObject(in)); + this.add(context.getDeserializer().readObject(in)); } } @@ -141,9 +140,9 @@ public class SortedResultSet extends TreeSet SerializationContext context) throws IOException { // how do we serialize the comparator? out.writeInt(this.size()); - DataSerializer.writeObject(this.elementType, out); + context.getSerializer().writeObject(this.elementType, out); for (Iterator i = this.iterator(); i.hasNext();) { - DataSerializer.writeObject(i.next(), out); + context.getSerializer().writeObject(i.next(), out); } } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java index 7e59691..58fc83a 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/SortedStructSet.java @@ -374,9 +374,9 @@ public class SortedStructSet extends TreeSet DeserializationContext context) throws IOException, ClassNotFoundException { this.modifiable = in.readBoolean(); int size = in.readInt(); - this.structType = (StructTypeImpl) DataSerializer.readObject(in); + this.structType = (StructTypeImpl) context.getDeserializer().readObject(in); for (int j = size; j > 0; j--) { - Object[] fieldValues = DataSerializer.readObject(in); + Object[] fieldValues = context.getDeserializer().readObject(in); this.addFieldValues(fieldValues); } } @@ -387,7 +387,7 @@ public class SortedStructSet extends TreeSet // how do we serialize the comparator? out.writeBoolean(this.modifiable); out.writeInt(this.size()); - DataSerializer.writeObject(this.structType, out); + context.getSerializer().writeObject(this.structType, out); for (Iterator i = this.fieldValuesIterator(); i.hasNext();) { Object[] fieldValues = (Object[]) i.next(); DataSerializer.writeObjectArray(fieldValues, out); diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java index 6a45273..b1919c0 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructImpl.java @@ -171,7 +171,7 @@ public class StructImpl implements Struct, DataSerializableFixedID, Serializable @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.type = (StructTypeImpl) DataSerializer.readObject(in); + this.type = context.getDeserializer().readObject(in); this.values = DataSerializer.readObjectArray(in); if (this.values != null) { for (Object o : values) { @@ -186,7 +186,7 @@ public class StructImpl implements Struct, DataSerializableFixedID, Serializable @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.type, out); + context.getSerializer().writeObject(this.type, out); DataSerializer.writeObjectArray(this.values, out); } diff --git a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java index ecce14c..cdbe064 100644 --- a/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java +++ b/geode-core/src/main/java/org/apache/geode/cache/query/internal/StructSet.java @@ -28,7 +28,6 @@ import it.unimi.dsi.fastutil.objects.AbstractObjectIterator; import it.unimi.dsi.fastutil.objects.ObjectIterator; import it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.query.SelectResults; import org.apache.geode.cache.query.Struct; import org.apache.geode.cache.query.internal.types.CollectionTypeImpl; @@ -461,9 +460,9 @@ public class StructSet /* extends ObjectOpenCustomHashSet */ implements Set, Sel DeserializationContext context) throws IOException, ClassNotFoundException { this.contents = new ObjectOpenCustomHashSet(new ObjectArrayHashingStrategy()); int size = in.readInt(); - this.structType = (StructTypeImpl) DataSerializer.readObject(in); + this.structType = (StructTypeImpl) context.getDeserializer().readObject(in); for (int j = size; j > 0; j--) { - this.add(DataSerializer.readObject(in)); + this.add(context.getDeserializer().readObject(in)); } } @@ -471,9 +470,9 @@ public class StructSet /* extends ObjectOpenCustomHashSet */ implements Set, Sel public void toData(DataOutput out, SerializationContext context) throws IOException { out.writeInt(this.size()); - DataSerializer.writeObject(this.structType, out); + context.getSerializer().writeObject(this.structType, out); for (Iterator i = this.iterator(); i.hasNext();) { - DataSerializer.writeObject(i.next(), out); + context.getSerializer().writeObject(i.next(), out); } } diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java index ef6837e..dfcd5ba 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionMessage.java @@ -559,7 +559,8 @@ public abstract class DistributionMessage implements DataSerializableFixedID, Cl @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - // DataSerializer.writeObject(this.recipients, out); // no need to serialize; filled in later + // context.getSerializer().writeObject(this.recipients, out); // no need to serialize; filled in + // later // ((IpAddress)this.sender).toData(out); // no need to serialize; filled in later // out.writeLong(this.timeStamp); } @@ -573,7 +574,8 @@ public abstract class DistributionMessage implements DataSerializableFixedID, Cl public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - // this.recipients = (Set)DataSerializer.readObject(in); // no to deserialize; filled in later + // this.recipients = (Set)context.getDeserializer().readObject(in); // no to deserialize; filled + // in later // this.sender = DataSerializer.readIpAddress(in); // no to deserialize; filled in later // this.timeStamp = (long)in.readLong(); } diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java index e2c4218..d38993b 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/StartupMessage.java @@ -360,7 +360,7 @@ public class StartupMessage extends DistributionMessage implements AdminMessageT DataSerializer.writeNonPrimitiveClassName(instantiatedClassName, out); out.writeInt(id); } - DataSerializer.writeObject(interfaces, out); + context.getSerializer().writeObject(interfaces, out); out.writeInt(distributedSystemId); DataSerializer.writeString(redundancyZone, out); out.writeBoolean(enforceUniqueZone); @@ -428,7 +428,7 @@ public class StartupMessage extends DistributionMessage implements AdminMessageT } } // for - this.interfaces = DataSerializer.readObject(in); + this.interfaces = context.getDeserializer().readObject(in); this.distributedSystemId = in.readInt(); this.redundancyZone = DataSerializer.readString(in); this.enforceUniqueZone = in.readBoolean(); diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java index f0910b7..9bfa90a 100755 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockRemoteToken.java @@ -83,7 +83,7 @@ public class DLockRemoteToken implements DataSerializableFixedID { throws IOException, ClassNotFoundException { Object name = DataSerializer.readObject(in); RemoteThread lesseeThread = null; - InternalDistributedMember lessee = (InternalDistributedMember) DataSerializer.readObject(in); + InternalDistributedMember lessee = DataSerializer.readObject(in); lesseeThread = new RemoteThread(lessee, in.readInt()); int leaseId = in.readInt(); long leaseExpireTime = in.readLong(); @@ -199,8 +199,8 @@ public class DLockRemoteToken implements DataSerializableFixedID { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.name, out); - DataSerializer.writeObject(this.lesseeThread.getDistributedMember(), out); + context.getSerializer().writeObject(this.name, out); + context.getSerializer().writeObject(this.lesseeThread.getDistributedMember(), out); out.writeInt(this.lesseeThread.getThreadId()); out.writeInt(this.leaseId); out.writeLong(this.leaseExpireTime); diff --git a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java index 64152cc..42275fe 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java +++ b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java @@ -308,7 +308,7 @@ public abstract class InternalDataSerializer extends DataSerializer { } }).setObjectDeserializer(new ObjectDeserializer() { @Override - public Object readObject(DataInput input) throws IOException, ClassNotFoundException { + public <T> T readObject(DataInput input) throws IOException, ClassNotFoundException { return InternalDataSerializer.readObject(input); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java index 2bfbef9..7858c9d 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/GaugeThresholdDecoratorImpl.java @@ -18,7 +18,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.StatisticsFactory; import org.apache.geode.internal.admin.StatAlert; import org.apache.geode.internal.admin.StatAlertDefinition; @@ -128,16 +127,16 @@ public class GaugeThresholdDecoratorImpl extends BaseDecoratorImpl public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out); - DataSerializer.writeObject(this.lowerLimit, out); - DataSerializer.writeObject(this.upperLimit, out); + context.getSerializer().writeObject(this.lowerLimit, out); + context.getSerializer().writeObject(this.upperLimit, out); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in); - this.lowerLimit = (Number) DataSerializer.readObject(in); - this.upperLimit = (Number) DataSerializer.readObject(in); + this.lowerLimit = (Number) context.getDeserializer().readObject(in); + this.upperLimit = (Number) context.getDeserializer().readObject(in); } public static final String ID = "GaugeThreshold"; diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java index 7b46b08..a849581 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/admin/statalerts/NumberThresholdDecoratorImpl.java @@ -128,7 +128,7 @@ public class NumberThresholdDecoratorImpl extends BaseDecoratorImpl public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out); - DataSerializer.writeObject(this.threshold, out); + context.getSerializer().writeObject(this.threshold, out); DataSerializer.writePrimitiveBoolean(this.evalForGtThan, out); } @@ -136,7 +136,7 @@ public class NumberThresholdDecoratorImpl extends BaseDecoratorImpl public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in); - this.threshold = (Number) DataSerializer.readObject(in); + this.threshold = (Number) context.getDeserializer().readObject(in); this.evalForGtThan = DataSerializer.readPrimitiveBoolean(in); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java index 46c70f6..5091ab3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXPrecommitMessage.java @@ -253,14 +253,14 @@ public class DistTXPrecommitMessage extends TXMessage { public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(commitResponse, out); + context.getSerializer().writeObject(commitResponse, out); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); - this.commitResponse = (DistTxPrecommitResponse) DataSerializer.readObject(in); + this.commitResponse = (DistTxPrecommitResponse) context.getDeserializer().readObject(in); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java index 2d54cac..2cec6f4 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java @@ -333,12 +333,13 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { /** * Constructor to use when receiving a putall from someone else */ - public PutAllEntryData(DataInput in, EventID baseEventID, int idx, Version version, + public PutAllEntryData(DataInput in, DeserializationContext context, EventID baseEventID, + int idx, Version version, ByteArrayDataInput bytesIn) throws IOException, ClassNotFoundException { - this.key = DataSerializer.readObject(in); + this.key = context.getDeserializer().readObject(in); byte flgs = in.readByte(); if ((flgs & IS_OBJECT) != 0) { - this.value = DataSerializer.readObject(in); + this.value = context.getDeserializer().readObject(in); } else { byte[] bb = DataSerializer.readByteArray(in); if ((flgs & IS_CACHED_DESER) != 0) { @@ -351,7 +352,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { this.op = Operation.fromOrdinal(in.readByte()); this.flags = in.readByte(); if ((this.flags & FILTER_ROUTING) != 0) { - this.filterRouting = (FilterRoutingInfo) DataSerializer.readObject(in); + this.filterRouting = (FilterRoutingInfo) context.getDeserializer().readObject(in); } if ((this.flags & VERSION_TAG) != 0) { boolean persistentTag = (this.flags & PERSISTENT_TAG) != 0; @@ -403,10 +404,11 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { * {@link DataSerializableFixedID#toData(DataOutput, SerializationContext)} <br> * {@link DataSerializableFixedID#toData(DataOutput, SerializationContext)} <br> */ - public void toData(final DataOutput out) throws IOException { + public void toData(final DataOutput out, + SerializationContext context) throws IOException { Object key = this.key; final Object v = this.value; - DataSerializer.writeObject(key, out); + context.getSerializer().writeObject(key, out); if (v instanceof byte[] || v == null) { out.writeByte(0); @@ -436,7 +438,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { out.writeByte(bits); if (this.filterRouting != null) { - DataSerializer.writeObject(this.filterRouting, out); + context.getSerializer().writeObject(this.filterRouting, out); } if (this.versionTag != null) { InternalDataSerializer.invokeToData(this.versionTag, out); @@ -1204,14 +1206,14 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); - this.eventId = (EventID) DataSerializer.readObject(in); + this.eventId = (EventID) context.getDeserializer().readObject(in); this.putAllDataSize = (int) InternalDataSerializer.readUnsignedVL(in); this.putAllData = new PutAllEntryData[this.putAllDataSize]; if (this.putAllDataSize > 0) { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.putAllDataSize; i++) { - this.putAllData[i] = new PutAllEntryData(in, eventId, i, version, bytesIn); + this.putAllData[i] = new PutAllEntryData(in, context, eventId, i, version, bytesIn); } boolean hasTags = in.readBoolean(); @@ -1224,7 +1226,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { } if ((flags & HAS_BRIDGE_CONTEXT) != 0) { - this.context = DataSerializer.readObject(in); + this.context = context.getDeserializer().readObject(in); } this.skipCallbacks = (flags & SKIP_CALLBACKS) != 0; } @@ -1233,7 +1235,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(this.eventId, out); + context.getSerializer().writeObject(this.eventId, out); InternalDataSerializer.writeUnsignedVL(this.putAllDataSize, out); if (this.putAllDataSize > 0) { EntryVersionsList versionTags = new EntryVersionsList(putAllDataSize); @@ -1246,7 +1248,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { VersionTag<?> tag = putAllData[i].versionTag; versionTags.add(tag); putAllData[i].versionTag = null; - this.putAllData[i].toData(out); + this.putAllData[i].toData(out, context); this.putAllData[i].versionTag = tag; } @@ -1256,7 +1258,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation { } } if (this.context != null) { - DataSerializer.writeObject(this.context, out); + context.getSerializer().writeObject(this.context, out); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java index 06d352d..587c3c7 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java @@ -318,13 +318,14 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { * Constructor to use when receiving a putall from someone else */ public RemoveAllEntryData(DataInput in, EventID baseEventID, int idx, Version version, - ByteArrayDataInput bytesIn) throws IOException, ClassNotFoundException { - this.key = DataSerializer.readObject(in); + ByteArrayDataInput bytesIn, + DeserializationContext context) throws IOException, ClassNotFoundException { + this.key = context.getDeserializer().readObject(in); this.oldValue = null; this.op = Operation.fromOrdinal(in.readByte()); this.flags = in.readByte(); if ((this.flags & FILTER_ROUTING) != 0) { - this.filterRouting = (FilterRoutingInfo) DataSerializer.readObject(in); + this.filterRouting = (FilterRoutingInfo) context.getDeserializer().readObject(in); } if ((this.flags & VERSION_TAG) != 0) { boolean persistentTag = (this.flags & PERSISTENT_TAG) != 0; @@ -375,9 +376,10 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { * {@link DataSerializableFixedID#toData(DataOutput, SerializationContext)} <br> * {@link DataSerializableFixedID#toData(DataOutput, SerializationContext)} <br> */ - public void toData(final DataOutput out) throws IOException { + public void toData(final DataOutput out, + SerializationContext context) throws IOException { Object key = this.key; - DataSerializer.writeObject(key, out); + context.getSerializer().writeObject(key, out); out.writeByte(this.op.ordinal); byte bits = this.flags; @@ -396,7 +398,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { out.writeByte(bits); if (this.filterRouting != null) { - DataSerializer.writeObject(this.filterRouting, out); + context.getSerializer().writeObject(this.filterRouting, out); } if (this.versionTag != null) { InternalDataSerializer.invokeToData(this.versionTag, out); @@ -984,14 +986,14 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); - this.eventId = (EventID) DataSerializer.readObject(in); + this.eventId = (EventID) context.getDeserializer().readObject(in); this.removeAllDataSize = (int) InternalDataSerializer.readUnsignedVL(in); this.removeAllData = new RemoveAllEntryData[this.removeAllDataSize]; if (this.removeAllDataSize > 0) { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.removeAllDataSize; i++) { - this.removeAllData[i] = new RemoveAllEntryData(in, eventId, i, version, bytesIn); + this.removeAllData[i] = new RemoveAllEntryData(in, eventId, i, version, bytesIn, context); } boolean hasTags = in.readBoolean(); @@ -1004,7 +1006,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { } if ((flags & HAS_BRIDGE_CONTEXT) != 0) { - this.context = DataSerializer.readObject(in); + this.context = context.getDeserializer().readObject(in); } this.skipCallbacks = (flags & SKIP_CALLBACKS) != 0; } @@ -1014,7 +1016,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(this.eventId, out); + context.getSerializer().writeObject(this.eventId, out); InternalDataSerializer.writeUnsignedVL(this.removeAllDataSize, out); if (this.removeAllDataSize > 0) { EntryVersionsList versionTags = new EntryVersionsList(removeAllDataSize); @@ -1027,7 +1029,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { VersionTag<?> tag = removeAllData[i].versionTag; versionTags.add(tag); removeAllData[i].versionTag = null; - this.removeAllData[i].toData(out); + this.removeAllData[i].toData(out, context); this.removeAllData[i].versionTag = tag; } @@ -1037,7 +1039,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation { } } if (this.context != null) { - DataSerializer.writeObject(this.context, out); + context.getSerializer().writeObject(this.context, out); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java index 3bc56d8..4b76785 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java @@ -196,14 +196,14 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.eventID = (EventID) DataSerializer.readObject(in); - Object key = DataSerializer.readObject(in); - Object value = DataSerializer.readObject(in); + this.eventID = (EventID) context.getDeserializer().readObject(in); + Object key = context.getDeserializer().readObject(in); + Object value = context.getDeserializer().readObject(in); this.keyInfo = new KeyInfo(key, value, null); this.op = Operation.fromOrdinal(in.readByte()); this.eventFlags = in.readShort(); - this.keyInfo.setCallbackArg(DataSerializer.readObject(in)); - this.txId = (TXId) DataSerializer.readObject(in); + this.keyInfo.setCallbackArg(context.getDeserializer().readObject(in)); + this.txId = (TXId) context.getDeserializer().readObject(in); if (in.readBoolean()) { // isDelta assert false : "isDelta should never be true"; @@ -217,7 +217,7 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, } else { this.newValueBytes = null; this.cachedSerializedNewValue = null; - this.newValue = DataSerializer.readObject(in); + this.newValue = context.getDeserializer().readObject(in); } } @@ -228,7 +228,7 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, this.oldValue = null; // set later in basicGetOldValue } else { this.oldValueBytes = null; - this.oldValue = DataSerializer.readObject(in); + this.oldValue = context.getDeserializer().readObject(in); } this.distributedMember = DSFIDFactory.readInternalDistributedMember(in); this.context = ClientProxyMembershipID.readCanonicalized(in); @@ -2233,13 +2233,13 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.eventID, out); - DataSerializer.writeObject(this.getKey(), out); - DataSerializer.writeObject(this.keyInfo.getValue(), out); + context.getSerializer().writeObject(this.eventID, out); + context.getSerializer().writeObject(this.getKey(), out); + context.getSerializer().writeObject(this.keyInfo.getValue(), out); out.writeByte(this.op.ordinal); out.writeShort(this.eventFlags & EventFlags.FLAG_TRANSIENT_MASK); - DataSerializer.writeObject(this.getRawCallbackArgument(), out); - DataSerializer.writeObject(this.txId, out); + context.getSerializer().writeObject(this.getRawCallbackArgument(), out); + context.getSerializer().writeObject(this.txId, out); { out.writeBoolean(false); @@ -2260,7 +2260,7 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, DataSerializer.writeObjectAsByteArray(cd.getValue(), out); } } else { - DataSerializer.writeObject(nv, out); + context.getSerializer().writeObject(nv, out); } } } @@ -2281,11 +2281,11 @@ public class EntryEventImpl implements InternalEntryEvent, InternalCacheEvent, } } else { ov = AbstractRegion.handleNotAvailable(ov); - DataSerializer.writeObject(ov, out); + context.getSerializer().writeObject(ov, out); } } InternalDataSerializer.invokeToData((InternalDistributedMember) this.distributedMember, out); - DataSerializer.writeObject(getContext(), out); + context.getSerializer().writeObject(getContext(), out); DataSerializer.writeLong(tailKey, out); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java index 86f82b0..4e83491 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java @@ -2008,7 +2008,7 @@ public class FilterProfile implements DataSerializableFixedID { } else { // For interest list. out.writeLong(this.clientID); - DataSerializer.writeObject(this.interest, out); + context.getSerializer().writeObject(this.interest, out); } } @@ -2028,7 +2028,7 @@ public class FilterProfile implements DataSerializableFixedID { } } else { this.clientID = in.readLong(); - this.interest = DataSerializer.readObject(in); + this.interest = context.getDeserializer().readObject(in); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java index efd03b7..f0035cc 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java @@ -2132,10 +2132,10 @@ public class InitialImageOperation { this.keysOnly = in.readBoolean(); this.targetReinitialized = in.readBoolean(); this.checkTombstoneVersions = in.readBoolean(); - this.lostMemberVersionID = (VersionSource) DataSerializer.readObject(in); - this.versionVector = (RegionVersionVector) DataSerializer.readObject(in); - this.lostMemberID = (InternalDistributedMember) DataSerializer.readObject(in); - this.unfinishedKeys = (Set) DataSerializer.readObject(in); + this.lostMemberVersionID = (VersionSource) context.getDeserializer().readObject(in); + this.versionVector = (RegionVersionVector) context.getDeserializer().readObject(in); + this.lostMemberID = (InternalDistributedMember) context.getDeserializer().readObject(in); + this.unfinishedKeys = (Set) context.getDeserializer().readObject(in); } @Override @@ -2147,10 +2147,10 @@ public class InitialImageOperation { out.writeBoolean(this.keysOnly); out.writeBoolean(this.targetReinitialized); out.writeBoolean(this.checkTombstoneVersions); - DataSerializer.writeObject(this.lostMemberVersionID, out); - DataSerializer.writeObject(this.versionVector, out); - DataSerializer.writeObject(this.lostMemberID, out); - DataSerializer.writeObject(this.unfinishedKeys, out); + context.getSerializer().writeObject(this.lostMemberVersionID, out); + context.getSerializer().writeObject(this.versionVector, out); + context.getSerializer().writeObject(this.lostMemberID, out); + context.getSerializer().writeObject(this.unfinishedKeys, out); } @Override @@ -2904,7 +2904,7 @@ public class InitialImageOperation { gcVersions = new HashMap<VersionSource, Long>(gcVersionsLength); } for (int i = 0; i < gcVersionsLength; i++) { - VersionSource key = InternalDataSerializer.readObject(in); + VersionSource key = context.getDeserializer().readObject(in); long value = InternalDataSerializer.readUnsignedVL(in); gcVersions.put(key, value); } @@ -2934,7 +2934,7 @@ public class InitialImageOperation { out.writeShort(gcVersions == null ? -1 : gcVersions.size()); if (gcVersions != null) { for (Map.Entry<VersionSource, Long> entry : gcVersions.entrySet()) { - InternalDataSerializer.writeObject(entry.getKey(), out); + context.getSerializer().writeObject(entry.getKey(), out); InternalDataSerializer.writeUnsignedVL(entry.getValue(), out); } } @@ -3084,7 +3084,7 @@ public class InitialImageOperation { byte flags = (this.versionTag != null) ? HAS_VERSION : 0; flags |= (this.versionTag instanceof DiskVersionTag) ? PERSISTENT_VERSION : 0; out.writeByte(flags); - DataSerializer.writeObject(this.key, out); + context.getSerializer().writeObject(this.key, out); if (!EntryBits.isTombstone(this.entryBits)) { DataSerializer.writeObjectAsByteArray(this.value, out); } @@ -3102,7 +3102,7 @@ public class InitialImageOperation { DeserializationContext context) throws IOException, ClassNotFoundException { this.entryBits = in.readByte(); byte flags = in.readByte(); - this.key = DataSerializer.readObject(in); + this.key = context.getDeserializer().readObject(in); if (EntryBits.isTombstone(this.entryBits)) { this.value = Token.TOMBSTONE; @@ -3323,7 +3323,7 @@ public class InitialImageOperation { if (hasEntries) { InternalDataSerializer.writeUnsignedVL(super.size(), out); for (int i = 0; i < super.size(); i++) { - DataSerializer.writeObject(super.get(i), out); + context.getSerializer().writeObject(super.get(i), out); } } if (hasTags) { @@ -3380,7 +3380,7 @@ public class InitialImageOperation { logger.trace(LogMarker.INITIAL_IMAGE_VERSIONED_VERBOSE, "reading {} keys", size); } for (int i = 0; i < size; i++) { - super.add((Entry) DataSerializer.readObject(in)); + super.add((Entry) context.getDeserializer().readObject(in)); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java index ba147c2..53035e3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InvalidatePartitionedRegionMessage.java @@ -19,7 +19,6 @@ import java.io.DataOutput; import java.io.IOException; import java.util.Set; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.CacheException; import org.apache.geode.cache.Operation; import org.apache.geode.cache.query.QueryException; @@ -109,7 +108,7 @@ public class InvalidatePartitionedRegionMessage extends PartitionMessage { public void toDataPre_GEODE_1_9_0_0(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(this.callbackArg, out); + context.getSerializer().writeObject(this.callbackArg, out); } /* diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java index a015c43..402b7f2 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RegionEventImpl.java @@ -207,7 +207,7 @@ public class RegionEventImpl public void toData(DataOutput out, SerializationContext context) throws IOException { DataSerializer.writeString(this.regionPath, out); - DataSerializer.writeObject(this.callbackArgument, out); + context.getSerializer().writeObject(this.callbackArgument, out); out.writeByte(this.op.ordinal); out.writeBoolean(this.originRemote); InternalDataSerializer.invokeToData(((InternalDistributedMember) this.distributedMember), out); @@ -220,7 +220,7 @@ public class RegionEventImpl public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { this.regionPath = DataSerializer.readString(in); - this.callbackArgument = DataSerializer.readObject(in); + this.callbackArgument = context.getDeserializer().readObject(in); this.op = Operation.fromOrdinal(in.readByte()); this.originRemote = in.readBoolean(); this.distributedMember = DSFIDFactory.readInternalDistributedMember(in); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java index 5057e88..42c0002 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java @@ -919,7 +919,7 @@ public class TXCommitMessage extends PooledDistributionMessage if (regionsSize > 0) { for (int i = 0; i < this.regions.size(); i++) { RegionCommit rc = (RegionCommit) this.regions.get(i); - rc.toData(out, useShadowKey); + rc.toData(out, context, useShadowKey); } } } @@ -1456,7 +1456,9 @@ public class TXCommitMessage extends PooledDistributionMessage return result.toString(); } - private void basicToData(DataOutput out, boolean useShadowKey) throws IOException { + private void basicToData(DataOutput out, + SerializationContext context, + boolean useShadowKey) throws IOException { if (this.internalRegion != null) { DataSerializer.writeString(this.internalRegion.getFullPath(), out); if (this.internalRegion instanceof BucketRegion) { @@ -1501,7 +1503,7 @@ public class TXCommitMessage extends PooledDistributionMessage DataSerializer.writeObject(this.opKeys.get(i), out); if (this.msg.txState != null) { /* we are still on tx node and have the entry state */ - ((TXEntryState) this.opEntries.get(i)).toFarSideData(out, largeModCount, + ((TXEntryState) this.opEntries.get(i)).toFarSideData(out, context, largeModCount, sendVersionTags, useShadowKey); } else { ((FarSideEntryOp) this.opEntries.get(i)).toData(out, largeModCount, sendVersionTags, @@ -1512,18 +1514,19 @@ public class TXCommitMessage extends PooledDistributionMessage } - public void toData(DataOutput out, boolean useShadowKey) throws IOException { + public void toData(DataOutput out, SerializationContext context, boolean useShadowKey) + throws IOException { if (this.preserializedBuffer != null) { this.preserializedBuffer.rewind(); this.preserializedBuffer.sendTo(out); } else if (this.refCount > 1) { Version v = InternalDataSerializer.getVersionForDataStream(out); HeapDataOutputStream hdos = new HeapDataOutputStream(1024, v); - basicToData(hdos, useShadowKey); + basicToData(hdos, context, useShadowKey); this.preserializedBuffer = hdos; this.preserializedBuffer.sendTo(out); } else { - basicToData(out, useShadowKey); + basicToData(out, context, useShadowKey); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java index 8ed8e00..f98b730 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java @@ -1872,6 +1872,7 @@ public class TXEntryState implements Releasable { * <p> * The fromData for this is TXCommitMessage$RegionCommit$FarSideEntryOp#fromData. * + * * @param largeModCount true if modCount needs to be represented by an int; false if a byte is * enough * @param sendVersionTag true if versionTag should be sent to clients 7.0 and above @@ -1879,7 +1880,9 @@ public class TXEntryState implements Releasable { * * @since GemFire 5.0 */ - void toFarSideData(DataOutput out, boolean largeModCount, boolean sendVersionTag, + void toFarSideData(DataOutput out, + SerializationContext context, + boolean largeModCount, boolean sendVersionTag, boolean sendShadowKey) throws IOException { Operation operation = getFarSideOperation(); out.writeByte(operation.ordinal); @@ -1888,10 +1891,10 @@ public class TXEntryState implements Releasable { } else { out.writeByte(this.modSerialNum); } - DataSerializer.writeObject(getCallbackArgument(), out); - DataSerializer.writeObject(getFilterRoutingInfo(), out); + context.getSerializer().writeObject(getCallbackArgument(), out); + context.getSerializer().writeObject(getFilterRoutingInfo(), out); if (sendVersionTag) { - DataSerializer.writeObject(getVersionTag(), out); + context.getSerializer().writeObject(getVersionTag(), out); assert getVersionTag() != null || !txRegionState.getRegion().getConcurrencyChecksEnabled() || txRegionState.getRegion().getDataPolicy() != DataPolicy.REPLICATE : "tag:" + getVersionTag() + " r:" + txRegionState.getRegion() + " op:" + opToString() @@ -1909,7 +1912,7 @@ public class TXEntryState implements Releasable { out.writeBoolean(isTokenOrByteArray); if (isTokenOrByteArray) { // this is a token or byte[] only - DataSerializer.writeObject(getPendingValue(), out); + context.getSerializer().writeObject(getPendingValue(), out); } else { // this is a CachedDeserializable, Object and PDX DataSerializer.writeByteArray(getSerializedPendingValue(), out); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java index 157ca82..85121bc 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/locks/TXLockIdImpl.java @@ -18,7 +18,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.annotations.internal.MakeNotStatic; import org.apache.geode.distributed.internal.locks.LockGrantorId; import org.apache.geode.distributed.internal.membership.InternalDistributedMember; @@ -136,14 +135,14 @@ public class TXLockIdImpl implements TXLockId, DataSerializableFixedID { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.memberId = (InternalDistributedMember) DataSerializer.readObject(in); + this.memberId = (InternalDistributedMember) context.getDeserializer().readObject(in); this.id = in.readInt(); } @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.memberId, out); + context.getSerializer().writeObject(this.memberId, out); out.writeInt(this.id); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/FetchEntryMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/FetchEntryMessage.java index 100f733..ce15c7f 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/FetchEntryMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/FetchEntryMessage.java @@ -185,8 +185,9 @@ public class FetchEntryMessage extends PartitionMessage { } @Override - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setBooleans(s, in, context); this.access = ((s & HAS_ACCESS) != 0); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java index d707688..465540b 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java @@ -263,8 +263,9 @@ public class GetMessage extends PartitionMessageWithDirectReply { } @Override - protected void setBooleans(short s, DataInput in) throws ClassNotFoundException, IOException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws ClassNotFoundException, IOException { + super.setBooleans(s, in, context); } public void setKey(Object key) { diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java index 1345792..dbd6339 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRUpdateEntryVersionMessage.java @@ -24,7 +24,6 @@ import java.util.Set; import org.apache.logging.log4j.Logger; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.CacheException; import org.apache.geode.cache.EntryNotFoundException; import org.apache.geode.cache.Operation; @@ -172,20 +171,20 @@ public class PRUpdateEntryVersionMessage extends PartitionMessageWithDirectReply public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); - this.key = DataSerializer.readObject(in); + this.key = context.getDeserializer().readObject(in); this.op = Operation.fromOrdinal(in.readByte()); - this.eventId = (EventID) DataSerializer.readObject(in); - this.versionTag = DataSerializer.readObject(in); + this.eventId = (EventID) context.getDeserializer().readObject(in); + this.versionTag = context.getDeserializer().readObject(in); } @Override public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(getKey(), out); + context.getSerializer().writeObject(getKey(), out); out.writeByte(this.op.ordinal); - DataSerializer.writeObject(this.eventId, out); - DataSerializer.writeObject(this.versionTag, out); + context.getSerializer().writeObject(this.eventId, out); + context.getSerializer().writeObject(this.versionTag, out); } /** diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java index 3a8953e..d3d7a4c 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java @@ -23,7 +23,6 @@ import java.util.Set; import org.apache.logging.log4j.Logger; import org.apache.geode.CancelException; -import org.apache.geode.DataSerializer; import org.apache.geode.InternalGemFireError; import org.apache.geode.SystemFailure; import org.apache.geode.annotations.Immutable; @@ -538,7 +537,7 @@ public abstract class PartitionMessage extends DistributionMessage DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); this.flags = in.readShort(); - setBooleans(this.flags, in); + setBooleans(this.flags, in, context); this.regionId = in.readInt(); // extra field post 9.0 if (InternalDataSerializer.getVersionForDataStream(in).compareTo(Version.GFE_90) >= 0) { @@ -550,7 +549,8 @@ public abstract class PartitionMessage extends DistributionMessage * Re-construct the booleans using the compressed short. A subclass must override this method if * it is using bits in the compressed short. */ - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { if ((s & HAS_PROCESSOR_ID) != 0) { this.processorId = in.readInt(); ReplyProcessor21.setMessageRPId(this.processorId); @@ -560,7 +560,7 @@ public abstract class PartitionMessage extends DistributionMessage if ((s & HAS_TX_ID) != 0) this.txUniqId = in.readInt(); if ((s & HAS_TX_MEMBERID) != 0) { - this.txMemberId = (InternalDistributedMember) DataSerializer.readObject(in); + this.txMemberId = context.getDeserializer().readObject(in); } } @@ -581,7 +581,7 @@ public abstract class PartitionMessage extends DistributionMessage if (this.txUniqId != TXManagerImpl.NOTX) out.writeInt(this.txUniqId); if (this.txMemberId != null) - DataSerializer.writeObject(this.txMemberId, out); + context.getSerializer().writeObject(this.txMemberId, out); out.writeInt(this.regionId); // extra field post 9.0 if (InternalDataSerializer.getVersionForDataStream(out).compareTo(Version.GFE_90) >= 0) { diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessageWithDirectReply.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessageWithDirectReply.java index 197ef11..41a157b 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessageWithDirectReply.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessageWithDirectReply.java @@ -27,6 +27,7 @@ import org.apache.geode.internal.cache.DirectReplyMessage; import org.apache.geode.internal.cache.EntryEventImpl; import org.apache.geode.internal.cache.FilterRoutingInfo; import org.apache.geode.internal.cache.PartitionedRegion; +import org.apache.geode.internal.serialization.DeserializationContext; /** * Used for partitioned region messages which support direct ack responses. Direct ack should be @@ -115,8 +116,9 @@ public abstract class PartitionMessageWithDirectReply extends PartitionMessage } @Override - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setBooleans(s, in, context); if ((s & POS_DUP) != 0) { this.posDup = true; } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java index 0979db2..2760242 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutAllPRMessage.java @@ -232,7 +232,7 @@ public class PutAllPRMessage extends PartitionMessageWithDirectReply { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.putAllPRDataSize; i++) { - this.putAllPRData[i] = new PutAllEntryData(in, null, i, version, bytesIn); + this.putAllPRData[i] = new PutAllEntryData(in, context, null, i, version, bytesIn); } boolean hasTags = in.readBoolean(); @@ -274,7 +274,7 @@ public class PutAllPRMessage extends PartitionMessageWithDirectReply { VersionTag<?> tag = putAllPRData[i].versionTag; versionTags.add(tag); putAllPRData[i].versionTag = null; - putAllPRData[i].toData(out); + putAllPRData[i].toData(out, context); putAllPRData[i].versionTag = tag; // PutAllEntryData's toData did not serialize eventID to save // performance for DR, but in PR, @@ -299,8 +299,9 @@ public class PutAllPRMessage extends PartitionMessageWithDirectReply { } @Override - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setBooleans(s, in, context); this.skipCallbacks = ((s & SKIP_CALLBACKS) != 0); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java index 52354e5..054a049 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PutMessage.java @@ -630,8 +630,9 @@ public class PutMessage extends PartitionMessageWithDirectReply implements NewVa } @Override - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setBooleans(s, in, context); this.ifNew = ((s & IF_NEW) != 0); this.ifOld = ((s & IF_OLD) != 0); this.requireOldValue = ((s & REQUIRED_OLD_VAL) != 0); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java index e88c360..8f1a534 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/RemoveAllPRMessage.java @@ -227,7 +227,7 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.removeAllPRDataSize; i++) { - this.removeAllPRData[i] = new RemoveAllEntryData(in, null, i, version, bytesIn); + this.removeAllPRData[i] = new RemoveAllEntryData(in, null, i, version, bytesIn, context); } boolean hasTags = in.readBoolean(); @@ -268,7 +268,7 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply { VersionTag<?> tag = removeAllPRData[i].versionTag; versionTags.add(tag); removeAllPRData[i].versionTag = null; - removeAllPRData[i].toData(out); + removeAllPRData[i].toData(out, context); removeAllPRData[i].versionTag = tag; // RemoveAllEntryData's toData did not serialize eventID to save // performance for DR, but in PR, @@ -293,8 +293,9 @@ public class RemoveAllPRMessage extends PartitionMessageWithDirectReply { } @Override - protected void setBooleans(short s, DataInput in) throws IOException, ClassNotFoundException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setBooleans(s, in, context); this.skipCallbacks = ((s & SKIP_CALLBACKS) != 0); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizeMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizeMessage.java index 51f2e69..28b11f8 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizeMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizeMessage.java @@ -122,8 +122,9 @@ public class SizeMessage extends PartitionMessage { } @Override - protected void setBooleans(short s, DataInput in) throws ClassNotFoundException, IOException { - super.setBooleans(s, in); + protected void setBooleans(short s, DataInput in, + DeserializationContext context) throws ClassNotFoundException, IOException { + super.setBooleans(s, in, context); this.estimate = ((s & ESTIMATE) != 0); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java index 06f2515..5a26be3 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/SnapshotPacket.java @@ -248,7 +248,7 @@ public class SnapshotPacket implements DataSerializableFixedID { SerializationContext context) throws IOException { out.writeInt(windowId); InternalDataSerializer.writeString(packetId, out); - InternalDataSerializer.writeObject(sender, out); + context.getSerializer().writeObject(sender, out); InternalDataSerializer.writeArrayLength(records.length, out); for (SnapshotRecord rec : records) { @@ -261,7 +261,7 @@ public class SnapshotPacket implements DataSerializableFixedID { DeserializationContext context) throws IOException, ClassNotFoundException { windowId = in.readInt(); packetId = InternalDataSerializer.readString(in); - sender = InternalDataSerializer.readObject(in); + sender = context.getDeserializer().readObject(in); int count = InternalDataSerializer.readArrayLength(in); records = new SnapshotRecord[count]; diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java index 7a44215..8742af5 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientDataSerializerMessage.java @@ -171,8 +171,8 @@ public class ClientDataSerializerMessage extends ClientUpdateMessageImpl { for (int i = 0; i < dataSerializerCount; i++) { DataSerializer.writeByteArray(this.serializedDataSerializer[i], out); } - DataSerializer.writeObject(_membershipId, out); - DataSerializer.writeObject(_eventIdentifier, out); + context.getSerializer().writeObject(_membershipId, out); + context.getSerializer().writeObject(_eventIdentifier, out); } /** @@ -193,7 +193,7 @@ public class ClientDataSerializerMessage extends ClientUpdateMessageImpl { this.serializedDataSerializer[i] = DataSerializer.readByteArray(in); } _membershipId = ClientProxyMembershipID.readCanonicalized(in); - _eventIdentifier = (EventID) DataSerializer.readObject(in); + _eventIdentifier = (EventID) context.getDeserializer().readObject(in); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInstantiatorMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInstantiatorMessage.java index 6d6bb87..2d88cb5 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInstantiatorMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInstantiatorMessage.java @@ -156,8 +156,8 @@ public class ClientInstantiatorMessage extends ClientUpdateMessageImpl { for (int i = 0; i < instantiatorCount; i++) { DataSerializer.writeByteArray(this.serializedInstantiators[i], out); } - DataSerializer.writeObject(_membershipId, out); - DataSerializer.writeObject(_eventIdentifier, out); + context.getSerializer().writeObject(_membershipId, out); + context.getSerializer().writeObject(_eventIdentifier, out); } /** @@ -178,7 +178,7 @@ public class ClientInstantiatorMessage extends ClientUpdateMessageImpl { this.serializedInstantiators[i] = DataSerializer.readByteArray(in); } _membershipId = ClientProxyMembershipID.readCanonicalized(in); - _eventIdentifier = (EventID) DataSerializer.readObject(in); + _eventIdentifier = (EventID) context.getDeserializer().readObject(in); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java index 573c9ba..a482745 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientInterestMessageImpl.java @@ -211,9 +211,9 @@ public class ClientInterestMessageImpl implements ClientMessage { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.eventId, out); + context.getSerializer().writeObject(this.eventId, out); DataSerializer.writeString(this.regionName, out); - DataSerializer.writeObject(this.keyOfInterest, out); + context.getSerializer().writeObject(this.keyOfInterest, out); DataSerializer.writePrimitiveBoolean(this.isDurable, out); DataSerializer.writePrimitiveBoolean(this.forUpdatesAsInvalidates, out); DataSerializer.writePrimitiveInt(this.interestType, out); @@ -224,9 +224,9 @@ public class ClientInterestMessageImpl implements ClientMessage { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.eventId = (EventID) DataSerializer.readObject(in); + this.eventId = (EventID) context.getDeserializer().readObject(in); this.regionName = DataSerializer.readString(in); - this.keyOfInterest = DataSerializer.readObject(in); + this.keyOfInterest = context.getDeserializer().readObject(in); this.isDurable = DataSerializer.readPrimitiveBoolean(in); this.forUpdatesAsInvalidates = DataSerializer.readPrimitiveBoolean(in); this.interestType = DataSerializer.readPrimitiveInt(in); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java index c0b53ee..d3e55f5 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java @@ -281,10 +281,10 @@ public class HAEventWrapper implements Conflatable, DataSerializableFixedID, Siz // by sending false boolean value. if (cum != null) { DataSerializer.writePrimitiveBoolean(true, out); - DataSerializer.writeObject(cum.getEventId(), out); + context.getSerializer().writeObject(cum.getEventId(), out); } else { DataSerializer.writePrimitiveBoolean(false, out); - DataSerializer.writeObject(new EventID(), out); + context.getSerializer().writeObject(new EventID(), out); // Create a dummy ClientUpdateMessageImpl instance cum = new ClientUpdateMessageImpl(EnumListenerEvent.AFTER_CREATE, new ClientProxyMembershipID(), null); @@ -306,7 +306,7 @@ public class HAEventWrapper implements Conflatable, DataSerializableFixedID, Siz DeserializationContext context) throws IOException, ClassNotFoundException { if (DataSerializer.readPrimitiveBoolean(in)) { // Indicates that we have a ClientUpdateMessage along with the HAEW instance in inputstream. - this.eventIdentifier = (EventID) DataSerializer.readObject(in); + this.eventIdentifier = (EventID) context.getDeserializer().readObject(in); this.clientUpdateMessage = new ClientUpdateMessageImpl(); InternalDataSerializer.invokeFromData(this.clientUpdateMessage, in); ((ClientUpdateMessageImpl) this.clientUpdateMessage).setEventIdentifier(this.eventIdentifier); @@ -363,7 +363,7 @@ public class HAEventWrapper implements Conflatable, DataSerializableFixedID, Siz rcUpdater.set(this, 0); } else { // Read and ignore dummy eventIdentifier instance. - DataSerializer.readObject(in); + context.getDeserializer().readObject(in); // Read and ignore dummy ClientUpdateMessageImpl instance. InternalDataSerializer.invokeFromData(new ClientUpdateMessageImpl(), in); // hasCq will be false here, so client CQs are not read from this input diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java index 9154d67..6b2b165 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList.java @@ -195,7 +195,7 @@ public class ObjectPartList implements DataSerializableFixedID, Releasable { Object value = this.objects.get(index); byte objectType = this.objectTypeArray[index]; if (this.hasKeys) { - DataSerializer.writeObject(this.keys.get(index), out); + context.getSerializer().writeObject(this.keys.get(index), out); } out.writeBoolean(objectType == EXCEPTION); if (objectType == OBJECT && value instanceof byte[]) { @@ -206,7 +206,7 @@ public class ObjectPartList implements DataSerializableFixedID, Releasable { // write the exception string for native clients DataSerializer.writeString(value.toString(), out); } else { - DataSerializer.writeObject(value, out); + context.getSerializer().writeObject(value, out); } } } else { @@ -225,7 +225,7 @@ public class ObjectPartList implements DataSerializableFixedID, Releasable { if (numObjects > 0) { for (int index = 0; index < numObjects; ++index) { if (this.hasKeys) { - Object key = DataSerializer.readObject(in); + Object key = context.getDeserializer().readObject(in); this.keys.add(key); } boolean isException = in.readBoolean(); @@ -236,7 +236,7 @@ public class ObjectPartList implements DataSerializableFixedID, Releasable { // ignore the exception string meant for native clients DataSerializer.readString(in); } else { - value = DataSerializer.readObject(in); + value = context.getDeserializer().readObject(in); } this.objects.add(value); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java index 634ee4e..c9b27cc 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ObjectPartList651.java @@ -88,7 +88,7 @@ public class ObjectPartList651 extends ObjectPartList { Object value = this.objects.get(index); byte objectType = this.objectTypeArray[index]; if (this.hasKeys) { - DataSerializer.writeObject(this.keys.get(index), out); + context.getSerializer().writeObject(this.keys.get(index), out); } if ((objectType == KEY_NOT_AT_SERVER)) { out.writeByte(KEY_NOT_AT_SERVER); @@ -106,7 +106,7 @@ public class ObjectPartList651 extends ObjectPartList { // write the exception string for native clients DataSerializer.writeString(value.toString(), out); } else { - DataSerializer.writeObject(value, out); + context.getSerializer().writeObject(value, out); } } } else { @@ -127,7 +127,7 @@ public class ObjectPartList651 extends ObjectPartList { if (numObjects > 0) { for (int index = 0; index < numObjects; ++index) { if (keysPresent) { - Object key = DataSerializer.readObject(in); + Object key = context.getDeserializer().readObject(in); this.keys.add(key); } byte objectType = in.readByte(); @@ -139,7 +139,7 @@ public class ObjectPartList651 extends ObjectPartList { // ignore the exception string meant for native clients DataSerializer.readString(in); } else { - value = DataSerializer.readObject(in); + value = context.getDeserializer().readObject(in); } this.objects.add(value); } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java index f146c5f..3f5d1cd 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SerializedObjectPartList.java @@ -52,7 +52,7 @@ public class SerializedObjectPartList extends ObjectPartList651 { Object value = this.objects.get(index); byte objectType = this.objectTypeArray[index]; if (this.hasKeys) { - DataSerializer.writeObject(this.keys.get(index), out); + context.getSerializer().writeObject(this.keys.get(index), out); } if ((objectType == KEY_NOT_AT_SERVER)) { out.writeByte(KEY_NOT_AT_SERVER); @@ -93,7 +93,7 @@ public class SerializedObjectPartList extends ObjectPartList651 { if (numObjects > 0) { for (int index = 0; index < numObjects; ++index) { if (keysPresent) { - Object key = DataSerializer.readObject(in); + Object key = context.getDeserializer().readObject(in); this.keys.add(key); } byte objectType = in.readByte(); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java index b5acf2f..f126a4c 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/VersionedObjectList.java @@ -342,10 +342,11 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - toData(out, 0, this.regionIsVersioned ? this.versionTags.size() : size(), true, true); + toData(out, context, 0, this.regionIsVersioned ? this.versionTags.size() : size(), true, true); } - void toData(DataOutput out, int startIndex, int numEntries, boolean sendKeys, boolean sendObjects) + void toData(DataOutput out, SerializationContext context, + int startIndex, int numEntries, boolean sendKeys, boolean sendObjects) throws IOException { int flags = 0; boolean hasObjects = false; @@ -389,7 +390,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl InternalDataSerializer.writeUnsignedVL(numToWrite, out); int index = startIndex; for (int i = 0; i < numToWrite; i++, index++) { - DataSerializer.writeObject(this.keys.get(index), out); + context.getSerializer().writeObject(this.keys.get(index), out); } } if (sendObjects && hasObjects) { @@ -401,7 +402,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl int idx = 0; int index = startIndex; for (int i = 0; i < numToWrite; i++, index++) { - writeObject(this.objects.get(index), idx++, out); + writeObject(this.objects.get(index), idx++, out, context); } } if (hasTags) { @@ -464,7 +465,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl logger.trace(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE, "reading {} keys", size); } for (int i = 0; i < size; i++) { - this.keys.add(DataSerializer.readObject(in)); + this.keys.add(context.getDeserializer().readObject(in)); } } if (hasObjects) { @@ -475,7 +476,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl this.objects = new ArrayList(size); this.objectTypeArray = new byte[size]; for (int i = 0; i < size; i++) { - readObject(i, in); + readObject(i, in, context); } } else { this.objects = new ArrayList(); @@ -514,7 +515,8 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl } } - private void writeObject(Object value, int index, DataOutput out) throws IOException { + private void writeObject(Object value, int index, DataOutput out, + SerializationContext context) throws IOException { byte objectType = this.objectTypeArray[index]; if (logger.isTraceEnabled(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE)) { logger.trace(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE, "writing object {} of type {}: {}", @@ -536,13 +538,14 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl if (this.serializeValues) { DataSerializer.writeObjectAsByteArray(value, out); } else { - DataSerializer.writeObject(value, out); + context.getSerializer().writeObject(value, out); } } } - private void readObject(int index, DataInput in) throws IOException, ClassNotFoundException { + private void readObject(int index, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { Object value; this.objectTypeArray[index] = in.readByte(); if (logger.isTraceEnabled(LogMarker.VERSIONED_OBJECT_LIST_VERBOSE)) { @@ -558,7 +561,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl } else if (this.serializeValues) { value = DataSerializer.readByteArray(in); } else { - value = DataSerializer.readObject(in); + value = context.getDeserializer().readObject(in); } this.objects.add(value); } @@ -749,7 +752,7 @@ public class VersionedObjectList extends ObjectPartList implements Externalizabl SerializationContext context) throws IOException { int startIndex = index; this.index += this.chunkSize; - this.list.toData(out, startIndex, chunkSize, sendKeys, sendObjects); + this.list.toData(out, context, startIndex, chunkSize, sendKeys, sendObjects); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java index ac189ed..db90755 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistTxEntryEvent.java @@ -91,11 +91,11 @@ public class DistTxEntryEvent extends EntryEventImpl { // handle putAll if (this.putAllOp != null) { - putAllToData(out); + putAllToData(out, context); } // handle removeAll if (this.removeAllOp != null) { - removeAllToData(out); + removeAllToData(out, context); } } @@ -117,15 +117,16 @@ public class DistTxEntryEvent extends EntryEventImpl { byte flags = DataSerializer.readByte(in); if ((flags & HAS_PUTALL_OP) != 0) { - putAllFromData(in); + putAllFromData(in, context); } if ((flags & HAS_REMOVEALL_OP) != 0) { - removeAllFromData(in); + removeAllFromData(in, context); } } - private void putAllToData(DataOutput out) throws IOException { + private void putAllToData(DataOutput out, + SerializationContext context) throws IOException { DataSerializer.writeInteger(this.putAllOp.putAllDataSize, out); EntryVersionsList versionTags = new EntryVersionsList(this.putAllOp.putAllDataSize); boolean hasTags = false; @@ -137,7 +138,7 @@ public class DistTxEntryEvent extends EntryEventImpl { VersionTag<?> tag = putAllData[i].versionTag; versionTags.add(tag); putAllData[i].versionTag = null; - putAllData[i].toData(out); + putAllData[i].toData(out, context); putAllData[i].versionTag = tag; } out.writeBoolean(hasTags); @@ -146,14 +147,15 @@ public class DistTxEntryEvent extends EntryEventImpl { } } - private void putAllFromData(DataInput in) throws IOException, ClassNotFoundException { + private void putAllFromData(DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { int putAllSize = DataSerializer.readInteger(in); PutAllEntryData[] putAllEntries = new PutAllEntryData[putAllSize]; if (putAllSize > 0) { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < putAllSize; i++) { - putAllEntries[i] = new PutAllEntryData(in, this.eventID, i, version, bytesIn); + putAllEntries[i] = new PutAllEntryData(in, context, this.eventID, i, version, bytesIn); } boolean hasTags = in.readBoolean(); @@ -172,7 +174,8 @@ public class DistTxEntryEvent extends EntryEventImpl { this.putAllOp.setPutAllEntryData(putAllEntries); } - private void removeAllToData(DataOutput out) throws IOException { + private void removeAllToData(DataOutput out, + SerializationContext context) throws IOException { DataSerializer.writeInteger(this.removeAllOp.removeAllDataSize, out); EntryVersionsList versionTags = new EntryVersionsList(this.removeAllOp.removeAllDataSize); @@ -186,7 +189,7 @@ public class DistTxEntryEvent extends EntryEventImpl { VersionTag<?> tag = removeAllData[i].versionTag; versionTags.add(tag); removeAllData[i].versionTag = null; - removeAllData[i].toData(out); + context.getSerializer().invokeToData(removeAllData[i], out); removeAllData[i].versionTag = tag; } out.writeBoolean(hasTags); @@ -195,13 +198,14 @@ public class DistTxEntryEvent extends EntryEventImpl { } } - private void removeAllFromData(DataInput in) throws IOException, ClassNotFoundException { + private void removeAllFromData(DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { int removeAllSize = DataSerializer.readInteger(in); final RemoveAllEntryData[] removeAllData = new RemoveAllEntryData[removeAllSize]; final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < removeAllSize; i++) { - removeAllData[i] = new RemoveAllEntryData(in, this.eventID, i, version, bytesIn); + removeAllData[i] = new RemoveAllEntryData(in, this.eventID, i, version, bytesIn, context); } boolean hasTags = in.readBoolean(); diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteDestroyMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteDestroyMessage.java index 6a3e963..a5550c6 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteDestroyMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteDestroyMessage.java @@ -458,8 +458,9 @@ public class RemoteDestroyMessage extends RemoteOperationMessageWithDirectReply } @Override - protected void setFlags(short flags, DataInput in) throws IOException, ClassNotFoundException { - super.setFlags(flags, in); + protected void setFlags(short flags, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setFlags(flags, in, context); this.hasOldValue = (flags & HAS_OLD_VALUE) != 0; this.useOriginRemote = (flags & USE_ORIGIN_REMOTE) != 0; this.possibleDuplicate = (flags & POS_DUP) != 0; diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteOperationMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteOperationMessage.java index 176c766..7f852db 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteOperationMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteOperationMessage.java @@ -320,7 +320,7 @@ public abstract class RemoteOperationMessage extends DistributionMessage DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); this.flags = in.readShort(); - setFlags(this.flags, in); + setFlags(this.flags, in, context); this.regionPath = DataSerializer.readString(in); this.isTransactionDistributed = in.readBoolean(); } @@ -351,7 +351,7 @@ public abstract class RemoteOperationMessage extends DistributionMessage out.writeInt(this.getTXUniqId()); } if (this.getTXMemberId() != null) { - DataSerializer.writeObject(this.getTXMemberId(), out); + context.getSerializer().writeObject(this.getTXMemberId(), out); } DataSerializer.writeString(this.regionPath, out); out.writeBoolean(this.isTransactionDistributed); @@ -370,7 +370,8 @@ public abstract class RemoteOperationMessage extends DistributionMessage return flags; } - protected void setFlags(short flags, DataInput in) throws IOException, ClassNotFoundException { + protected void setFlags(short flags, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { if ((flags & HAS_PROCESSOR_ID) != 0) { this.processorId = in.readInt(); ReplyProcessor21.setMessageRPId(this.processorId); @@ -382,7 +383,7 @@ public abstract class RemoteOperationMessage extends DistributionMessage this.txUniqId = in.readInt(); } if ((flags & HAS_TX_MEMBERID) != 0) { - this.txMemberId = DataSerializer.readObject(in); + this.txMemberId = context.getDeserializer().readObject(in); } } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java index 333cf05..304df4d 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutAllMessage.java @@ -239,7 +239,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply { final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.putAllDataCount; i++) { - this.putAllData[i] = new PutAllEntryData(in, this.eventId, i, version, bytesIn); + this.putAllData[i] = new PutAllEntryData(in, context, this.eventId, i, version, bytesIn); } boolean hasTags = in.readBoolean(); @@ -276,7 +276,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply { VersionTag<?> tag = putAllData[i].versionTag; versionTags.add(tag); putAllData[i].versionTag = null; - this.putAllData[i].toData(out); + this.putAllData[i].toData(out, context); this.putAllData[i].versionTag = tag; } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutMessage.java index 5eb4282..168534a 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemotePutMessage.java @@ -490,8 +490,9 @@ public class RemotePutMessage extends RemoteOperationMessageWithDirectReply } @Override - protected void setFlags(short flags, DataInput in) throws IOException, ClassNotFoundException { - super.setFlags(flags, in); + protected void setFlags(short flags, DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + super.setFlags(flags, in, context); this.ifNew = (flags & IF_NEW) != 0; this.ifOld = (flags & IF_OLD) != 0; this.requireOldValue = (flags & REQUIRED_OLD_VAL) != 0; diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java index 91a46a2..27ad928 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/RemoteRemoveAllMessage.java @@ -234,7 +234,8 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl final Version version = InternalDataSerializer.getVersionForDataStreamOrNull(in); final ByteArrayDataInput bytesIn = new ByteArrayDataInput(); for (int i = 0; i < this.removeAllDataCount; i++) { - this.removeAllData[i] = new RemoveAllEntryData(in, this.eventId, i, version, bytesIn); + this.removeAllData[i] = new RemoveAllEntryData(in, this.eventId, i, version, bytesIn, + context); } boolean hasTags = in.readBoolean(); @@ -271,7 +272,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl VersionTag<?> tag = removeAllData[i].versionTag; versionTags.add(tag); removeAllData[i].versionTag = null; - this.removeAllData[i].toData(out); + this.removeAllData[i].toData(out, context); this.removeAllData[i].versionTag = tag; } diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java index ef6bd89..f04c59c 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java @@ -704,12 +704,12 @@ public class GatewaySenderEventImpl out.writeInt(this.action); out.writeInt(this.numberOfParts); // out.writeUTF(this._id); - DataSerializer.writeObject(this.id, out); + context.getSerializer().writeObject(this.id, out); DataSerializer.writeString(this.regionPath, out); out.writeByte(this.valueIsObject); - serializeKey(out); + serializeKey(out, context); DataSerializer.writeByteArray(getSerializedValue(), out); - DataSerializer.writeObject(this.callbackArgument, out); + context.getSerializer().writeObject(this.callbackArgument, out); out.writeBoolean(this.possibleDuplicate); out.writeLong(this.creationTime); out.writeInt(this.bucketId); @@ -717,8 +717,9 @@ public class GatewaySenderEventImpl out.writeLong(getVersionTimeStamp()); } - protected void serializeKey(DataOutput out) throws IOException { - DataSerializer.writeObject(this.key, out); + protected void serializeKey(DataOutput out, + SerializationContext context) throws IOException { + context.getSerializer().writeObject(this.key, out); } @Override @@ -741,16 +742,17 @@ public class GatewaySenderEventImpl && InternalDataSerializer.getVersionForDataStream(in) == Version.CURRENT) { in = new VersionedDataInputStream((InputStream) in, Version.GFE_701); } - this.id = (EventID) DataSerializer.readObject(in); + this.id = (EventID) context.getDeserializer().readObject(in); // TODO:Asif ; Check if this violates Barry's logic of not assiging VM // specific Token.FROM_GATEWAY // and retain the serialized Token.FROM_GATEWAY // this._id.setFromGateway(false); this.regionPath = DataSerializer.readString(in); this.valueIsObject = in.readByte(); - deserializeKey(in); + deserializeKey(in, context); this.value = DataSerializer.readByteArray(in); - this.callbackArgument = (GatewaySenderEventCallbackArgument) DataSerializer.readObject(in); + this.callbackArgument = + (GatewaySenderEventCallbackArgument) context.getDeserializer().readObject(in); this.possibleDuplicate = in.readBoolean(); this.creationTime = in.readLong(); this.bucketId = in.readInt(); @@ -759,8 +761,9 @@ public class GatewaySenderEventImpl // TODO should this call initializeKey()? } - protected void deserializeKey(DataInput in) throws IOException, ClassNotFoundException { - this.key = DataSerializer.readObject(in); + protected void deserializeKey(DataInput in, + DeserializationContext context) throws IOException, ClassNotFoundException { + this.key = context.getDeserializer().readObject(in); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java index bed7aa0..069e340 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderQueueEntrySynchronizationOperation.java @@ -299,15 +299,15 @@ public class GatewaySenderQueueEntrySynchronizationOperation { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.key, out); - DataSerializer.writeObject(this.entryVersion, out); + context.getSerializer().writeObject(this.key, out); + context.getSerializer().writeObject(this.entryVersion, out); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.key = DataSerializer.readObject(in); - this.entryVersion = DataSerializer.readObject(in); + this.key = context.getDeserializer().readObject(in); + this.entryVersion = context.getDeserializer().readObject(in); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java index 5b1a30d..b0d69c8 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/JmxManagerLocatorResponse.java @@ -54,7 +54,7 @@ public class JmxManagerLocatorResponse implements DataSerializableFixedID { this.host = DataSerializer.readString(in); this.port = DataSerializer.readPrimitiveInt(in); this.ssl = DataSerializer.readPrimitiveBoolean(in); - this.ex = DataSerializer.readObject(in); + this.ex = context.getDeserializer().readObject(in); } @Override @@ -63,7 +63,7 @@ public class JmxManagerLocatorResponse implements DataSerializableFixedID { DataSerializer.writeString(this.host, out); DataSerializer.writePrimitiveInt(this.port, out); DataSerializer.writePrimitiveBoolean(this.ssl, out); - DataSerializer.writeObject(this.ex, out); + context.getSerializer().writeObject(this.ex, out); } @Override diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java index 2effc0a..f9b65d4 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/CliFunctionResult.java @@ -220,9 +220,9 @@ public class CliFunctionResult implements Comparable<CliFunctionResult>, DataSer throws IOException { DataSerializer.writeString(this.memberIdOrName, out); DataSerializer.writePrimitiveBoolean(this.isSuccessful(), out); - DataSerializer.writeObject(this.xmlEntity, out); + context.getSerializer().writeObject(this.xmlEntity, out); DataSerializer.writeObjectArray(this.serializables, out); - DataSerializer.writeObject(this.resultObject, out); + context.getSerializer().writeObject(this.resultObject, out); DataSerializer.writeByteArray(this.byteData, out); } @@ -230,7 +230,7 @@ public class CliFunctionResult implements Comparable<CliFunctionResult>, DataSer throws IOException { DataSerializer.writeString(this.memberIdOrName, out); DataSerializer.writeObjectArray(this.serializables, out); - DataSerializer.writeObject(this.resultObject, out); + context.getSerializer().writeObject(this.resultObject, out); } @Override @@ -244,16 +244,16 @@ public class CliFunctionResult implements Comparable<CliFunctionResult>, DataSer throws IOException, ClassNotFoundException { this.memberIdOrName = DataSerializer.readString(in); this.state = DataSerializer.readPrimitiveBoolean(in) ? StatusState.OK : StatusState.ERROR; - this.xmlEntity = DataSerializer.readObject(in); + this.xmlEntity = context.getDeserializer().readObject(in); this.serializables = (Serializable[]) DataSerializer.readObjectArray(in); - this.resultObject = DataSerializer.readObject(in); + this.resultObject = context.getDeserializer().readObject(in); this.byteData = DataSerializer.readByteArray(in); } public void fromDataPre_GFE_8_0_0_0(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { this.memberIdOrName = DataSerializer.readString(in); - this.resultObject = DataSerializer.readObject(in); + this.resultObject = context.getDeserializer().readObject(in); this.serializables = (Serializable[]) DataSerializer.readObjectArray(in); } diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/internal/ResultsBagLimitBehaviourJUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/internal/ResultsBagLimitBehaviourJUnitTest.java index a6884ec..ec58c7d 100644 --- a/geode-core/src/test/java/org/apache/geode/cache/query/internal/ResultsBagLimitBehaviourJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/cache/query/internal/ResultsBagLimitBehaviourJUnitTest.java @@ -18,7 +18,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -37,7 +36,6 @@ import org.apache.geode.cache.query.internal.types.ObjectTypeImpl; import org.apache.geode.cache.query.types.ObjectType; import org.apache.geode.cache.query.types.StructType; import org.apache.geode.internal.InternalDataSerializer; -import org.apache.geode.internal.serialization.DeserializationContext; /** * Test ResultsBag Limit behaviour @@ -332,7 +330,7 @@ public class ResultsBagLimitBehaviourJUnitTest { DataInputStream dis = new DataInputStream(bis); // Create a From ResultBag ResultsBag fromBag = getBagObject(String.class); - fromBag.fromData(dis, mock(DeserializationContext.class)); + fromBag.fromData(dis, InternalDataSerializer.createDeserializationContext(dis)); assertEquals(toBag.size(), fromBag.size()); assertEquals(toBag.occurrences(wrap(null, toBag.getCollectionType().getElementType())), fromBag.occurrences(wrap(null, fromBag.getCollectionType().getElementType()))); diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java index 1a22f14..bc9af64 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneResultStructImpl.java @@ -19,7 +19,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.lucene.LuceneResultStruct; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; @@ -107,16 +106,16 @@ public class LuceneResultStructImpl<K, V> @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(key, out); - DataSerializer.writeObject(value, out); + context.getSerializer().writeObject(key, out); + context.getSerializer().writeObject(value, out); out.writeFloat(score); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - key = DataSerializer.readObject(in); - value = DataSerializer.readObject(in); + key = context.getDeserializer().readObject(in); + value = context.getDeserializer().readObject(in); score = in.readFloat(); } diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java index f02a41f..8040f47 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/EntryScore.java @@ -19,7 +19,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; import org.apache.geode.internal.serialization.SerializationContext; @@ -70,14 +69,14 @@ public class EntryScore<K> implements DataSerializableFixedID { @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(key, out); + context.getSerializer().writeObject(key, out); out.writeFloat(score); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - key = DataSerializer.readObject(in); + key = context.getDeserializer().readObject(in); score = in.readFloat(); } } diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java index fd3db32..736e87b 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunctionContext.java @@ -98,8 +98,8 @@ public class LuceneFunctionContext<C extends IndexResultCollector> public void toData(DataOutput out, SerializationContext context) throws IOException { out.writeInt(limit); - DataSerializer.writeObject(queryProvider, out); - DataSerializer.writeObject(manager, out); + context.getSerializer().writeObject(queryProvider, out); + context.getSerializer().writeObject(manager, out); DataSerializer.writeString(indexName, out); } @@ -107,8 +107,8 @@ public class LuceneFunctionContext<C extends IndexResultCollector> public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { limit = in.readInt(); - queryProvider = DataSerializer.readObject(in); - manager = DataSerializer.readObject(in); + queryProvider = context.getDeserializer().readObject(in); + manager = context.getDeserializer().readObject(in); this.indexName = DataSerializer.readString(in); } diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java index 6cba65b..156a62f 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntries.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.lucene.LuceneQueryFactory; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; @@ -122,13 +121,13 @@ public class TopEntries<K> implements DataSerializableFixedID { public void toData(DataOutput out, SerializationContext context) throws IOException { out.writeInt(limit); - DataSerializer.writeObject(hits, out); + context.getSerializer().writeObject(hits, out); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { limit = in.readInt(); - hits = DataSerializer.readObject(in); + hits = context.getDeserializer().readObject(in); }; } diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java index 0fb14a7..623bbab 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/TopEntriesCollector.java @@ -90,13 +90,13 @@ public class TopEntriesCollector implements IndexResultCollector, DataSerializab public void toData(DataOutput out, SerializationContext context) throws IOException { DataSerializer.writeString(name, out); - DataSerializer.writeObject(entries, out); + context.getSerializer().writeObject(entries, out); } @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { name = DataSerializer.readString(in); - entries = DataSerializer.readObject(in); + entries = context.getDeserializer().readObject(in); } } diff --git a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializerImpl.java b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializerImpl.java index 8ec9c2f..1852322 100644 --- a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializerImpl.java +++ b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/DSFIDSerializerImpl.java @@ -75,8 +75,8 @@ public class DSFIDSerializerImpl implements DSFIDSerializer { private ObjectDeserializer createDefaultObjectDeserializer() { return new ObjectDeserializer() { @Override - public Object readObject(DataInput input) throws IOException, ClassNotFoundException { - return DSFIDSerializerImpl.this.readDSFID(input); + public <T> T readObject(DataInput input) throws IOException, ClassNotFoundException { + return (T) DSFIDSerializerImpl.this.readDSFID(input); } @Override diff --git a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/ObjectDeserializer.java b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/ObjectDeserializer.java index 7534145..4907719 100644 --- a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/ObjectDeserializer.java +++ b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/ObjectDeserializer.java @@ -22,7 +22,7 @@ public interface ObjectDeserializer { /** * Read an object from the given data input */ - Object readObject(DataInput input) throws IOException, ClassNotFoundException; + <T> T readObject(DataInput input) throws IOException, ClassNotFoundException; /** * When deserializing you may want to invoke a fromData method on an object. diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java index d976a48..f3ea552 100644 --- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java +++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/LocatorJoinMessage.java @@ -18,7 +18,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.cache.client.internal.locator.ServerLocationRequest; import org.apache.geode.internal.admin.remote.DistributionLocatorId; import org.apache.geode.internal.serialization.DataSerializableFixedID; @@ -49,18 +48,18 @@ public class LocatorJoinMessage extends ServerLocationRequest { public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { super.fromData(in, context); - this.locator = DataSerializer.readObject(in); + this.locator = context.getDeserializer().readObject(in); this.distributedSystemId = in.readInt(); - this.sourceLocator = DataSerializer.readObject(in); + this.sourceLocator = context.getDeserializer().readObject(in); } @Override public void toData(DataOutput out, SerializationContext context) throws IOException { super.toData(out, context); - DataSerializer.writeObject(locator, out); + context.getSerializer().writeObject(locator, out); out.writeInt(this.distributedSystemId); - DataSerializer.writeObject(sourceLocator, out); + context.getSerializer().writeObject(sourceLocator, out); } public DistributionLocatorId getLocator() { diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java index 2b243e8..788c496 100644 --- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java +++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorJoinRequest.java @@ -18,7 +18,6 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import org.apache.geode.DataSerializer; import org.apache.geode.internal.admin.remote.DistributionLocatorId; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; @@ -51,14 +50,14 @@ public class RemoteLocatorJoinRequest implements DataSerializableFixedID { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.locator = DataSerializer.readObject(in); + this.locator = context.getDeserializer().readObject(in); this.distributedSystemId = in.readInt(); } @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(locator, out); + context.getSerializer().writeObject(locator, out); out.writeInt(this.distributedSystemId); } diff --git a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java index 3f0cb86..2134eae 100644 --- a/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java +++ b/geode-wan/src/main/java/org/apache/geode/cache/client/internal/locator/wan/RemoteLocatorResponse.java @@ -19,7 +19,6 @@ import java.io.DataOutput; import java.io.IOException; import java.util.Set; -import org.apache.geode.DataSerializer; import org.apache.geode.internal.serialization.DataSerializableFixedID; import org.apache.geode.internal.serialization.DeserializationContext; import org.apache.geode.internal.serialization.SerializationContext; @@ -41,13 +40,13 @@ public class RemoteLocatorResponse implements DataSerializableFixedID { @Override public void fromData(DataInput in, DeserializationContext context) throws IOException, ClassNotFoundException { - this.locators = DataSerializer.readObject(in); + this.locators = context.getDeserializer().readObject(in); } @Override public void toData(DataOutput out, SerializationContext context) throws IOException { - DataSerializer.writeObject(this.locators, out); + context.getSerializer().writeObject(this.locators, out); } public Set<String> getLocators() {
