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

upthewaterspout pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-examples.git


The following commit(s) were added to refs/heads/develop by this push:
     new 54e0322  Cleaning up the loader example by removing Consumer interface
54e0322 is described below

commit 54e03224bdac3437c27e21f05f7757353c9edcae
Author: Dan Smith <[email protected]>
AuthorDate: Fri Oct 20 16:25:45 2017 -0700

    Cleaning up the loader example by removing Consumer interface
---
 .../org/apache/geode/examples/loader/Example.java  | 29 +++++++++++-----------
 .../apache/geode/examples/loader/QuoteLoader.java  |  4 +--
 .../apache/geode/examples/loader/ExampleTest.java  | 14 ++++++-----
 3 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/loader/src/main/java/org/apache/geode/examples/loader/Example.java 
b/loader/src/main/java/org/apache/geode/examples/loader/Example.java
index c80676f..3186478 100644
--- a/loader/src/main/java/org/apache/geode/examples/loader/Example.java
+++ b/loader/src/main/java/org/apache/geode/examples/loader/Example.java
@@ -15,14 +15,14 @@
 package org.apache.geode.examples.loader;
 
 import java.util.Arrays;
-import java.util.function.Consumer;
+import java.util.Map;
 
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.client.ClientCache;
 import org.apache.geode.cache.client.ClientCacheFactory;
 import org.apache.geode.cache.client.ClientRegionShortcut;
 
-public class Example implements Consumer<Region<String, String>> {
+public class Example {
   private static final String[] AUTHORS =
       ("Anton Chekhov,C. J. Cherryh,Dorothy Parker,Douglas Adams,Emily 
Dickinson,"
           + "Ernest Hemingway,F. Scott Fitzgerald,Henry David Thoreau,Henry 
Wadsworth Longfellow,"
@@ -40,32 +40,31 @@ public class Example implements Consumer<Region<String, 
String>> {
         cache.<String, 
String>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY)
             .create("example-region");
 
-    new Example().accept(region);
+    printQuotes(region);
     cache.close();
   }
 
-  @Override
-  public void accept(Region<String, String> region) {
+  public static void printQuotes(Map<String, String> region) {
     // initial fetch invokes the cache loader
     {
-      long start = System.currentTimeMillis();
-      Arrays.stream(AUTHORS)
-          .forEach(author -> System.out.println(author + ": " + 
region.get(author)));
-
-      long elapsed = System.currentTimeMillis() - start;
+      long elapsed = printQuotesAndMeasureTime(region);
       System.out.println(
           String.format("\n\nLoaded %d definitions in %d ms\n\n", 
AUTHORS.length, elapsed));
     }
 
     // fetch from cache, really fast!
     {
-      long start = System.currentTimeMillis();
-      Arrays.stream(AUTHORS)
-          .forEach(author -> System.out.println(author + ": " + 
region.get(author)));
-
-      long elapsed = System.currentTimeMillis() - start;
+      long elapsed = printQuotesAndMeasureTime(region);
       System.out.println(
           String.format("\n\nFetched %d cached definitions in %d ms\n\n", 
AUTHORS.length, elapsed));
     }
   }
+
+  private static long printQuotesAndMeasureTime(Map<String, String> region) {
+    long start = System.currentTimeMillis();
+    Arrays.stream(AUTHORS)
+        .forEach(author -> System.out.println(author + ": " + 
region.get(author)));
+
+    return System.currentTimeMillis() - start;
+  }
 }
diff --git 
a/loader/src/main/java/org/apache/geode/examples/loader/QuoteLoader.java 
b/loader/src/main/java/org/apache/geode/examples/loader/QuoteLoader.java
index 4359572..ed7da41 100644
--- a/loader/src/main/java/org/apache/geode/examples/loader/QuoteLoader.java
+++ b/loader/src/main/java/org/apache/geode/examples/loader/QuoteLoader.java
@@ -25,7 +25,7 @@ import org.apache.geode.cache.LoaderHelper;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-public class QuoteLoader implements CacheLoader<String, String>, Declarable {
+public class QuoteLoader implements CacheLoader<String, String> {
   private static final Logger log = LogManager.getLogger(QuoteLoader.class);
 
   private final Map<String, String> quotes;
@@ -43,7 +43,7 @@ public class QuoteLoader implements CacheLoader<String, 
String>, Declarable {
   @Override
   public String load(LoaderHelper<String, String> helper) throws 
CacheLoaderException {
 
-    log.info("Loading quote for {} into region {}", helper.getKey(), 
helper.getRegion().getName());
+    log.info("Loading quote for {}", helper.getKey());
     String quote = quotes.get(helper.getKey());
 
     try {
diff --git 
a/loader/src/test/java/org/apache/geode/examples/loader/ExampleTest.java 
b/loader/src/test/java/org/apache/geode/examples/loader/ExampleTest.java
index 158cef7..2a1f38a 100644
--- a/loader/src/test/java/org/apache/geode/examples/loader/ExampleTest.java
+++ b/loader/src/test/java/org/apache/geode/examples/loader/ExampleTest.java
@@ -14,17 +14,22 @@
  */
 package org.apache.geode.examples.loader;
 
+import static org.apache.geode.examples.loader.Example.printQuotes;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.geode.cache.LoaderHelper;
 import org.apache.geode.cache.Region;
 import org.geode.examples.util.Mocks;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.contrib.java.lang.system.SystemOutRule;
+import org.mockito.Mockito;
 
 public class ExampleTest {
 
@@ -34,20 +39,17 @@ public class ExampleTest {
   @Test
   public void testExample() throws Exception {
     QuoteLoader loader = new QuoteLoader();
-    Region<String, String> region = Mocks.region("example-region");
-
-    @SuppressWarnings("unchecked")
-    LoaderHelper<String, String> helper = mock(LoaderHelper.class);
-    when(helper.getRegion()).thenReturn(region);
+    Map<String, String> region = Mockito.spy(new HashMap<>());
 
     when(region.get(any())).then(inv -> {
       String key = inv.getArgumentAt(0, String.class);
+      LoaderHelper<String, String> helper = mock(LoaderHelper.class);
       when(helper.getKey()).thenReturn(key);
 
       return loader.load(helper);
     });
 
-    new Example().accept(region);
+    printQuotes(region);
 
     assertThat(systemOutRule.getLog()).contains("Anton Chekhov");
     assertThat(systemOutRule.getLog()).contains("Loaded 20 definitions");

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to