You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2020/06/18 03:25:50 UTC
[geode] branch develop updated: GEODE-8274: Improve readability of
Version comparison. (#5266)
This is an automated email from the ASF dual-hosted git repository.
jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new c93773f GEODE-8274: Improve readability of Version comparison. (#5266)
c93773f is described below
commit c93773fbe71f9f15db4b3ae9d264ba4845cf0bf4
Author: Jacob Barrett <jb...@pivotal.io>
AuthorDate: Wed Jun 17 20:25:10 2020 -0700
GEODE-8274: Improve readability of Version comparison. (#5266)
* Refactor Version.compareTo(Version) >= 0 to Version.isNotOlderThan(Version).
* Refactor Version.compareTo(Version) < 0 to Version.isOlderThan(Version).
* Refactor Version.compareTo(Version) > 0 to Version.isNewerThan(Version).
* Refactor Version.compareTo(Version) <= 0 to Version.isNotNewerThan(Version).
* Add test
---
.../codeAnalysis/sanctionedDataSerializables.txt | 3 +-
.../client/internal/ClientSideHandshakeImpl.java | 12 +++----
.../internal/streaming/StreamingOperation.java | 2 +-
.../geode/internal/InternalDataSerializer.java | 2 +-
.../geode/internal/VersionedObjectOutput.java | 2 +-
.../internal/cache/AbstractUpdateOperation.java | 2 +-
.../org/apache/geode/internal/cache/EventID.java | 4 +--
...xpireDisconnectedClientTransactionsMessage.java | 4 +--
.../internal/cache/InitialImageOperation.java | 12 +++----
.../geode/internal/cache/PartitionedRegion.java | 4 +--
.../cache/PartitionedRegionQueryEvaluator.java | 2 +-
.../geode/internal/cache/TXCommitMessage.java | 2 +-
.../internal/cache/TXRegionLockRequestImpl.java | 4 +--
.../cache/execute/FunctionRemoteContext.java | 4 +--
.../cache/partitioned/IndexCreationMsg.java | 2 +-
.../cache/partitioned/PartitionMessage.java | 4 +--
.../internal/cache/partitioned/QueryMessage.java | 4 +--
.../internal/cache/tier/sockets/BaseCommand.java | 6 ++--
.../cache/tier/sockets/BaseCommandQuery.java | 4 +--
.../cache/tier/sockets/CacheClientNotifier.java | 4 +--
.../cache/tier/sockets/ChunkedMessage.java | 2 +-
.../tier/sockets/ClientDataSerializerMessage.java | 4 +--
.../tier/sockets/ClientInstantiatorMessage.java | 2 +-
.../tier/sockets/ClientInterestMessageImpl.java | 2 +-
.../tier/sockets/ClientMarkerMessageImpl.java | 2 +-
.../cache/tier/sockets/ClientPingMessageImpl.java | 2 +-
.../tier/sockets/ClientProxyMembershipID.java | 2 +-
.../tier/sockets/ClientRegistrationMetadata.java | 2 +-
.../tier/sockets/ClientUpdateMessageImpl.java | 8 ++---
.../cache/tier/sockets/MessageDispatcher.java | 2 +-
.../cache/tier/sockets/ServerConnection.java | 4 +--
.../tier/sockets/ServerSideHandshakeFactory.java | 2 +-
.../tier/sockets/ServerSideHandshakeImpl.java | 18 +++++-----
.../cache/tier/sockets/SocketMessageWriter.java | 8 ++---
.../tier/sockets/command/CloseConnection.java | 2 +-
.../sockets/command/GatewayReceiverCommand.java | 2 +-
.../internal/cache/tier/sockets/command/Put65.java | 4 +--
.../tier/sockets/command/RegisterInterest61.java | 2 +-
.../sockets/command/RegisterInterestList66.java | 2 +-
.../geode/internal/cache/versions/VersionTag.java | 2 +-
.../internal/cache/wan/GatewaySenderAdvisor.java | 4 +--
.../org/apache/geode/internal/tcp/Connection.java | 2 +-
.../configuration/domain/Configuration.java | 2 +-
.../org/apache/geode/pdx/internal/PdxField.java | 2 +-
.../org/apache/geode/pdx/internal/PdxType.java | 2 +-
.../membership/gms/MemberIdentifierImpl.java | 6 ++--
.../gemstone/gemfire/OldClientSupportProvider.java | 4 +--
.../geode/internal/serialization/Version.java | 41 ++++++++++++++++++++++
.../internal/serialization/VersionJUnitTest.java | 28 +++++++++++++++
49 files changed, 159 insertions(+), 89 deletions(-)
diff --git a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
index 6c48fc4..29c8e97 100644
--- a/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
+++ b/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
@@ -355,7 +355,7 @@ fromData,17
toData,17
org/apache/geode/distributed/internal/streaming/StreamingOperation$StreamingReplyMessage,2
-fromData,425
+fromData,417
toData,86
org/apache/geode/distributed/internal/tcpserver/InfoResponse,2
@@ -2108,3 +2108,4 @@ toData,105
org/apache/geode/pdx/internal/PdxType,2
fromData,109
toData,124
+
diff --git a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
index e66f42c..2622021 100644
--- a/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientSideHandshakeImpl.java
@@ -128,7 +128,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
// handshakes.
// Client side handshake code uses this.currentClientVersion which can be
// set via tests.
- if (currentClientVersion.compareTo(Version.GFE_603) >= 0) {
+ if (currentClientVersion.isNotOlderThan(Version.GFE_603)) {
this.overrides = new byte[] {this.clientConflation};
}
}
@@ -235,13 +235,13 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
// Read delta-propagation property value from server.
// [sumedh] Static variable below? Client can connect to different
// DSes with different values of this. It shoule be a member variable.
- if (!communicationMode.isWAN() && currentClientVersion.compareTo(Version.GFE_61) >= 0) {
+ if (!communicationMode.isWAN() && currentClientVersion.isNotOlderThan(Version.GFE_61)) {
((InternalDistributedSystem) system).setDeltaEnabledOnServer(dis.readBoolean());
}
// validate that the remote side has a different distributed system id.
if (communicationMode.isWAN() && Version.GFE_66.compareTo(conn.getWanSiteVersion()) <= 0
- && currentClientVersion.compareTo(Version.GFE_66) >= 0) {
+ && currentClientVersion.isNotOlderThan(Version.GFE_66)) {
int remoteDistributedSystemId = in.read();
int localDistributedSystemId =
((InternalDistributedSystem) system).getDistributionManager().getDistributedSystemId();
@@ -254,7 +254,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
}
// Read the PDX registry size from the remote size
if (communicationMode.isWAN() && Version.GFE_80.compareTo(conn.getWanSiteVersion()) <= 0
- && currentClientVersion.compareTo(Version.GFE_80) >= 0) {
+ && currentClientVersion.isNotOlderThan(Version.GFE_80)) {
int remotePdxSize = dis.readInt();
serverQStatus.setPdxSize(remotePdxSize);
}
@@ -323,7 +323,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
// [sumedh] nothing more to be done for older clients used in tests
// there is a difference in serializer map registration for >= 6.5.1.6
// clients but that is not used in tests
- if (currentClientVersion.compareTo(Version.GFE_61) < 0) {
+ if (currentClientVersion.isOlderThan(Version.GFE_61)) {
return new ServerQueueStatus(endpointType, queueSize, member);
}
HashMap instantiatorMap = DataSerializer.readHashMap(dis);
@@ -393,7 +393,7 @@ public class ClientSideHandshakeImpl extends Handshake implements ClientSideHand
DataOutput idOut = new VersionedDataOutputStream(hdos, Version.GFE_82);
DataSerializer.writeObject(this.id, idOut);
- if (currentClientVersion.compareTo(Version.GFE_603) >= 0) {
+ if (currentClientVersion.isNotOlderThan(Version.GFE_603)) {
byte[] overrides = getOverrides();
for (int bytes = 0; bytes < overrides.length; bytes++) {
hdos.writeByte(overrides[bytes]);
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/streaming/StreamingOperation.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/streaming/StreamingOperation.java
index 66f195c..0deb1f2 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/streaming/StreamingOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/streaming/StreamingOperation.java
@@ -513,7 +513,7 @@ public abstract class StreamingOperation {
this.lastMsg = in.readBoolean();
this.pdxReadSerialized = in.readBoolean();
Version senderVersion = StaticSerialization.getVersionForDataStream(in);
- boolean isSenderAbove_8_1 = senderVersion.compareTo(Version.GFE_81) > 0;
+ boolean isSenderAbove_8_1 = senderVersion.isNewerThan(Version.GFE_81);
InternalCache cache = null;
Boolean initialPdxReadSerialized = false;
try {
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 a7ed6bd..733f72b 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
@@ -354,7 +354,7 @@ public abstract class InternalDataSerializer extends DataSerializer {
VersionedDataStream vout = (VersionedDataStream) out;
Version version = vout.getVersion();
if (null != version) {
- if (version.compareTo(Version.GEODE_1_9_0) < 0) {
+ if (version.isOlderThan(Version.GEODE_1_9_0)) {
if (name.equals(POST_GEODE_190_SERVER_CQIMPL)) {
return PRE_GEODE_190_SERVER_CQIMPL;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
index b9b4ad5..6dccb75 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/VersionedObjectOutput.java
@@ -39,7 +39,7 @@ public class VersionedObjectOutput implements ObjectOutput, VersionedDataStream
* @param version the product version that serialized object on the given {@link ObjectOutput}
*/
public VersionedObjectOutput(ObjectOutput out, Version version) {
- if (version.compareTo(Version.CURRENT) > 0) {
+ if (version.isNewerThan(Version.CURRENT)) {
Assert.fail("unexpected version: " + version + ", CURRENT: " + Version.CURRENT);
}
this.out = out;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
index dd6614c..057a4b4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
@@ -344,7 +344,7 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
String msg =
String.format("memberID cannot be null for persistent regions: %s", tag);
- RuntimeException ex = (sender.getVersionObject().compareTo(Version.GFE_80) < 0)
+ RuntimeException ex = (sender.getVersionObject().isOlderThan(Version.GFE_80))
? new InternalGemFireException(msg) : new InvalidVersionException(msg);
throw ex;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
index d251f93..c6ccd12 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
@@ -311,7 +311,7 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali
*/
public InternalDistributedMember getDistributedMember(Version targetVersion) {
Version disVersion = null;
- if (targetVersion.compareTo(Version.GEODE_1_1_0) < 0) {
+ if (targetVersion.isOlderThan(Version.GEODE_1_1_0)) {
// GEODE-3153: clients expect to receive UUID bytes, which are only
// read if the stream's version is 1.0.0-incubating
disVersion = Version.GFE_90;
@@ -356,7 +356,7 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali
// using the client's version to ensure it gets the proper on-wire form
// of the identifier
// See GEODE-3072
- if (membershipID != null && version.compareTo(Version.GEODE_1_1_0) < 0) {
+ if (membershipID != null && version.isOlderThan(Version.GEODE_1_1_0)) {
InternalDistributedMember member = getDistributedMember(Version.GFE_90);
// reserialize with the client's version so that we write the UUID
// bytes
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ExpireDisconnectedClientTransactionsMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ExpireDisconnectedClientTransactionsMessage.java
index 32c6dc2..20c1e97 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ExpireDisconnectedClientTransactionsMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ExpireDisconnectedClientTransactionsMessage.java
@@ -47,7 +47,7 @@ public class ExpireDisconnectedClientTransactionsMessage
Set newVersionRecipients = new HashSet();
for (InternalDistributedMember recipient : recipients) {
// to geode 1.7.0 and later version servers
- if (recipient.getVersionObject().compareTo(Version.GEODE_1_7_0) >= 0) {
+ if (recipient.getVersionObject().isNotOlderThan(Version.GEODE_1_7_0)) {
newVersionRecipients.add(recipient);
}
}
@@ -78,7 +78,7 @@ public class ExpireDisconnectedClientTransactionsMessage
InternalDistributedMember sender = getSender();
if (cache != null) {
TXManagerImpl mgr = cache.getTXMgr();
- if (sender.getVersionObject().compareTo(Version.GEODE_1_7_0) >= 0) {
+ if (sender.getVersionObject().isNotOlderThan(Version.GEODE_1_7_0)) {
// schedule to expire disconnected client transaction.
mgr.expireDisconnectedClientTransactions(this.txIds, false);
} else {
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 89d543c..89d70e0 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
@@ -338,14 +338,14 @@ public class InitialImageOperation {
final ClusterDistributionManager dm =
(ClusterDistributionManager) this.region.getDistributionManager();
boolean allowDeltaGII = true;
- if (FORCE_FULL_GII || recipient.getVersionObject().compareTo(Version.GFE_80) < 0) {
+ if (FORCE_FULL_GII || recipient.getVersionObject().isOlderThan(Version.GFE_80)) {
allowDeltaGII = false;
}
Set keysOfUnfinishedOps = null;
RegionVersionVector received_rvv = null;
RegionVersionVector remote_rvv = null;
if (this.region.getConcurrencyChecksEnabled()
- && recipient.getVersionObject().compareTo(Version.GFE_80) >= 0) {
+ && recipient.getVersionObject().isNotOlderThan(Version.GFE_80)) {
if (internalBeforeRequestRVV != null
&& internalBeforeRequestRVV.getRegionName().equals(this.region.getName())) {
internalBeforeRequestRVV.run();
@@ -746,7 +746,7 @@ public class InitialImageOperation {
Set recipients = this.region.getCacheDistributionAdvisor().adviseReplicates();
for (Iterator it = recipients.iterator(); it.hasNext();) {
InternalDistributedMember mbr = (InternalDistributedMember) it.next();
- if (mbr.getVersionObject().compareTo(Version.GFE_80) < 0) {
+ if (mbr.getVersionObject().isOlderThan(Version.GFE_80)) {
it.remove();
}
}
@@ -1190,7 +1190,7 @@ public class InitialImageOperation {
region.recordEventState(msg.getSender(), msg.eventState);
}
if (msg.versionVector != null
- && msg.getSender().getVersionObject().compareTo(Version.GFE_80) < 0
+ && msg.getSender().getVersionObject().isOlderThan(Version.GFE_80)
&& region.getConcurrencyChecksEnabled()) {
// for older version, save received rvv from RegionStateMessage
logger.debug("Applying version vector to {}: {}", region.getName(), msg.versionVector);
@@ -1599,7 +1599,7 @@ public class InitialImageOperation {
}
public boolean goWithFullGII(DistributedRegion rgn, RegionVersionVector requesterRVV) {
- if (getSender().getVersionObject().compareTo(Version.GFE_80) < 0) {
+ if (getSender().getVersionObject().isOlderThan(Version.GFE_80)) {
// pre-8.0 could not handle a delta-GII
return true;
}
@@ -1744,7 +1744,7 @@ public class InitialImageOperation {
if (eventState != null && eventState.size() > 0) {
RegionStateMessage.send(dm, getSender(), this.processorId, eventState, true);
}
- } else if (getSender().getVersionObject().compareTo(Version.GFE_80) < 0) {
+ } else if (getSender().getVersionObject().isOlderThan(Version.GFE_80)) {
// older versions of the product expect a RegionStateMessage at this point
if (rgn.getConcurrencyChecksEnabled() && this.versionVector == null
&& !recoveringForLostMember) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
index 78083cf..ff6bcb5 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
@@ -4830,7 +4830,7 @@ public class PartitionedRegion extends LocalRegion
oneBucketKeys.clear();
oneBucketKeys.put(e.getKey(), e.getValue());
try {
- if (entry.getKey().getVersionObject().compareTo(Version.GFE_80) < 0) {
+ if (entry.getKey().getVersionObject().isOlderThan(Version.GFE_80)) {
failures.putAll(nodeToBuckets.get(entry.getKey()));
continue;
}
@@ -4882,7 +4882,7 @@ public class PartitionedRegion extends LocalRegion
bucketId.clear();
bucketId.add(bucket);
try {
- if (entry.getKey().getVersionObject().compareTo(Version.GFE_80) < 0) {
+ if (entry.getKey().getVersionObject().isOlderThan(Version.GFE_80)) {
failures.addAll(nodeToBuckets.get(entry.getKey()));
continue;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluator.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluator.java
index 0e4780c..a146f9a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionQueryEvaluator.java
@@ -186,7 +186,7 @@ public class PartitionedRegionQueryEvaluator extends StreamingPartitionOperation
// we will have to sort it
boolean sortNeeded = false;
List<CompiledSortCriterion> orderByAttribs = null;
- if (sender.getVersionObject().compareTo(Version.GFE_90) < 0) {
+ if (sender.getVersionObject().isOlderThan(Version.GFE_90)) {
CompiledSelect cs = this.query.getSimpleSelect();
if (cs != null && cs.isOrderBy()) {
sortNeeded = true;
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 2ecb0e4..21cefb2 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
@@ -954,7 +954,7 @@ public class TXCommitMessage extends PooledDistributionMessage
}
private boolean hasFlagsField(final Version version) {
- return version.compareTo(Version.GEODE_1_7_0) >= 0;
+ return version.isNotOlderThan(Version.GEODE_1_7_0);
}
private boolean useShadowKey() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXRegionLockRequestImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXRegionLockRequestImpl.java
index 5a600e5..5ae0e19 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXRegionLockRequestImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXRegionLockRequestImpl.java
@@ -119,7 +119,7 @@ public class TXRegionLockRequestImpl implements TXRegionLockRequest {
if (cache != null && size > 0) {
this.r = (LocalRegion) cache.getRegion(this.regionPath);
}
- if (StaticSerialization.getVersionForDataStream(in).compareTo(Version.GEODE_1_10_0) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(in).isNotOlderThan(Version.GEODE_1_10_0)) {
this.entryKeys = readEntryKeyMap(size, in);
} else {
this.entryKeys = readEntryKeySet(size, in);
@@ -183,7 +183,7 @@ public class TXRegionLockRequestImpl implements TXRegionLockRequest {
@Override
public void toData(DataOutput out) throws IOException {
DataSerializer.writeString(getRegionFullPath(), out);
- if (StaticSerialization.getVersionForDataStream(out).compareTo(Version.GEODE_1_10_0) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(out).isNotOlderThan(Version.GEODE_1_10_0)) {
InternalDataSerializer.writeHashMap(this.entryKeys, out);
} else {
HashSet hashset = new HashSet(this.entryKeys.keySet());
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionRemoteContext.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionRemoteContext.java
index e47d492..8eca9be 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionRemoteContext.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionRemoteContext.java
@@ -77,7 +77,7 @@ public class FunctionRemoteContext implements DataSerializable {
}
this.args = DataSerializer.readObject(in);
this.filter = (HashSet) DataSerializer.readHashSet(in);
- if (StaticSerialization.getVersionForDataStream(in).compareTo(Version.GEODE_1_11_0) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(in).isNotOlderThan(Version.GEODE_1_11_0)) {
this.bucketArray = DataSerializer.readIntArray(in);
} else {
HashSet<Integer> bucketSet = DataSerializer.readHashSet(in);
@@ -95,7 +95,7 @@ public class FunctionRemoteContext implements DataSerializable {
}
DataSerializer.writeObject(this.args, out);
DataSerializer.writeHashSet((HashSet) this.filter, out);
- if (StaticSerialization.getVersionForDataStream(out).compareTo(Version.GEODE_1_11_0) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(out).isNotOlderThan(Version.GEODE_1_11_0)) {
DataSerializer.writeIntArray(this.bucketArray, out);
} else {
Set<Integer> bucketSet = BucketSetHelper.toSet(this.bucketArray);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
index 88d94b3..76cd5af 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/IndexCreationMsg.java
@@ -357,7 +357,7 @@ public class IndexCreationMsg extends PartitionMessage {
}
for (InternalDistributedMember rec : recipients) {
- if (rec.getVersionObject().compareTo(Version.GFE_81) < 0) {
+ if (rec.getVersionObject().isOlderThan(Version.GFE_81)) {
throw new UnsupportedOperationException(
"Indexes should not be created during rolling upgrade");
}
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 6b53958..af54788 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
@@ -541,7 +541,7 @@ public abstract class PartitionMessage extends DistributionMessage
setBooleans(this.flags, in, context);
this.regionId = in.readInt();
// extra field post 9.0
- if (StaticSerialization.getVersionForDataStream(in).compareTo(Version.GFE_90) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(in).isNotOlderThan(Version.GFE_90)) {
this.isTransactionDistributed = in.readBoolean();
}
}
@@ -585,7 +585,7 @@ public abstract class PartitionMessage extends DistributionMessage
context.getSerializer().writeObject(this.txMemberId, out);
out.writeInt(this.regionId);
// extra field post 9.0
- if (StaticSerialization.getVersionForDataStream(out).compareTo(Version.GFE_90) >= 0) {
+ if (StaticSerialization.getVersionForDataStream(out).isNotOlderThan(Version.GFE_90)) {
out.writeBoolean(this.isTransactionDistributed);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/QueryMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/QueryMessage.java
index 1566ba4..3b5310d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/QueryMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/QueryMessage.java
@@ -123,7 +123,7 @@ public class QueryMessage extends StreamingPartitionOperation.StreamingPartition
}
}
Object data = this.currentResultIterator.next();
- boolean isPostGFE_8_1 = this.getSender().getVersionObject().compareTo(Version.GFE_81) > 0;
+ boolean isPostGFE_8_1 = this.getSender().getVersionObject().isNewerThan(Version.GFE_81);
// There is a bug in older versions of GFE such that the query node expects the structs to have
// type as ObjectTypes only & not specific types. So the new version needs to send the
@@ -190,7 +190,7 @@ public class QueryMessage extends StreamingPartitionOperation.StreamingPartition
logger.debug("Started executing query from remote node: {}", query.getQueryString());
}
isQueryTraced =
- query.isTraced() && this.sender.getVersionObject().compareTo(Version.GFE_81) >= 0;
+ query.isTraced() && this.sender.getVersionObject().isNotOlderThan(Version.GFE_81);
// Adds a query trace info object to the results list for remote queries
PRQueryTraceInfo queryTraceInfo = null;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
index f2c5292..b68bc94 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
@@ -215,7 +215,7 @@ public abstract class BaseCommand implements Command {
*/
protected boolean shouldMasqueradeForTx(Message clientMessage,
ServerConnection serverConnection) {
- return serverConnection.getClientVersion().compareTo(Version.GFE_66) >= 0
+ return serverConnection.getClientVersion().isNotOlderThan(Version.GFE_66)
&& clientMessage.getTransactionId() > TXManagerImpl.NOTX;
}
@@ -901,7 +901,7 @@ public abstract class BaseCommand implements Command {
sendRegisterInterestResponseChunk(region, riKey, new ArrayList(), true, servConn);
return;
}
- if (policy.isKeysValues() && servConn.getClientVersion().compareTo(Version.GFE_80) >= 0) {
+ if (policy.isKeysValues() && servConn.getClientVersion().isNotOlderThan(Version.GFE_80)) {
handleKeysValuesPolicy(region, riKey, interestType, serializeValues, servConn);
return;
}
@@ -1018,7 +1018,7 @@ public abstract class BaseCommand implements Command {
private static boolean sendTombstonesInRIResults(ServerConnection servConn,
InterestResultPolicy policy) {
return policy == InterestResultPolicy.KEYS_VALUES
- && servConn.getClientVersion().compareTo(Version.GFE_80) >= 0;
+ && servConn.getClientVersion().isNotOlderThan(Version.GFE_80);
}
/**
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommandQuery.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommandQuery.java
index cadef11..6ba9d9f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommandQuery.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommandQuery.java
@@ -97,7 +97,7 @@ public abstract class BaseCommandQuery extends BaseCommand {
// from 7.0, set flag to indicate a remote query irrespective of the
// object type
- if (servConn.getClientVersion().compareTo(Version.GFE_70) >= 0) {
+ if (servConn.getClientVersion().isNotOlderThan(Version.GFE_70)) {
((DefaultQuery) query).setRemoteQuery(true);
}
// Process the query request
@@ -310,7 +310,7 @@ public abstract class BaseCommandQuery extends BaseCommand {
private boolean sendCqResultsWithKey(ServerConnection servConn) {
Version clientVersion = servConn.getClientVersion();
- if (clientVersion.compareTo(Version.GFE_65) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_65)) {
return true;
}
return false;
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier.java
index cedc40f..fff2bb2 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientNotifier.java
@@ -683,7 +683,7 @@ public class CacheClientNotifier {
Object[] objects = filterClients.toArray();
for (Object id : objects) {
CacheClientProxy ccp = getClientProxy((ClientProxyMembershipID) id, true);
- if (ccp != null && ccp.getVersion().compareTo(Version.GFE_70) < 0) {
+ if (ccp != null && ccp.getVersion().isOlderThan(Version.GFE_70)) {
filterClients.remove(id);
}
}
@@ -1864,7 +1864,7 @@ public class CacheClientNotifier {
for (CacheClientProxy proxy : getClientProxies()) {
logger.debug("Checking whether to ping {}", proxy);
// Ping clients whose version is GE 6.6.2.2
- if (proxy.getVersion().compareTo(Version.GFE_6622) >= 0) {
+ if (proxy.getVersion().isNotOlderThan(Version.GFE_6622)) {
// Send the ping message directly to the client. Do not qo through
// the queue. If the queue were used, the secondary connection would
// not be pinged. Instead, pings would just build up in secondary
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
index 92ed3f4..a1250a9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
@@ -152,7 +152,7 @@ public class ChunkedMessage extends Message {
public void setLastChunkAndNumParts(boolean lastChunk, int numParts) {
setLastChunk(lastChunk);
if (this.serverConnection != null
- && this.serverConnection.getClientVersion().compareTo(Version.GFE_65) >= 0) {
+ && this.serverConnection.getClientVersion().isNotOlderThan(Version.GFE_65)) {
// we us e three bits for number of parts in last chunk byte
// we us e three bits for number of parts in last chunk byte
byte localLastChunk = (byte) (numParts << 5);
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 2936903..5ac329f 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
@@ -65,9 +65,9 @@ public class ClientDataSerializerMessage extends ClientUpdateMessageImpl {
*/
@Override
protected Message getMessage(CacheClientProxy proxy, byte[] latestValue) throws IOException {
- if (proxy.getVersion().compareTo(Version.GFE_6516) >= 0) {
+ if (proxy.getVersion().isNotOlderThan(Version.GFE_6516)) {
return getGFE6516Message(proxy.getVersion());
- } else if (proxy.getVersion().compareTo(Version.GFE_57) >= 0) {
+ } else if (proxy.getVersion().isNotOlderThan(Version.GFE_57)) {
return getGFEMessage(proxy.getVersion());
} else {
throw new IOException("Unsupported client version for server-to-client message creation: "
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 4d791b1..79cc29f 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
@@ -108,7 +108,7 @@ public class ClientInstantiatorMessage extends ClientUpdateMessageImpl {
protected Message getMessage(CacheClientProxy proxy, byte[] latestValue) throws IOException {
Version clientVersion = proxy.getVersion();
Message message = null;
- if (clientVersion.compareTo(Version.GFE_57) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_57)) {
message = getGFEMessage(proxy.getProxyID(), null, clientVersion);
} else {
throw new IOException(
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 a482745..02c9d08 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
@@ -137,7 +137,7 @@ public class ClientInterestMessageImpl implements ClientMessage {
public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException {
Version clientVersion = proxy.getVersion();
Message message = null;
- if (clientVersion.compareTo(Version.GFE_57) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_57)) {
message = getGFEMessage();
} else {
throw new IOException(
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMarkerMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMarkerMessageImpl.java
index c45acc4..03f9ba4 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMarkerMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientMarkerMessageImpl.java
@@ -61,7 +61,7 @@ public class ClientMarkerMessageImpl implements ClientMessage {
public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException {
Version clientVersion = proxy.getVersion();
Message message = null;
- if (clientVersion.compareTo(Version.GFE_57) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_57)) {
message = getGFEMessage();
} else {
throw new IOException(
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientPingMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientPingMessageImpl.java
index 4ac21ae..9d42deb 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientPingMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientPingMessageImpl.java
@@ -45,7 +45,7 @@ public class ClientPingMessageImpl implements ClientMessage {
public Message getMessage(CacheClientProxy proxy, boolean notify) throws IOException {
Version clientVersion = proxy.getVersion();
Message message = null;
- if (clientVersion.compareTo(Version.GFE_6622) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_6622)) {
message = getGFEMessage();
} else {
throw new IOException(
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
index a56af37..6602a9d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyMembershipID.java
@@ -370,7 +370,7 @@ public class ClientProxyMembershipID
private String getMemberIdAsString() {
String memberIdAsString = null;
InternalDistributedMember idm = (InternalDistributedMember) getDistributedMember();
- if (getClientVersion().compareTo(Version.GFE_90) < 0) {
+ if (getClientVersion().isOlderThan(Version.GFE_90)) {
memberIdAsString = idm.toString();
} else {
StringBuilder sb = new StringBuilder();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
index 36728f7..7e8c7e4 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientRegistrationMetadata.java
@@ -152,7 +152,7 @@ class ClientRegistrationMetadata {
}
private boolean doesClientSupportExtractOverrides() {
- return clientVersion.compareTo(Version.GFE_603) >= 0;
+ return clientVersion.isNotOlderThan(Version.GFE_603);
}
private boolean oldClientRequiresVersionedStreams(final Version clientVersion) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
index 1558409..5042d45 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
@@ -374,13 +374,13 @@ public class ClientUpdateMessageImpl implements ClientUpdateMessage, Sizeable, N
this._value = serializedValue = CacheServerHelper.serialize(latestValue);
}
}
- if (clientVersion.compareTo(Version.GFE_70) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_70)) {
message = getGFE70Message(proxy, serializedValue, conflation, clientVersion);
- } else if (clientVersion.compareTo(Version.GFE_65) >= 0) {
+ } else if (clientVersion.isNotOlderThan(Version.GFE_65)) {
message = getGFE65Message(proxy, serializedValue, conflation, clientVersion);
- } else if (clientVersion.compareTo(Version.GFE_61) >= 0) {
+ } else if (clientVersion.isNotOlderThan(Version.GFE_61)) {
message = getGFE61Message(proxy, serializedValue, conflation, clientVersion);
- } else if (clientVersion.compareTo(Version.GFE_57) >= 0) {
+ } else if (clientVersion.isNotOlderThan(Version.GFE_57)) {
message = getGFEMessage(proxy.getProxyID(), latestValue, clientVersion);
} else {
throw new IOException(
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/MessageDispatcher.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/MessageDispatcher.java
index 899b182..91b1496 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/MessageDispatcher.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/MessageDispatcher.java
@@ -137,7 +137,7 @@ public class MessageDispatcher extends LoggingThread {
((HAContainerWrapper) proxy._cacheClientNotifier.getHaContainer())
.putProxy(HARegionQueue.createRegionName(getProxy().getHARegionName()), getProxy());
boolean createDurableQueue = proxy.proxyID.isDurable();
- boolean canHandleDelta = (proxy.getClientVersion().compareTo(Version.GFE_61) >= 0)
+ boolean canHandleDelta = (proxy.getClientVersion().isNotOlderThan(Version.GFE_61))
&& InternalDistributedSystem.getAnyInstance().getConfig().getDeltaPropagation()
&& !(this._proxy.clientConflation == Handshake.CONFLATION_ON);
if ((createDurableQueue || canHandleDelta) && logger.isDebugEnabled()) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
index dbaade3..1cfdad0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnection.java
@@ -362,7 +362,7 @@ public abstract class ServerConnection implements Runnable {
setHandshake(readHandshake);
setProxyId(readHandshake.getMembershipId());
- if (readHandshake.getVersion().compareTo(Version.GFE_65) < 0
+ if (readHandshake.getVersion().isOlderThan(Version.GFE_65)
|| getCommunicationMode().isWAN()) {
try {
setAuthAttributes();
@@ -1125,7 +1125,7 @@ public abstract class ServerConnection implements Runnable {
public Part updateAndGetSecurityPart() {
// need to take care all message types here
if (AcceptorImpl.isAuthenticationRequired()
- && handshake.getVersion().compareTo(Version.GFE_65) >= 0
+ && handshake.getVersion().isNotOlderThan(Version.GFE_65)
&& !communicationMode.isWAN() && !requestMessage.getAndResetIsMetaRegion()
&& !isInternalMessage(requestMessage, allowInternalMessagesWithoutCredentials)) {
setSecurityPart();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
index b888a40..31c22e0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeFactory.java
@@ -49,7 +49,7 @@ class ServerSideHandshakeFactory {
logger.debug("Client version: {}", clientVersion);
}
- if (clientVersion.compareTo(Version.GFE_57) < 0) {
+ if (clientVersion.isOlderThan(Version.GFE_57)) {
throw new UnsupportedVersionException("Unsupported version " + clientVersion
+ "Server's current version " + currentServerVersion);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
index 92de171..e77d2ae 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerSideHandshakeImpl.java
@@ -85,7 +85,7 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
DataInputStream dataInputStream = new DataInputStream(inputStream);
DataOutputStream dataOutputStream = new DataOutputStream(sock.getOutputStream());
this.clientReadTimeout = dataInputStream.readInt();
- if (clientVersion.compareTo(Version.CURRENT) < 0) {
+ if (clientVersion.isOlderThan(Version.CURRENT)) {
// versioned streams allow object serialization code to deal with older clients
dataInputStream = new VersionedDataInputStream(dataInputStream, clientVersion);
dataOutputStream =
@@ -94,12 +94,12 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
this.id = ClientProxyMembershipID.readCanonicalized(dataInputStream);
// Note: credentials should always be the last piece in handshake for
// Diffie-Hellman key exchange to work
- if (clientVersion.compareTo(Version.GFE_603) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_603)) {
setOverrides(new byte[] {dataInputStream.readByte()});
} else {
setClientConflation(dataInputStream.readByte());
}
- if (this.clientVersion.compareTo(Version.GFE_65) < 0 || communicationMode.isWAN()) {
+ if (this.clientVersion.isOlderThan(Version.GFE_65) || communicationMode.isWAN()) {
this.credentials =
readCredentials(dataInputStream, dataOutputStream, sys, this.securityService);
} else {
@@ -133,7 +133,7 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
int queueSize, CommunicationMode communicationMode, Principal principal) throws IOException {
DataOutputStream dos = new DataOutputStream(out);
DataInputStream dis;
- if (clientVersion.compareTo(Version.CURRENT) < 0) {
+ if (clientVersion.isOlderThan(Version.CURRENT)) {
dis = new VersionedDataInputStream(in, clientVersion);
dos = new VersionedDataOutputStream(dos, clientVersion);
} else {
@@ -171,7 +171,7 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
dos.writeUTF("");
// Write delta-propagation property value if this is not WAN.
- if (!communicationMode.isWAN() && this.clientVersion.compareTo(Version.GFE_61) >= 0) {
+ if (!communicationMode.isWAN() && this.clientVersion.isNotOlderThan(Version.GFE_61)) {
dos.writeBoolean(((InternalDistributedSystem) this.system).getConfig().getDeltaPropagation());
}
@@ -183,14 +183,14 @@ public class ServerSideHandshakeImpl extends Handshake implements ServerSideHand
// Write the distributed system id if this is a 6.6 or greater client
// on the remote side of the gateway
- if (communicationMode.isWAN() && this.clientVersion.compareTo(Version.GFE_66) >= 0
- && currentServerVersion.compareTo(Version.GFE_66) >= 0) {
+ if (communicationMode.isWAN() && this.clientVersion.isNotOlderThan(Version.GFE_66)
+ && currentServerVersion.isNotOlderThan(Version.GFE_66)) {
dos.writeByte(((InternalDistributedSystem) this.system).getDistributionManager()
.getDistributedSystemId());
}
- if ((communicationMode.isWAN()) && this.clientVersion.compareTo(Version.GFE_80) >= 0
- && currentServerVersion.compareTo(Version.GFE_80) >= 0) {
+ if ((communicationMode.isWAN()) && this.clientVersion.isNotOlderThan(Version.GFE_80)
+ && currentServerVersion.isNotOlderThan(Version.GFE_80)) {
int pdxSize = PeerTypeRegistration.getPdxRegistrySize();
dos.writeInt(pdxSize);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SocketMessageWriter.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SocketMessageWriter.java
index b876116..a18b750 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SocketMessageWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/SocketMessageWriter.java
@@ -45,7 +45,7 @@ public class SocketMessageWriter {
msg = "";
}
dos.writeUTF(msg);
- if (clientVersion != null && clientVersion.compareTo(Version.GFE_61) >= 0) {
+ if (clientVersion != null && clientVersion.isNotOlderThan(Version.GFE_61)) {
// get all the instantiators.
Instantiator[] instantiators = InternalInstantiator.getInstantiators();
HashMap instantiatorMap = new HashMap();
@@ -68,7 +68,7 @@ public class SocketMessageWriter {
for (DataSerializer dataSerializer : dataSerializers) {
dataSerializersMap.put(dataSerializer.getId(),
dataSerializer.getClass().toString().substring(6));
- if (clientVersion.compareTo(Version.GFE_6516) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_6516)) {
ArrayList<String> supportedClassNames = new ArrayList<String>();
for (Class clazz : dataSerializer.getSupportedClasses()) {
supportedClassNames.add(clazz.getName());
@@ -78,10 +78,10 @@ public class SocketMessageWriter {
}
}
DataSerializer.writeHashMap(dataSerializersMap, dos);
- if (clientVersion.compareTo(Version.GFE_6516) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_6516)) {
DataSerializer.writeHashMap(dsToSupportedClasses, dos);
}
- if (clientVersion.compareTo(Version.GEODE_1_5_0) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GEODE_1_5_0)) {
dos.writeInt(CLIENT_PING_TASK_PERIOD);
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/CloseConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/CloseConnection.java
index 5439d44..27f94f6 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/CloseConnection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/CloseConnection.java
@@ -43,7 +43,7 @@ public class CloseConnection extends BaseCommand {
final SecurityService securityService, long start) throws IOException {
CacheServerStats stats = serverConnection.getCacheServerStats();
long oldStart = start;
- boolean respondToClient = serverConnection.getClientVersion().compareTo(Version.GFE_90) >= 0;
+ boolean respondToClient = serverConnection.getClientVersion().isNotOlderThan(Version.GFE_90);
start = DistributionStats.getStatTime();
stats.incReadCloseConnectionRequestTime(start - oldStart);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GatewayReceiverCommand.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GatewayReceiverCommand.java
index 0497c2c..df6f5f6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GatewayReceiverCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/GatewayReceiverCommand.java
@@ -802,7 +802,7 @@ public class GatewayReceiverCommand extends BaseCommand {
// For older gateway senders, we need to send back an exception
// they can deserialize.
if ((servConn.getClientVersion() == null
- || servConn.getClientVersion().compareTo(Version.GFE_80) < 0)
+ || servConn.getClientVersion().isOlderThan(Version.GFE_80))
&& exception instanceof PdxRegistryMismatchException) {
PdxConfigurationException newException =
new PdxConfigurationException(exception.getMessage());
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/Put65.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/Put65.java
index 89a6d37..a6f3f97 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/Put65.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/Put65.java
@@ -310,7 +310,7 @@ public class Put65 extends BaseCommand {
oldValue = ((CachedDeserializable) oldValue).getSerializedValue();
} else if (oldValue instanceof byte[]) {
oldValueIsObject = false;
- } else if ((oldValue instanceof Token) && clientVersion.compareTo(Version.GFE_651) <= 0) {
+ } else if ((oldValue instanceof Token) && clientVersion.isNotNewerThan(Version.GFE_651)) {
// older clients don't know that Token is now a DSFID class, so we
// put the token in a serialized form they can consume
HeapDataOutputStream str = new HeapDataOutputStream(Version.CURRENT);
@@ -344,7 +344,7 @@ public class Put65 extends BaseCommand {
oldValue = ((CachedDeserializable) oldValue).getSerializedValue();
} else if (oldValue instanceof byte[]) {
oldValueIsObject = false;
- } else if ((oldValue instanceof Token) && clientVersion.compareTo(Version.GFE_651) <= 0) {
+ } else if ((oldValue instanceof Token) && clientVersion.isNotNewerThan(Version.GFE_651)) {
// older clients don't know that Token is now a DSFID class, so we
// put the token in a serialized form they can consume
HeapDataOutputStream str = new HeapDataOutputStream(Version.CURRENT);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterest61.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterest61.java
index 2ad455c..2b651c8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterest61.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterest61.java
@@ -105,7 +105,7 @@ public class RegisterInterest61 extends BaseCommand {
try {
Part regionDataPolicyPart = clientMessage.getPart(clientMessage.getNumberOfParts() - 1);
regionDataPolicyPartBytes = (byte[]) regionDataPolicyPart.getObject();
- if (serverConnection.getClientVersion().compareTo(Version.GFE_80) >= 0) {
+ if (serverConnection.getClientVersion().isNotOlderThan(Version.GFE_80)) {
// The second byte here is serializeValues
serializeValues = regionDataPolicyPartBytes[1] == (byte) 0x01;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterestList66.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterestList66.java
index 49a6111..4766bfe 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterestList66.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/RegisterInterestList66.java
@@ -97,7 +97,7 @@ public class RegisterInterestList66 extends BaseCommand {
try {
Part regionDataPolicyPart = clientMessage.getPart(clientMessage.getNumberOfParts() - 1);
regionDataPolicyPartBytes = (byte[]) regionDataPolicyPart.getObject();
- if (serverConnection.getClientVersion().compareTo(Version.GFE_80) >= 0) {
+ if (serverConnection.getClientVersion().isNotOlderThan(Version.GFE_80)) {
// The second byte here is serializeValues
serializeValues = regionDataPolicyPartBytes[1] == (byte) 0x01;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
index 4f1abb3..045ab2c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/versions/VersionTag.java
@@ -417,7 +417,7 @@ public abstract class VersionTag<T extends VersionSource>
try {
this.previousMemberID = readMember(in);
} catch (BufferUnderflowException e) {
- if (context.getSerializationVersion().compareTo(Version.GEODE_1_11_0) < 0) {
+ if (context.getSerializationVersion().isOlderThan(Version.GEODE_1_11_0)) {
// GEODE-7219: older versions may report HAS_PREVIOUS_MEMBER_ID but not transmit it
logger.info("Buffer underflow encountered while reading a version tag - ignoring");
} else {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
index 118ec78..0a9e3c7 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
@@ -557,7 +557,7 @@ public class GatewaySenderAdvisor extends DistributionAdvisor {
this.senderEventListenerClassNames = DataSerializer.readArrayList(in);
this.isDiskSynchronous = in.readBoolean();
this.dispatcherThreads = in.readInt();
- if (StaticSerialization.getVersionForDataStream(in).compareTo(Version.GFE_90) < 0) {
+ if (StaticSerialization.getVersionForDataStream(in).isOlderThan(Version.GFE_90)) {
Gateway.OrderPolicy oldOrderPolicy = DataSerializer.readObject(in);
if (oldOrderPolicy != null) {
if (oldOrderPolicy.name().equals(OrderPolicy.KEY.name())) {
@@ -599,7 +599,7 @@ public class GatewaySenderAdvisor extends DistributionAdvisor {
DataSerializer.writeArrayList(senderEventListenerClassNames, out);
out.writeBoolean(isDiskSynchronous);
out.writeInt(dispatcherThreads);
- if (StaticSerialization.getVersionForDataStream(out).compareTo(Version.GFE_90) < 0
+ if (StaticSerialization.getVersionForDataStream(out).isOlderThan(Version.GFE_90)
&& this.orderPolicy != null) {
String orderPolicyName = this.orderPolicy.name();
if (orderPolicyName.equals(Gateway.OrderPolicy.KEY.name())) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
index 48bd1b5..e3e6673 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java
@@ -2813,7 +2813,7 @@ public class Connection implements Runnable {
remoteVersion = Version.readVersion(dis, true);
int dominoNumber = 0;
if (remoteVersion == null
- || remoteVersion.compareTo(Version.GFE_80) >= 0) {
+ || remoteVersion.isNotOlderThan(Version.GFE_80)) {
dominoNumber = dis.readInt();
if (sharedResource) {
dominoNumber = 0;
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/Configuration.java b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/Configuration.java
index c9af54d..616915b 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/Configuration.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/configuration/domain/Configuration.java
@@ -186,7 +186,7 @@ public class Configuration implements DataSerializable {
} else {
// version of the data we are reading (1.12 or later)
Version version = Version.fromOrdinalNoThrow(Version.readOrdinal(in), true);
- if (version.compareTo(Version.GEODE_1_12_0) >= 0) {
+ if (version.isNotOlderThan(Version.GEODE_1_12_0)) {
deployments.putAll(DataSerializer.readHashMap(in));
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxField.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxField.java
index 77b1618..5ea3700 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxField.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxField.java
@@ -173,7 +173,7 @@ public class PdxField implements DataSerializable, Comparable<PdxField> {
// For this reason the pdx delete-field command should only be used after
// all member have been upgraded to 8.1 or later.
Version sourceVersion = StaticSerialization.getVersionForDataStream(out);
- if (sourceVersion.compareTo(Version.GFE_81) >= 0) {
+ if (sourceVersion.isNotOlderThan(Version.GFE_81)) {
if (this.deleted) {
bits |= DELETED_BIT;
}
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxType.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxType.java
index 474ce7e..0fc2daa 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxType.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxType.java
@@ -135,7 +135,7 @@ public class PdxType implements DataSerializable {
// For this reason the pdx delete-field command should only be used after
// all member have been upgraded to 8.1 or later.
Version sourceVersion = StaticSerialization.getVersionForDataStream(out);
- if (sourceVersion.compareTo(Version.GFE_81) >= 0) {
+ if (sourceVersion.isNotOlderThan(Version.GFE_81)) {
if (this.hasDeletedField) {
bits |= HAS_DELETED_FIELD_BIT;
}
diff --git a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierImpl.java b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierImpl.java
index 2b6e1dc..e521751 100644
--- a/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierImpl.java
+++ b/geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/MemberIdentifierImpl.java
@@ -895,7 +895,7 @@ public class MemberIdentifierImpl implements MemberIdentifier, DataSerializableF
.setUniqueTag(uniqueTag)
.build();
- if (StaticSerialization.getVersionForDataStream(in).compareTo(Version.GFE_90) == 0) {
+ if (StaticSerialization.getVersionForDataStream(in) == Version.GFE_90) {
memberData.readAdditionalData(in);
}
}
@@ -926,8 +926,8 @@ public class MemberIdentifierImpl implements MemberIdentifier, DataSerializableF
StaticSerialization.writeString(memberData.getName(), out);
Version outputVersion = StaticSerialization.getVersionForDataStream(out);
- if (0 <= outputVersion.compareTo(Version.GFE_90)
- && outputVersion.compareTo(Version.GEODE_1_1_0) < 0) {
+ if (outputVersion.isOlderThan(Version.GEODE_1_1_0)
+ && outputVersion.isNotOlderThan(Version.GFE_90)) {
memberData.writeAdditionalData(out);
}
}
diff --git a/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java b/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
index 359a08f..f8dc5b4 100644
--- a/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
+++ b/geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
@@ -108,7 +108,7 @@ public class OldClientSupportProvider implements OldClientSupportService {
if (out instanceof VersionedDataOutputStream) {
VersionedDataOutputStream vout = (VersionedDataOutputStream) out;
Version version = vout.getVersion();
- if (version != null && version.compareTo(Version.GFE_90) < 0) {
+ if (version != null && version.isOlderThan(Version.GFE_90)) {
return processClassName(name, GEODE, GEMFIRE, newClassNamesToOld);
}
}
@@ -121,7 +121,7 @@ public class OldClientSupportProvider implements OldClientSupportService {
if (theThrowable == null) {
return theThrowable;
}
- if (clientVersion.compareTo(Version.GFE_90) >= 0) {
+ if (clientVersion.isNotOlderThan(Version.GFE_90)) {
return theThrowable;
}
diff --git a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java
index f49c923..09cd401 100644
--- a/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java
+++ b/geode-serialization/src/main/java/org/apache/geode/internal/serialization/Version.java
@@ -638,4 +638,45 @@ public class Version implements Comparable<Version> {
public boolean isCurrentVersion() {
return this.ordinal == CURRENT.ordinal;
}
+
+ /**
+ * Test if this version is older than given version.
+ *
+ * @param version to compare to this version
+ * @return true if this is older than version, otherwise false.
+ */
+ public final boolean isOlderThan(final Version version) {
+ return compareTo(version) < 0;
+ }
+
+ /**
+ * Test if this version is not older than given version.
+ *
+ * @param version to compare to this version
+ * @return true if this is the same version or newer, otherwise false.
+ */
+ public final boolean isNotOlderThan(final Version version) {
+ return compareTo(version) >= 0;
+ }
+
+ /**
+ * Test if this version is newer than given version.
+ *
+ * @param version to compare to this version
+ * @return true if this is newer than version, otherwise false.
+ */
+ public final boolean isNewerThan(final Version version) {
+ return compareTo(version) > 0;
+ }
+
+ /**
+ * Test if this version is not newer than given version.
+ *
+ * @param version to compare to this version
+ * @return true if this is the same version or older, otherwise false.
+ */
+ public final boolean isNotNewerThan(final Version version) {
+ return compareTo(version) <= 0;
+ }
+
}
diff --git a/geode-serialization/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java b/geode-serialization/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
index 5b610c1..c64db78 100644
--- a/geode-serialization/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
+++ b/geode-serialization/src/test/java/org/apache/geode/internal/serialization/VersionJUnitTest.java
@@ -42,6 +42,9 @@ public class VersionJUnitTest {
compare(Version.GEODE_1_9_0, Version.GEODE_1_8_0);
compare(Version.GEODE_1_10_0, Version.GEODE_1_9_0);
compare(Version.GEODE_1_11_0, Version.GEODE_1_10_0);
+ compare(Version.GEODE_1_12_0, Version.GEODE_1_11_0);
+ compare(Version.GEODE_1_13_0, Version.GEODE_1_12_0);
+ compare(Version.GEODE_1_14_0, Version.GEODE_1_13_0);
}
private void compare(Version later, Version earlier) {
@@ -53,6 +56,30 @@ public class VersionJUnitTest {
assertTrue(later.compareTo(earlier.ordinal()) > 0);
assertTrue(later.compareTo(later.ordinal()) == 0);
assertTrue(earlier.compareTo(later.ordinal()) < 0);
+
+ compareNewerVsOlder(later, earlier);
+ }
+
+ private void compareNewerVsOlder(Version newer, Version older) {
+ assertTrue(older.isOlderThan(newer));
+ assertFalse(newer.isOlderThan(older));
+ assertFalse(newer.isOlderThan(newer));
+ assertFalse(older.isOlderThan(older));
+
+ assertTrue(older.isNotOlderThan(older));
+ assertFalse(older.isNotOlderThan(newer));
+ assertTrue(newer.isNotOlderThan(newer));
+ assertTrue(newer.isNotOlderThan(older));
+
+ assertTrue(newer.isNewerThan(older));
+ assertFalse(older.isNewerThan(newer));
+ assertFalse(newer.isNewerThan(newer));
+ assertFalse(older.isNewerThan(older));
+
+ assertTrue(older.isNotNewerThan(older));
+ assertTrue(older.isNotNewerThan(newer));
+ assertTrue(newer.isNotNewerThan(newer));
+ assertFalse(newer.isNotNewerThan(older));
}
@Test
@@ -68,4 +95,5 @@ public class VersionJUnitTest {
throws UnsupportedSerializationVersionException {
Version.fromOrdinal(Version.CURRENT_ORDINAL);
}
+
}