You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ab...@apache.org on 2017/09/05 22:44:36 UTC

[geode-examples] branch develop updated (76cce85 -> fd3bcd6)

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

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


    from 76cce85  GEODE-3199: Make signing with a gpg key optional
     new b7495ce  GEODE-3428: Add example of putting multiple values all at once.
     new fd3bcd6  Improve the README.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |  1 +
 README.md                                          |  1 +
 {replicated => putall}/README.md                   | 23 +++++++---------------
 {replicated => putall}/scripts/start.gfsh          |  5 +----
 {replicated => putall}/scripts/stop.gfsh           |  2 +-
 .../org/apache/geode/examples/putall}/Example.java | 22 +++++++++------------
 .../apache/geode/examples/putall}/ExampleTest.java | 16 +++++++--------
 replicated/scripts/start.gfsh                      |  2 --
 settings.gradle                                    |  1 +
 9 files changed, 28 insertions(+), 45 deletions(-)
 copy {replicated => putall}/README.md (58%)
 copy {replicated => putall}/scripts/start.gfsh (86%)
 mode change 100644 => 100755
 copy {replicated => putall}/scripts/stop.gfsh (96%)
 mode change 100644 => 100755
 copy {replicated/src/main/java/org/apache/geode/examples/replicated => putall/src/main/java/org/apache/geode/examples/putall}/Example.java (73%)
 copy {replicated/src/test/java/org/apache/geode/examples/replicated => putall/src/test/java/org/apache/geode/examples/putall}/ExampleTest.java (72%)

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].

[geode-examples] 02/02: Improve the README.

Posted by ab...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit fd3bcd662767272cb2ca45502effe027728fa95e
Author: Sarge <md...@pivotal.io>
AuthorDate: Fri Aug 11 14:49:55 2017 -0700

    Improve the README.
---
 putall/README.md | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/putall/README.md b/putall/README.md
index 1b67c41..941fa0b 100644
--- a/putall/README.md
+++ b/putall/README.md
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-# Geode putAll region example
+# Geode Put Multiple Values at Once Example
 
 This is a simple example that demonstrates putting a map of values into a region, checking the size, and retrieving the values.
 
@@ -24,26 +24,18 @@ This example assumes you have installed Java and Geode.
 ## Steps
 
 1. From the `geode-examples/putall` directory, build the example and
-   run unit tests
+   run unit tests.
 
         $ ../gradlew build
 
-2. Next start the locator and two servers
+2. Next start a locator, start a server, and create a region.
 
         $ gfsh run --file=scripts/start.gfsh
 
-3. Run the example to create entries in the region
+3. Run the example to put entries into the region.
 
         $ ../gradlew run
 
-4. Kill one of the servers
-
-        $ gfsh -e "connect --locator=127.0.0.1[10334]" -e "stop server --name=server"
-
-5. Run a gfsh query, and notice that all the entries are still available due to replication
-
-        $ gfsh -e "connect --locator=127.0.0.1[10334]" -e "query --query='select e.key from /example-region.entries e'"
-
-6. Shut down the system:
+4. Shut down the system.
 
         $ gfsh run --file=scripts/stop.gfsh

-- 
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.

[geode-examples] 01/02: GEODE-3428: Add example of putting multiple values all at once.

Posted by ab...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit b7495ce162ae9a00e3dd816c23298fafdeb15449
Author: Sarge <md...@pivotal.io>
AuthorDate: Fri Aug 11 11:50:53 2017 -0700

    GEODE-3428: Add example of putting multiple values all at once.
---
 .gitignore                                         |  1 +
 README.md                                          |  1 +
 putall/README.md                                   | 49 ++++++++++++++++++++
 {replicated => putall}/scripts/start.gfsh          |  5 +--
 .../scripts/start.gfsh => putall/scripts/stop.gfsh | 13 +-----
 .../org/apache/geode/examples/putall/Example.java  | 52 ++++++++++++++++++++++
 .../apache/geode/examples/putall/ExampleTest.java  | 36 +++++++++++++++
 replicated/scripts/start.gfsh                      |  2 -
 settings.gradle                                    |  1 +
 9 files changed, 143 insertions(+), 17 deletions(-)

diff --git a/.gitignore b/.gitignore
index bc00815..fa3d887 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@ build/
 .idea/
 build-eclipse/
 /tags
+out/
 
 locator
 server1
diff --git a/README.md b/README.md
index 1894591..507da4d 100644
--- a/README.md
+++ b/README.md
@@ -75,6 +75,7 @@ tutorial.
 
 *  [Replicated Region](replicated/README.md)
 *  [Partitioned Region](partitioned/README.md)
+*  [Put Multiple Values at Once](putall/README.md)
 *  Persistence
 *  OQL (Querying)
 
