This is an automated email from the ASF dual-hosted git repository.

pivotalsarge 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 3939595  GEODE-4772: Enhance new protocol with ability to clear region 
of all entries. (#1590)
3939595 is described below

commit 393959526f50e235787f1b726fa1bf9b9ee17378
Author: Michael "Sarge" Dodge <mdo...@pivotal.io>
AuthorDate: Mon Mar 12 15:56:14 2018 -0700

    GEODE-4772: Enhance new protocol with ability to clear region of all 
entries. (#1590)
    
    * GEODE-4772: Enhance region with ability to clear.
    
    * GEODE-4772: Address review comments.
    
    * GEODE-4772: Spotless!!!!!
---
 .../geode/experimental/driver/ProtobufRegion.java  |  8 +++
 .../apache/geode/experimental/driver/Region.java   |  6 +++
 .../experimental/driver/RegionIntegrationTest.java | 11 ++++
 .../src/main/proto/v1/clientProtocol.proto         |  3 ++
 .../src/main/proto/v1/region_API.proto             |  7 +++
 .../operations/ClearRequestOperationHandler.java   | 62 ++++++++++++++++++++++
 .../registry/ProtobufOperationContextRegistry.java |  7 +++
 .../internal/protocol/protobuf/v1/MessageUtil.java |  1 -
 .../protobuf/v1}/ProtobufRequestUtilities.java     | 14 ++++-
 .../v1/acceptance/CacheOperationsJUnitTest.java    |  2 +-
 .../LocatorConnectionAuthenticationDUnitTest.java  |  2 +-
 .../v1/acceptance/LocatorConnectionDUnitTest.java  |  2 +-
 ... => ClearRequestOperationHandlerJUnitTest.java} | 51 +++++++++---------
 .../GetAllRequestOperationHandlerJUnitTest.java    |  2 +-
 .../GetAndPutJsonDocumentsDUnitTest.java           |  2 +-
 ...egionNamesRequestOperationHandlerJUnitTest.java |  2 +-
 .../GetRequestOperationHandlerJUnitTest.java       |  2 +-
 .../GetServerOperationHandlerJUnitTest.java        |  2 +-
 .../KeySetOperationHandlerJUnitTest.java           |  2 +-
 .../PutAllRequestOperationHandlerJUnitTest.java    |  2 +-
 .../PutRequestOperationHandlerJUnitTest.java       |  2 +-
 .../RemoveRequestOperationHandlerJUnitTest.java    |  2 +-
 22 files changed, 153 insertions(+), 41 deletions(-)

diff --git 
a/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/ProtobufRegion.java
 
b/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/ProtobufRegion.java
index a5d730a..2870687 100644
--- 
a/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/ProtobufRegion.java
+++ 
b/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/ProtobufRegion.java
@@ -140,6 +140,14 @@ public class ProtobufRegion<K, V> implements Region<K, V> {
   }
 
   @Override
