You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by es...@apache.org on 2017/10/05 18:45:36 UTC
[geode] 02/02: Make region in TXRegionStub strong type to avoid
some casting in the code.
This is an automated email from the ASF dual-hosted git repository.
eshu11 pushed a commit to branch feature/GEODE-3679
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 0ce55f3b24f1951da18583f1ba6f1c275cca5243
Author: eshu <es...@pivotal.io>
AuthorDate: Thu Oct 5 11:42:14 2017 -0700
Make region in TXRegionStub strong type to avoid some casting in the code.
---
.../geode/internal/cache/PeerTXStateStub.java | 4 +--
.../cache/tx/AbstractPeerTXRegionStub.java | 4 +--
.../internal/cache/tx/DistributedTXRegionStub.java | 8 +++---
.../internal/cache/tx/PartitionedTXRegionStub.java | 31 +++++++++++-----------
.../cache/tx/AbstractPeerTXRegionStubTest.java | 2 +-
5 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PeerTXStateStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PeerTXStateStub.java
index 8e9ea89..80a2fc6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PeerTXStateStub.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PeerTXStateStub.java
@@ -169,14 +169,14 @@ public class PeerTXStateStub extends TXStateStub {
TXRegionStub stub = null;
if (region.getPartitionAttributes() != null) {
// a partitioned region
- stub = new PartitionedTXRegionStub(this, region);
+ stub = new PartitionedTXRegionStub(this, (PartitionedRegion) region);
} else if (region.getScope().isLocal()) {
// GEODE-3744 Local region should not be involved in a transaction on a PeerTXStateStub
throw new TransactionException(
"Local region " + region + " should not participate in a transaction not hosted locally");
} else {
// This is a dist region
- stub = new DistributedTXRegionStub(this, region);
+ stub = new DistributedTXRegionStub(this, (DistributedRegion) region);
}
return stub;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStub.java
index b4a2998..78273c5 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStub.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStub.java
@@ -29,11 +29,9 @@ import org.apache.geode.internal.i18n.LocalizedStrings;
public abstract class AbstractPeerTXRegionStub implements TXRegionStub {
protected final TXStateStub state;
- protected final LocalRegion region;
- public AbstractPeerTXRegionStub(TXStateStub txstate, LocalRegion r) {
+ public AbstractPeerTXRegionStub(TXStateStub txstate) {
this.state = txstate;
- this.region = r;
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistributedTXRegionStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistributedTXRegionStub.java
index f0294b7..17bd83b 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistributedTXRegionStub.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/DistributedTXRegionStub.java
@@ -52,10 +52,10 @@ import org.apache.geode.internal.i18n.LocalizedStrings;
public class DistributedTXRegionStub extends AbstractPeerTXRegionStub {
- private final LocalRegion region;
+ private final DistributedRegion region;
- public DistributedTXRegionStub(TXStateStub txstate, LocalRegion r) {
- super(txstate, r);
+ public DistributedTXRegionStub(TXStateStub txstate, DistributedRegion r) {
+ super(txstate);
this.region = r;
}
@@ -224,7 +224,7 @@ public class DistributedTXRegionStub extends AbstractPeerTXRegionStub {
public int entryCount() {
- return ((DistributedRegion) this.region).getRegionSize(this.state.getTarget());
+ return this.region.getRegionSize(this.state.getTarget());
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/PartitionedTXRegionStub.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/PartitionedTXRegionStub.java
index 10ae7a5..5673c68 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tx/PartitionedTXRegionStub.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tx/PartitionedTXRegionStub.java
@@ -63,8 +63,11 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
*/
private Map<Integer, Boolean> buckets = new HashMap<Integer, Boolean>();
- public PartitionedTXRegionStub(TXStateStub txstate, LocalRegion r) {
- super(txstate, r);
+ private final PartitionedRegion region;
+
+ public PartitionedTXRegionStub(TXStateStub txstate, PartitionedRegion r) {
+ super(txstate);
+ this.region = r;
}
public Map<Integer, Boolean> getBuckets() {
@@ -136,7 +139,7 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
private boolean isKeyInNonColocatedBucket(KeyInfo keyInfo) {
Map<Region<?, ?>, TXRegionStub> regionStubs = this.state.getRegionStubs();
Collection<PartitionedRegion> colcatedRegions = (Collection<PartitionedRegion>) ColocationHelper
- .getAllColocationRegions((PartitionedRegion) this.region).values();
+ .getAllColocationRegions(this.region).values();
// get all colocated region buckets touched in the transaction
for (PartitionedRegion colcatedRegion : colcatedRegions) {
PartitionedTXRegionStub regionStub =
@@ -160,9 +163,8 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
public Entry getEntry(KeyInfo keyInfo, boolean allowTombstones) {
- PartitionedRegion pr = (PartitionedRegion) region;
try {
- Entry e = pr.getEntryRemotely((InternalDistributedMember) state.getTarget(),
+ Entry e = region.getEntryRemotely((InternalDistributedMember) state.getTarget(),
keyInfo.getBucketId(), keyInfo.getKey(), false, allowTombstones);
trackBucketForTx(keyInfo);
return e;
@@ -238,9 +240,8 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
public boolean containsKey(KeyInfo keyInfo) {
- PartitionedRegion pr = (PartitionedRegion) region;
try {
- boolean retVal = pr.containsKeyRemotely((InternalDistributedMember) state.getTarget(),
+ boolean retVal = region.containsKeyRemotely((InternalDistributedMember) state.getTarget(),
keyInfo.getBucketId(), keyInfo.getKey());
trackBucketForTx(keyInfo);
return retVal;
@@ -282,10 +283,9 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
public boolean containsValueForKey(KeyInfo keyInfo) {
- PartitionedRegion pr = (PartitionedRegion) region;
try {
- boolean retVal = pr.containsValueForKeyRemotely((InternalDistributedMember) state.getTarget(),
- keyInfo.getBucketId(), keyInfo.getKey());
+ boolean retVal = region.containsValueForKeyRemotely(
+ (InternalDistributedMember) state.getTarget(), keyInfo.getBucketId(), keyInfo.getKey());
trackBucketForTx(keyInfo);
return retVal;
} catch (TransactionException e) {
@@ -318,10 +318,10 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
Object retVal = null;
final Object key = keyInfo.getKey();
final Object callbackArgument = keyInfo.getCallbackArg();
- PartitionedRegion pr = (PartitionedRegion) region;
try {
- retVal = pr.getRemotely((InternalDistributedMember) state.getTarget(), keyInfo.getBucketId(),
- key, callbackArgument, peferCD, requestingClient, clientEvent, false);
+ retVal =
+ region.getRemotely((InternalDistributedMember) state.getTarget(), keyInfo.getBucketId(),
+ key, callbackArgument, peferCD, requestingClient, clientEvent, false);
} catch (TransactionException e) {
RuntimeException re = getTransactionException(keyInfo, e);
re.initCause(e.getCause());
@@ -347,12 +347,11 @@ public class PartitionedTXRegionStub extends AbstractPeerTXRegionStub {
public Object getEntryForIterator(KeyInfo keyInfo, boolean allowTombstones) {
- PartitionedRegion pr = (PartitionedRegion) region;
- InternalDistributedMember primary = pr.getBucketPrimary(keyInfo.getBucketId());
+ InternalDistributedMember primary = region.getBucketPrimary(keyInfo.getBucketId());
if (primary.equals(state.getTarget())) {
return getEntry(keyInfo, allowTombstones);
} else {
- return pr.getSharedDataView().getEntry(keyInfo, pr, allowTombstones);
+ return region.getSharedDataView().getEntry(keyInfo, region, allowTombstones);
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStubTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStubTest.java
index 80888ef..a7240bb 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStubTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tx/AbstractPeerTXRegionStubTest.java
@@ -51,7 +51,7 @@ public class AbstractPeerTXRegionStubTest {
private class TestingAbstractPeerTXRegionStub extends AbstractPeerTXRegionStub {
private TestingAbstractPeerTXRegionStub(TXStateStub txState, LocalRegion r) {
- super(txState, r);
+ super(txState);
}
@Override
--
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.