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>.