+  public void clear() throws IOException {
+    final Message request = Message.newBuilder()
+        
.setClearRequest(RegionAPI.ClearRequest.newBuilder().setRegionName(name)).build();
+
+    protobufChannel.sendRequest(request, MessageTypeCase.CLEARRESPONSE);
+  }
+
+  @Override
   public void remove(K key) throws IOException {
     final Message request = Message.newBuilder()
         .setRemoveRequest(
diff --git 
a/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/Region.java
 
b/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/Region.java
index 4c53b76..bbdbe2d 100644
--- 
a/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/Region.java
+++ 
b/geode-experimental-driver/src/main/java/org/apache/geode/experimental/driver/Region.java
@@ -78,6 +78,12 @@ public interface Region<K, V> {
    */
   void putAll(Map<K, V> values) throws IOException;
 
+  /**
+   * Removes all keys and values associated from this region.
+   *
+   * @throws IOException
+   */
+  void clear() throws IOException;
 
   /**
    * Removes any value associated with the <code>key</code> from this region.
diff --git 
a/geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/RegionIntegrationTest.java
 
b/geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/RegionIntegrationTest.java
index bd168ea..78af30c 100644
--- 
a/geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/RegionIntegrationTest.java
+++ 
b/geode-experimental-driver/src/test/java/org/apache/geode/experimental/driver/RegionIntegrationTest.java
@@ -154,4 +154,15 @@ public class RegionIntegrationTest extends 
IntegrationTestBase {
     Region<JSONWrapper, JSONWrapper> region = driver.getRegion("region");
     region.remove(JSONWrapper.wrapJSON("{\"name\":\"Johan\"]"));
   }
+
+  @Test
+  public void clearNonEmptyRegion() throws Exception {
+    Region<String, String> region = driver.getRegion("region");
+
+    region.put("key", "value");
+    assertEquals(1, region.size());
+
+    region.clear();
+    assertEquals(0, region.size());
+  }
 }
diff --git a/geode-protobuf-messages/src/main/proto/v1/clientProtocol.proto 
b/geode-protobuf-messages/src/main/proto/v1/clientProtocol.proto
index ea6d99c..2b21c89 100644
--- a/geode-protobuf-messages/src/main/proto/v1/clientProtocol.proto
+++ b/geode-protobuf-messages/src/main/proto/v1/clientProtocol.proto
@@ -75,6 +75,9 @@ message Message {
 
         DisconnectClientRequest disconnectClientRequest = 30;
         DisconnectClientResponse disconnectClientResponse = 31;
+
+        ClearRequest clearRequest = 32;
+        ClearResponse clearResponse = 33;
     }
 }
 
diff --git a/geode-protobuf-messages/src/main/proto/v1/region_API.proto 
b/geode-protobuf-messages/src/main/proto/v1/region_API.proto
index bc385b6..407409f 100644
--- a/geode-protobuf-messages/src/main/proto/v1/region_API.proto
+++ b/geode-protobuf-messages/src/main/proto/v1/region_API.proto
@@ -108,3 +108,10 @@ message KeySetRequest {
 message KeySetResponse {
     repeated EncodedValue keys = 1;
 }
+
+message ClearRequest {
+    string regionName = 1;
+}
+
+message ClearResponse {
+}
diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandler.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandler.java
new file mode 100644
index 0000000..7e3b400
--- /dev/null
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandler.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.protocol.protobuf.v1.operations;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import org.apache.geode.annotations.Experimental;
+import org.apache.geode.cache.Region;
+import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
+import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
+import org.apache.geode.internal.protocol.protobuf.v1.Failure;
+import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
+import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
+import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
+import org.apache.geode.internal.protocol.protobuf.v1.Result;
+import org.apache.geode.internal.protocol.protobuf.v1.Success;
+import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
+import org.apache.geode.security.ResourcePermission;
+
+@Experimental
+public class ClearRequestOperationHandler
+    implements ProtobufOperationHandler<RegionAPI.ClearRequest, 
RegionAPI.ClearResponse> {
+  private static final Logger logger = LogManager.getLogger();
+
+  @Override
+  public Result<RegionAPI.ClearResponse> process(ProtobufSerializationService 
serializationService,
+      RegionAPI.ClearRequest request, MessageExecutionContext 
messageExecutionContext)
+      throws InvalidExecutionContextException, DecodingException {
+
+    String regionName = request.getRegionName();
+    Region region = messageExecutionContext.getCache().getRegion(regionName);
+    if (region == null) {
+      logger.error("Received clear request for nonexistent region: {}", 
regionName);
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR,
+          "Region \"" + regionName + "\" not found");
+    }
+
+    region.clear();
+
+    return Success.of(RegionAPI.ClearResponse.newBuilder().build());
+  }
+
+  public static ResourcePermission 
determineRequiredPermission(RegionAPI.ClearRequest request,
+      ProtobufSerializationService serializer) throws DecodingException {
+    return new ResourcePermission(ResourcePermission.Resource.DATA,
+        ResourcePermission.Operation.WRITE, request.getRegionName());
+  }
+}
diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/registry/ProtobufOperationContextRegistry.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/registry/ProtobufOperationContextRegistry.java
index 552f71e..d950baa 100644
--- 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/registry/ProtobufOperationContextRegistry.java
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/registry/ProtobufOperationContextRegistry.java
@@ -23,6 +23,7 @@ import 
org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol.Message.MessageTypeCase;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufOperationContext;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
+import 
org.apache.geode.internal.protocol.protobuf.v1.operations.ClearRequestOperationHandler;
 import 
org.apache.geode.internal.protocol.protobuf.v1.operations.DisconnectClientRequestOperationHandler;
 import 
org.apache.geode.internal.protocol.protobuf.v1.operations.ExecuteFunctionOnGroupRequestOperationHandler;
 import 
org.apache.geode.internal.protocol.protobuf.v1.operations.ExecuteFunctionOnMemberRequestOperationHandler;
@@ -167,5 +168,11 @@ public class ProtobufOperationContextRegistry {
             new KeySetOperationHandler(),
             opsResp -> 
ClientProtocol.Message.newBuilder().setKeySetResponse(opsResp),
             KeySetOperationHandler::determineRequiredPermission));
+
+    operationContexts.put(ClientProtocol.Message.MessageTypeCase.CLEARREQUEST,
+        new ProtobufOperationContext<>(ClientProtocol.Message::getClearRequest,
+            new ClearRequestOperationHandler(),
+            opsResp -> 
ClientProtocol.Message.newBuilder().setClearResponse(opsResp),
+            ClearRequestOperationHandler::determineRequiredPermission));
   }
 }
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/MessageUtil.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/MessageUtil.java
index 156e9ce..7080202 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/MessageUtil.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/MessageUtil.java
@@ -25,7 +25,6 @@ import com.google.protobuf.MessageLite;
 
 import org.apache.geode.internal.protocol.protobuf.ProtocolVersion;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 
 public class MessageUtil {
diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufRequestUtilities.java
similarity index 91%
rename from 
geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
rename to 
geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufRequestUtilities.java
index c4a4833..873fe02 100644
--- 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufRequestUtilities.java
@@ -12,7 +12,7 @@
  * or implied. See the License for the specific language governing permissions 
and limitations under
  * the License.
  */
-package org.apache.geode.internal.protocol.protobuf.v1.utilities;
+package org.apache.geode.internal.protocol.protobuf.v1;
 
 import java.util.Set;
 
@@ -44,6 +44,18 @@ public abstract class ProtobufRequestUtilities {
   }
 
   /**
+   * Creates a request object containing a RegionAPI.ClearRequest
+   *
+   * @param regionName - Name of the region being cleared
+   * @return Request object containing the passed params.
+   */
+  public static ClientProtocol.Message createClearRequest(String regionName) {
+    RegionAPI.ClearRequest clearRequest =
+        RegionAPI.ClearRequest.newBuilder().setRegionName(regionName).build();
+    return 
ClientProtocol.Message.newBuilder().setClearRequest(clearRequest).build();
+  }
+
+  /**
    * Creates a request object containing a RegionAPI.RemoveRequest
    *
    * @param regionName - Name of the region being deleted from
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheOperationsJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheOperationsJUnitTest.java
index 44a45d6..a997590 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheOperationsJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/CacheOperationsJUnitTest.java
@@ -60,12 +60,12 @@ import org.apache.geode.internal.net.SocketCreatorFactory;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageUtil;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serializer.ProtobufProtocolSerializer;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serializer.exception.InvalidProtocolMessageException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 import org.apache.geode.util.test.TestUtil;
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionAuthenticationDUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionAuthenticationDUnitTest.java
index 4a90590..a63c5e4 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionAuthenticationDUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionAuthenticationDUnitTest.java
@@ -35,9 +35,9 @@ import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.ConnectionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageUtil;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serializer.ProtobufProtocolSerializer;
 import 
org.apache.geode.internal.protocol.protobuf.v1.state.exception.ConnectionStateException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 import org.apache.geode.security.SimpleTestSecurityManager;
 import org.apache.geode.test.dunit.Host;
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionDUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionDUnitTest.java
index 48650da..ebd4ac0 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionDUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/acceptance/LocatorConnectionDUnitTest.java
@@ -39,9 +39,9 @@ import 
org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageUtil;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serializer.ProtobufProtocolSerializer;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serializer.exception.InvalidProtocolMessageException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.dunit.DistributedTestUtils;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.IgnoredException;
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandlerJUnitTest.java
similarity index 64%
copy from 
geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
copy to 
geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandlerJUnitTest.java
index 56c216e..167ce46 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ClearRequestOperationHandlerJUnitTest.java
@@ -18,14 +18,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -35,47 +30,49 @@ import 
org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
-public class KeySetOperationHandlerJUnitTest extends OperationHandlerJUnitTest 
{
-  private final String TEST_KEY1 = "Key1";
-  private final String TEST_KEY2 = "Key2";
-  private final String TEST_KEY3 = "Key3";
+public class ClearRequestOperationHandlerJUnitTest extends 
OperationHandlerJUnitTest {
   private final String TEST_REGION = "test region";
+  private final String MISSING_REGION = "missing region";
+  private Region regionStub;
 
   @Before
   public void setUp() throws Exception {
-    Region regionStub = mock(Region.class);
-    when(regionStub.keySet())
-        .thenReturn(new HashSet<String>(Arrays.asList(TEST_KEY1, TEST_KEY2, 
TEST_KEY3)));
+    regionStub = mock(Region.class);
 
     when(cacheStub.getRegion(TEST_REGION)).thenReturn(regionStub);
-    operationHandler = new KeySetOperationHandler();
+    when(cacheStub.getRegion(MISSING_REGION)).thenReturn(null);
+    operationHandler = new ClearRequestOperationHandler();
   }
 
   @Test
-  public void verifyKeySetReturnsExpectedKeys() throws Exception {
-    RegionAPI.KeySetRequest request =
-        
RegionAPI.KeySetRequest.newBuilder().setRegionName(TEST_REGION).build();
-    Result result = operationHandler.process(serializationService, request,
+  public void processReturnsSuccessForValidRegion() throws Exception {
+    RegionAPI.ClearRequest removeRequest =
+        
ProtobufRequestUtilities.createClearRequest(TEST_REGION).getClearRequest();
+    Result result = operationHandler.process(serializationService, 
removeRequest,
         TestExecutionContext.getNoAuthCacheExecutionContext(cacheStub));
 
-    Assert.assertTrue(result instanceof Success);
-    RegionAPI.KeySetResponse response = (RegionAPI.KeySetResponse) 
result.getMessage();
+    assertTrue(result instanceof Success);
+  }
+
+  @Test
+  public void processReturnsFailureForInvalidRegion() throws Exception {
+    RegionAPI.ClearRequest removeRequest =
+        
ProtobufRequestUtilities.createClearRequest(MISSING_REGION).getClearRequest();
+    Result result = operationHandler.process(serializationService, 
removeRequest,
+        TestExecutionContext.getNoAuthCacheExecutionContext(cacheStub));
 
-    List<Object> results = 
response.getKeysList().stream().map(serializationService::decode)
-        .collect(Collectors.toList());
-    assertEquals(3, results.size());
-    assertTrue(results.contains(TEST_KEY1));
-    assertTrue(results.contains(TEST_KEY2));
-    assertTrue(results.contains(TEST_KEY3));
+    assertTrue(result instanceof Failure);
+    ClientProtocol.ErrorResponse errorMessage = result.getErrorMessage();
+    assertEquals(BasicTypes.ErrorCode.SERVER_ERROR, 
errorMessage.getError().getErrorCode());
   }
 }
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandlerJUnitTest.java
index 41ea242..9ceb31f 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandlerJUnitTest.java
@@ -39,13 +39,13 @@ import org.apache.geode.cache.CacheLoaderException;
 import org.apache.geode.cache.Region;
 import org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAndPutJsonDocumentsDUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAndPutJsonDocumentsDUnitTest.java
index 4bb7a6c..e51b6df 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAndPutJsonDocumentsDUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAndPutJsonDocumentsDUnitTest.java
@@ -30,12 +30,12 @@ import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 import org.apache.geode.pdx.PdxInstance;
 import org.apache.geode.pdx.PdxReader;
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
index d2fbc7f..b50eb30 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandlerJUnitTest.java
@@ -31,10 +31,10 @@ import org.junit.experimental.categories.Category;
 
 import org.apache.geode.cache.Region;
 import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandlerJUnitTest.java
index 47a651c..973fa5a 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandlerJUnitTest.java
@@ -29,6 +29,7 @@ import 
org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufOpsProcessor;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
@@ -36,7 +37,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.registry.ProtobufOperationContextRegistry;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandlerJUnitTest.java
index 5985c55..828686d 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandlerJUnitTest.java
@@ -37,9 +37,9 @@ import 
org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI;
 import 
org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI.GetServerResponse;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
index 56c216e..a7c77ae 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/KeySetOperationHandlerJUnitTest.java
@@ -35,13 +35,13 @@ import 
org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandlerJUnitTest.java
index 5363893..30e1eac 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandlerJUnitTest.java
@@ -33,13 +33,13 @@ import org.junit.experimental.categories.Category;
 import org.apache.geode.cache.Region;
 import org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 import org.apache.geode.test.dunit.Assert;
 import org.apache.geode.test.junit.categories.UnitTest;
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandlerJUnitTest.java
index 39c2583..3da6017 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandlerJUnitTest.java
@@ -32,13 +32,13 @@ import 
org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandlerJUnitTest.java
index e42076c..db3cb09 100644
--- 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandlerJUnitTest.java
+++ 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandlerJUnitTest.java
@@ -30,13 +30,13 @@ import 
org.apache.geode.internal.protocol.TestExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
+import org.apache.geode.internal.protocol.protobuf.v1.ProtobufRequestUtilities;
 import 
org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import 
org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import 
org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufRequestUtilities;
 import org.apache.geode.test.junit.categories.UnitTest;
 
 @Category(UnitTest.class)

-- 
To stop receiving notification emails like this one, please contact
pivotalsa...@apache.org.

Reply via email to