diff --git a/putall/README.md b/putall/README.md
new file mode 100644
index 0000000..1b67c41
--- /dev/null
+++ b/putall/README.md
@@ -0,0 +1,49 @@
+<!--
+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.
+-->
+
+# Geode putAll region example
+
+This is a simple example that demonstrates putting a map of values into a region, checking the size, and retrieving the values.
+
+This example assumes you have installed Java and Geode.
+
+## Steps
+
+1. From the `geode-examples/putall` directory, build the example and
+   run unit tests
+
+        $ ../gradlew build
+
+2. Next start the locator and two servers
+
+        $ gfsh run --file=scripts/start.gfsh
+
+3. Run the example to create entries in the region
+
+        $ ../gradlew run
+
+4. Kill one of the servers
+
+        $ gfsh -e "connect --locator=127.0.0.1[10334]" -e "stop server --name=server"
+
+5. Run a gfsh query, and notice that all the entries are still available due to replication
+
+        $ gfsh -e "connect --locator=127.0.0.1[10334]" -e "query --query='select e.key from /example-region.entries e'"
+
+6. Shut down the system:
+
+        $ gfsh run --file=scripts/stop.gfsh
diff --git a/replicated/scripts/start.gfsh b/putall/scripts/start.gfsh
old mode 100644
new mode 100755
similarity index 86%
copy from replicated/scripts/start.gfsh
copy to putall/scripts/start.gfsh
index 88eb2a5..093b822
--- a/replicated/scripts/start.gfsh
+++ b/putall/scripts/start.gfsh
@@ -16,10 +16,7 @@
 #
 start locator --name=locator --bind-address=127.0.0.1
 
-start server --name=server1 --locators=127.0.0.1[10334] --server-port=0
-start server --name=server2 --locators=127.0.0.1[10334] --server-port=0
-
-#connect
+start server --name=server --locators=127.0.0.1[10334] --server-port=0
 
 create region --name=example-region --type=REPLICATE
 
diff --git a/replicated/scripts/start.gfsh b/putall/scripts/stop.gfsh
old mode 100644
new mode 100755
similarity index 71%
copy from replicated/scripts/start.gfsh
copy to putall/scripts/stop.gfsh
index 88eb2a5..7672d87
--- a/replicated/scripts/start.gfsh
+++ b/putall/scripts/stop.gfsh
@@ -14,14 +14,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-start locator --name=locator --bind-address=127.0.0.1
-
-start server --name=server1 --locators=127.0.0.1[10334] --server-port=0
-start server --name=server2 --locators=127.0.0.1[10334] --server-port=0
-
-#connect
-
-create region --name=example-region --type=REPLICATE
-
-list members
-describe region --name=example-region
+connect --locator=127.0.0.1[10334]
+shutdown --include-locators=true
diff --git a/putall/src/main/java/org/apache/geode/examples/putall/Example.java b/putall/src/main/java/org/apache/geode/examples/putall/Example.java
new file mode 100644
index 0000000..21b45c2
--- /dev/null
+++ b/putall/src/main/java/org/apache/geode/examples/putall/Example.java
@@ -0,0 +1,52 @@
+/*
+ * 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.examples.putall;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.stream.IntStream;
+
+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<Integer, String>> {
+  public static void main(String[] args) {
+    // connect to the locator using default port 10334
+    ClientCache cache = new ClientCacheFactory().addPoolLocator("127.0.0.1", 10334)
+        .set("log-level", "WARN").create();
+
+    // create a local region that matches the server region
+    Region<Integer, String> region =
+        cache.<Integer, String>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY)
+            .create("example-region");
+
+    new Example().accept(region);
+    cache.close();
+  }
+
+  @Override
+  public void accept(Region<Integer, String> region) {
+    Map values = new HashMap<Integer, String>();
+    IntStream.rangeClosed(1, 10).forEach(i -> values.put(i, "value" + i));
+    System.out
+        .println(String.format("Size of region %s before: %d", region.getName(), region.size()));
+    region.putAll(values);
+    System.out
+        .println(String.format("Size of region %s after: %d", region.getName(), region.size()));
+  }
+}
diff --git a/putall/src/test/java/org/apache/geode/examples/putall/ExampleTest.java b/putall/src/test/java/org/apache/geode/examples/putall/ExampleTest.java
new file mode 100644
index 0000000..359f55c
--- /dev/null
+++ b/putall/src/test/java/org/apache/geode/examples/putall/ExampleTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.examples.putall;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+
+import org.apache.geode.cache.Region;
+import org.geode.examples.util.Mocks;
+import org.junit.Test;
+
+public class ExampleTest {
+
+  @Test
+  public void testExample() throws Exception {
+    Region<Integer, String> region = Mocks.region("example-region");
+    when(region.size()).then(inv -> {
+      return 10;
+    });
+    new Example().accept(region);
+
+    assertEquals(10, region.size());
+  }
+}
diff --git a/replicated/scripts/start.gfsh b/replicated/scripts/start.gfsh
index 88eb2a5..090f3b0 100644
--- a/replicated/scripts/start.gfsh
+++ b/replicated/scripts/start.gfsh
@@ -19,8 +19,6 @@ start locator --name=locator --bind-address=127.0.0.1
 start server --name=server1 --locators=127.0.0.1[10334] --server-port=0
 start server --name=server2 --locators=127.0.0.1[10334] --server-port=0
 
-#connect
-
 create region --name=example-region --type=REPLICATE
 
 list members
diff --git a/settings.gradle b/settings.gradle
index 3604a11..7b579bb 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -20,3 +20,4 @@ include 'replicated'
 include 'partitioned'
 include 'lucene'
 include 'loader'
+include 'putall'

-- 
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.