geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@apache.org
Subject [42/51] [partial] geode git commit: Software Grant Agreement (SGA) from Pivotal for Apache Geode
Date Fri, 13 Jan 2017 22:46:26 GMT
http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/gfecs1/csQueryPortfolios.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/gfecs1/csQueryPortfolios.xml b/examples/dist/cacheRunner/gfecs1/csQueryPortfolios.xml
new file mode 100644
index 0000000..0fcd47a
--- /dev/null
+++ b/examples/dist/cacheRunner/gfecs1/csQueryPortfolios.xml
@@ -0,0 +1,354 @@
+<?xml version="1.0"?>
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <cache-server port="50505" />
+  <region name="root">
+    <region-attributes scope="distributed-no-ack"/>
+  </region>
+  <region name="listenerWriterLoader">
+    <region-attributes scope="distributed-ack" data-policy="replicate"/>
+  </region>
+  <region name="Portfolios">
+    <region-attributes scope="distributed-ack" data-policy="replicate">
+      <value-constraint>javaobject.Portfolio</value-constraint>
+    </region-attributes>
+    <entry>
+    <key><string>1</string></key>
+    <value>
+      <declarable>
+        <class-name>javaobject.Portfolio</class-name>
+        <parameter name="ID">
+          <string>1</string>
+        </parameter>
+        <parameter name="pkid">
+          <string>1</string>
+        </parameter>
+        <parameter name="type">
+          <string>type1</string>
+        </parameter>
+        <parameter name="status">
+          <string>active</string>
+        </parameter>
+        <parameter name="newVal">
+          <string>CCCCC</string>
+        </parameter>
+        <parameter name="position1">
+          <declarable>
+            <class-name>javaobject.Position</class-name>
+             <parameter name="secId">
+                <string>SUN</string>
+             </parameter>
+             <parameter name="qty">
+                <string>3900</string>
+             </parameter>
+             <parameter name="mktValue">
+               <string>3400.893475</string>
+             </parameter>
+             <parameter name="sharesOutstanding">
+               <string>3400</string>
+             </parameter>
+             <parameter name="secType">
+               <string>r</string>
+             </parameter>
+             <parameter name="pid">
+                <string>345</string>
+             </parameter>
+           </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>IBM</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>4600</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>9900.884732</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>8765</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>p</string>
+                </parameter>
+                <parameter name="pid">
+                   <string>123</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+     </entry>
+     <entry>
+      <key><string>2</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>2</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>2</string>
+          </parameter>
+          <parameter name="type">
+            <string>type2</string>
+          </parameter>
+          <parameter name="status">
+            <string>inactive</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>YHOO</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>9834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>y</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>129</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>GOOG</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>t</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>569</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>3</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>3</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>3</string>
+          </parameter>
+          <parameter name="type">
+            <string>type3</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>MSFT</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>1834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>o</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>545</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>AOL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>8354</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>t</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>987</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>4</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>4</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>4</string>
+          </parameter>
+          <parameter name="type">
+            <string>type1</string>
+          </parameter>
+          <parameter name="status">
+            <string>inactive</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>APPL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3654</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>d</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>287</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>ORCL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>5344</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>k</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>567</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>5</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>5</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>5</string>
+          </parameter>
+          <parameter name="type">
+            <string>type2</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>SAP</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3344</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>k</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>432</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>DELL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>5354</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>u</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>467</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>    
+  </region>
+</cache> 

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/gfecs2/cacherunner2.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/gfecs2/cacherunner2.xml b/examples/dist/cacheRunner/gfecs2/cacherunner2.xml
new file mode 100644
index 0000000..2e5cc84
--- /dev/null
+++ b/examples/dist/cacheRunner/gfecs2/cacherunner2.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<!-- Initializes a cache to serve the bridge_region region, 
+    waiting for bridge client communication on port 50506 -->
+
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <cache-server port="50506" />
+  <region name="root">
+      <region-attributes scope="distributed-no-ack"/>
+        <entry>
+          <key><string>entry3</string></key>
+          <value><string>3.0</string></value>
+        </entry>
+    </region>
+    <region name="listenerWriterLoader">
+      <region-attributes scope="distributed-ack" data-policy="replicate">
+        <!--cache-loader>
+          <class-name>cacheRunner.StringLoader</class-name>
+        </cache-loader-->
+      </region-attributes>
+      <entry>
+        <key><string>entry1</string></key>
+        <value><string>1.0</string></value>
+      </entry>     
+    </region>
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/gfecs2/csQueryPortfolios2.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/gfecs2/csQueryPortfolios2.xml b/examples/dist/cacheRunner/gfecs2/csQueryPortfolios2.xml
new file mode 100644
index 0000000..d38b1de
--- /dev/null
+++ b/examples/dist/cacheRunner/gfecs2/csQueryPortfolios2.xml
@@ -0,0 +1,354 @@
+<?xml version="1.0"?>
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <cache-server port="50506" />
+    <region name="root">
+      <region-attributes scope="distributed-no-ack"/>
+    </region>
+    <region name="listenerWriterLoader">
+      <region-attributes scope="distributed-ack" data-policy="replicate"/>  
+    </region>
+    <region name="Portfolios">
+      <region-attributes scope="distributed-ack" data-policy="replicate">
+        <value-constraint>javaobject.Portfolio</value-constraint>
+      </region-attributes>
+      <entry>
+      <key><string>1</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>1</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>1</string>
+          </parameter>
+          <parameter name="type">
+            <string>type1</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="newVal">
+            <string>CCCCC</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>SUN</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3400</string>
+                </parameter>
+                <parameter name="secType">
+                    <string>r</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>345</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>IBM</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>4600</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>9900.884732</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>8765</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>p</string>
+                </parameter>
+                <parameter name="pid">
+                   <string>123</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+     </entry>
+     <entry>
+      <key><string>2</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>2</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>2</string>
+          </parameter>
+          <parameter name="type">
+            <string>type2</string>
+          </parameter>
+          <parameter name="status">
+            <string>inactive</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>YHOO</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>9834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>y</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>129</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>GOOG</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>t</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>569</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>3</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>3</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>3</string>
+          </parameter>
+          <parameter name="type">
+            <string>type3</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>MSFT</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>1834</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>o</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>545</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>AOL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>8354</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>t</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>987</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>4</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>4</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>4</string>
+          </parameter>
+          <parameter name="type">
+            <string>type1</string>
+          </parameter>
+          <parameter name="status">
+            <string>inactive</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>APPL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3654</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>d</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>287</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>ORCL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>5344</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>k</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>567</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>
+
+     <entry>
+      <key><string>5</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>5</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>5</string>
+          </parameter>
+          <parameter name="type">
+            <string>type2</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>SAP</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3344</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>k</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>432</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>DELL</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>5354</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>u</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>467</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+    </entry>    
+  </region>
+</cache> 

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/tcr_cache.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/tcr_cache.xml b/examples/dist/cacheRunner/tcr_cache.xml
new file mode 100755
index 0000000..eba5a56
--- /dev/null
+++ b/examples/dist/cacheRunner/tcr_cache.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Well-formed and valid xml file -->
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <region name = "root" >
+    <region-attributes caching-enabled="true" >
+      <region-idle-time>
+        <expiration-attributes timeout="0" action="destroy"/> 
+      </region-idle-time>
+      <entry-idle-time>
+        <expiration-attributes timeout="0" action="invalidate"/>
+      </entry-idle-time>
+      <region-time-to-live>
+        <expiration-attributes timeout="0" action="local-destroy"/>
+      </region-time-to-live>
+      <entry-time-to-live>
+        <expiration-attributes timeout="0" action="local-invalidate"/>
+      </entry-time-to-live>
+    </region-attributes>
+  </region>
+  <pool name="examplePool"  subscription-enabled="true" >
+    <server host="localhost" port="50505" />    
+  </pool> 
+  <region name = "listenerWriterLoader" >
+     <region-attributes  refid="CACHING_PROXY" pool-name="examplePool"/>
+  </region>																
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/tcr_cacheless.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/tcr_cacheless.xml b/examples/dist/cacheRunner/tcr_cacheless.xml
new file mode 100755
index 0000000..bb79680
--- /dev/null
+++ b/examples/dist/cacheRunner/tcr_cacheless.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Well-formed and valid xml file -->
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <region name = "root" >
+    <region-attributes caching-enabled="true" >
+      <region-idle-time>
+        <expiration-attributes timeout="0" action="destroy"/> 
+      </region-idle-time>
+      <entry-idle-time>
+        <expiration-attributes timeout="0" action="invalidate"/>
+      </entry-idle-time>
+      <region-time-to-live>
+        <expiration-attributes timeout="0" action="local-destroy"/>
+      </region-time-to-live>
+      <entry-time-to-live>
+        <expiration-attributes timeout="0" action="local-invalidate"/>
+      </entry-time-to-live>
+    </region-attributes>
+  </region>
+  <pool name="examplePool"  subscription-enabled="true" >
+    <server host="localhost" port="50505" />    
+  </pool> 
+  <region name = "listenerWriterLoader" >
+     <region-attributes refid="PROXY" pool-name="examplePool" >
+     </region-attributes>
+  </region>	
+  <region name = "Portfolios" >
+     <region-attributes refid="PROXY" pool-name="examplePool" >
+     </region-attributes>
+  </region>
+																
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/tcr_hacache.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/tcr_hacache.xml b/examples/dist/cacheRunner/tcr_hacache.xml
new file mode 100644
index 0000000..6433da9
--- /dev/null
+++ b/examples/dist/cacheRunner/tcr_hacache.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Well-formed and valid xml file -->
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <region name = "root" >
+    <region-attributes caching-enabled="true" >
+      <region-idle-time>
+        <expiration-attributes timeout="0" action="destroy"/> 
+      </region-idle-time>
+      <entry-idle-time>
+        <expiration-attributes timeout="0" action="invalidate"/>
+      </entry-idle-time>
+      <region-time-to-live>
+        <expiration-attributes timeout="0" action="local-destroy"/>
+      </region-time-to-live>
+      <entry-time-to-live>
+        <expiration-attributes timeout="0" action="local-invalidate"/>
+      </entry-time-to-live>
+    </region-attributes>
+  </region>
+   <pool name="examplePool"  subscription-enabled="true" subscription-redundancy="1">
+    <server host="localhost" port="50505" />    
+    <server host="localhost" port="50506" />    
+  </pool> 
+  <region name = "listenerWriterLoader" >
+     <region-attributes refid="CACHING_PROXY"  pool-name="examplePool">
+     </region-attributes>
+  </region>	
+  <region name = "Portfolios" >
+     <region-attributes refid="CACHING_PROXY"  pool-name="examplePool" >
+     </region-attributes>
+  </region>
+															
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cacheRunner/tcr_hacacheless.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cacheRunner/tcr_hacacheless.xml b/examples/dist/cacheRunner/tcr_hacacheless.xml
new file mode 100644
index 0000000..43376c3
--- /dev/null
+++ b/examples/dist/cacheRunner/tcr_hacacheless.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Well-formed and valid xml file -->
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <region name = "root" >
+    <region-attributes caching-enabled="true" >
+      <region-idle-time>
+        <expiration-attributes timeout="0" action="destroy"/> 
+      </region-idle-time>
+      <entry-idle-time>
+        <expiration-attributes timeout="0" action="invalidate"/>
+      </entry-idle-time>
+      <region-time-to-live>
+        <expiration-attributes timeout="0" action="local-destroy"/>
+      </region-time-to-live>
+      <entry-time-to-live>
+        <expiration-attributes timeout="0" action="local-invalidate"/>
+      </entry-time-to-live>
+    </region-attributes>
+  </region>
+   <pool name="examplePool"  subscription-enabled="true" subscription-redundancy="1">
+    <server host="localhost" port="50505" />    
+    <server host="localhost" port="50506" />    
+  </pool> 
+  <region name = "listenerWriterLoader" >
+     <region-attributes refid="PROXY"  pool-name="examplePool"/>
+  </region>	
+  <region name = "Portfolios" >
+     <region-attributes refid="PROXY"  pool-name="examplePool"/>
+  </region>
+															
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/CqQuery.cpp
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/CqQuery.cpp b/examples/dist/cqQuery/CqQuery.cpp
new file mode 100644
index 0000000..971f9db
--- /dev/null
+++ b/examples/dist/cqQuery/CqQuery.cpp
@@ -0,0 +1,385 @@
+/*
+ * The Continuous Query Example.
+ *
+ * This example takes the following steps:
+ *
+ */
+
+// Include the GemFire library.
+#include <gfcpp/GemfireCppCache.hpp>
+
+// Include the Query headers.
+#include <gfcpp/SelectResultsIterator.hpp>
+#include <gfcpp/CqQuery.hpp>
+#include <gfcpp/CqAttributesFactory.hpp>
+
+// Include our Query objects, viz. Portfolio and Position.
+#include "Portfolio.hpp"
+#include "Position.hpp"
+#include "string.h"
+
+// Use the "gemfire" namespace.
+using namespace gemfire;
+
+// Use the "testobject" namespace for the query objects.
+using namespace testobject;
+
+#define MAX_LISTNER  8
+
+const char* cqNames[MAX_LISTNER] = {
+  (const char*)"MyCq_0",
+  (const char*)"MyCq_1",
+  (const char*)"MyCq_2",
+  (const char*)"MyCq_3",
+  (const char*)"MyCq_4",
+  (const char*)"MyCq_5",
+  (const char*)"MyCq_6",
+  (const char*)"MyCq_7"
+};
+
+const char* queryStrings[MAX_LISTNER] = {
+  (const char*)"select * from /Portfolios p where p.ID < 4",
+  (const char*)"select * from /Portfolios p where p.ID < 9",
+  (const char*)"select * from /Portfolios p where p.ID < 12",
+  (const char*)"select * from /Portfolios p where p.ID < 3",
+  (const char*)"select * from /Portfolios p where p.ID < 14",
+  (const char*)"select * from /Portfolios p where p.ID < 5",
+  (const char*)"select * from /Portfolios p where p.ID < 6",
+  (const char*)"select * from /Portfolios p where p.ID < 7"
+};
+
+class MyCqListener : public CqListener {
+  uint32_t m_updateCnt;
+  uint32_t m_createCnt;
+  uint32_t m_destroyCnt;
+  uint32_t m_errorCnt;
+  uint32_t m_eventCnt;
+  uint32_t m_id;
+  bool m_verbose;
+  public:
+  MyCqListener(uint32_t id, bool verbose=false):
+    m_updateCnt(0),
+    m_createCnt(0),
+    m_destroyCnt(0),
+    m_errorCnt(0),
+    m_eventCnt(0),
+    m_id(id),
+    m_verbose(verbose)
+  {
+  }
+  void onEvent(const CqEvent& cqe){
+    m_eventCnt++;
+    CqQueryPtr cq = cqe.getCq();
+    char* opStr = (char*)"Default";
+    PortfolioPtr portfolio( dynamic_cast<Portfolio*> (cqe.getNewValue().ptr() ));
+    CacheableStringPtr key( dynamic_cast<CacheableString*> (cqe.getKey().ptr() ));
+    switch (cqe.getQueryOperation())
+      {
+        case CqOperation::OP_TYPE_CREATE:
+	  {
+            opStr = (char*)"CREATE";
+	    m_createCnt++;
+            break;
+	  }
+        case CqOperation::OP_TYPE_UPDATE:
+	  {
+            opStr = (char*)"UPDATE";
+	    m_updateCnt++;
+            break;
+	  }
+        case CqOperation::OP_TYPE_DESTROY:
+	  {
+            opStr = (char*)"DESTROY";
+	    m_destroyCnt++;
+            break;
+	  }
+        default:
+          break;
+       }
+       if(m_eventCnt%5000==0)
+       {
+          if(m_verbose)
+          {
+             LOGINFO("MyCqListener[%d]::OnEvent called with %s, key[%s], value=(%ld,%s)",
+	             m_id, opStr, key->asChar(), portfolio->getID(), portfolio->getPkid()->asChar()); 
+             LOGINFO("MyCqListener[%d]::OnEvent portfolio %s", m_id, portfolio->toString()->asChar()); 
+          }else 
+          {
+             LOGINFO("cq[%s], listener[%d]::OnEvent update Count=%d,create Count=%d, destroy Count=%d, total count=%d",
+                     cq->getName(), m_updateCnt, m_createCnt, m_destroyCnt, m_eventCnt);
+	  }
+          LOGINFO("************Type \'q\' to quit!!!!*****************");
+       }
+  }
+
+  void onError(const CqEvent& cqe){
+       m_eventCnt++;
+       m_errorCnt++;
+       if(m_verbose)
+          LOGINFO("MyCqListener::OnError called");
+  }
+
+  void close(){
+    m_eventCnt++;
+    if(m_verbose)
+       LOGINFO("MyCqListener::close called");
+  }
+};
+
+//Cache Listener
+class MyCacheListener : public CacheListener
+{
+  uint32_t m_eventCount;
+  bool m_verbose;
+
+  void check(const EntryEvent& event, const char* opStr)
+  {
+    m_eventCount++;
+    if(m_eventCount%5000==0)
+    {
+       if(m_verbose)
+       {
+          PortfolioPtr portfolio( dynamic_cast<Portfolio*> (event.getNewValue().ptr() ));
+          CacheableStringPtr key( dynamic_cast<CacheableString*> (event.getKey().ptr() ));
+          if(key!=NULLPTR && portfolio!=NULLPTR)
+          {
+            LOGINFO("CacheListener called with %s, key[%s], value=(%ld,%s)",
+   opStr, key->asChar(), portfolio->getID(), portfolio->getPkid()->asChar()); 
+          }
+       } else 
+       {
+          LOGINFO("cache listener event count=%d", m_eventCount);
+       }
+       LOGINFO("************Type \'q\' to quit!!!!*****************");
+    }
+  }
+
+  public:
+  MyCacheListener(bool verbose=false):
+    m_eventCount(0),
+    m_verbose(verbose)
+  {
+  }
+
+  virtual void afterCreate( const EntryEvent& event )
+  {
+    check(event, (const char*)"Create");
+  }
+
+  virtual void afterUpdate( const EntryEvent& event )
+  {
+    check(event, (const char*)"Update");
+  }
+  virtual void afterRegionInvalidate( const RegionEvent& event ) 
+  {
+    LOGINFO("afterRegionInvalidate called.");
+  }
+  virtual void afterRegionDestroy( const RegionEvent& event )
+  {
+    LOGINFO("afterRegionDestroy called.");
+  }
+  virtual void afterRegionLive( const RegionEvent& event )
+  {
+    LOGINFO("afterRegionLive called.");
+  }
+
+};
+
+// The CqQuery example.
+int main(int argc, char ** argv)
+{
+  if(argc>2)
+  {
+    LOGINFO("usage: %s, [-v] \n -v indicate verbose ", argv[0]);
+    return -1;
+  }
+  bool verbose = false;
+
+  if(argc==2 && !strcmp(argv[1], "-v"))
+      verbose = true;
+  try
+  {
+   
+    // Create the GemFire cache using the settings from the gfcpp.properties file by default.
+    PropertiesPtr prptr = Properties::create();
+    prptr->insert("cache-xml-file", "XMLs/clientCqQuery.xml");
+
+    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory(prptr);
+   
+    CachePtr cachePtr = cacheFactory->setSubscriptionEnabled(true)->create();
+
+    LOGINFO("Created the GemFire Cache");
+
+    // Get the Portfolios Region from the Cache which is declared in the Cache XML file.
+    RegionPtr regionPtr = cachePtr->getRegion("Portfolios");
+    AttributesMutatorPtr attrMutator = regionPtr->getAttributesMutator();
+    CacheListenerPtr ptr(new MyCacheListener(verbose));
+    attrMutator->setCacheListener(ptr);
+
+    LOGINFO("Obtained the Region from the Cache");
+
+    // Register our Serializable/Cacheable Query objects, viz. Portfolio and Position.
+    Serializable::registerType( Portfolio::createDeserializable);
+    Serializable::registerType( Position::createDeserializable);
+
+    LOGINFO("Registered Serializable Query Objects");
+
+    regionPtr->registerAllKeys(false, NULLPTR, true);
+
+    // Populate the Region with some Portfolio objects.
+    PortfolioPtr port1Ptr(new Portfolio(1 /*ID*/, 10 /*size*/));
+    PortfolioPtr port2Ptr(new Portfolio(2 /*ID*/, 20 /*size*/));
+    PortfolioPtr port3Ptr(new Portfolio(3 /*ID*/, 30 /*size*/));
+    regionPtr->put("Key1", port1Ptr);
+    regionPtr->put("Key2", port2Ptr);
+    regionPtr->put("Key3", port3Ptr);
+
+    LOGINFO("Populated some Portfolio Objects");
+
+    // Get the QueryService from the Cache.
+    QueryServicePtr qrySvcPtr = cachePtr->getQueryService();
+
+    //Create CqAttributes and Install Listener
+    CqAttributesFactory cqFac;
+    CqListenerPtr cqLstner (new MyCqListener(0, verbose));
+    cqFac.addCqListener(cqLstner);
+    CqAttributesPtr cqAttr = cqFac.create();
+
+    //create a new Cq Query
+    CqQueryPtr qry = qrySvcPtr->newCq(cqNames[0], queryStrings[0], cqAttr); 
+  
+    //execute Cq Query with initial Results
+    CqResultsPtr resultsPtr  = qry->executeWithInitialResults();
+    
+    LOGINFO("ResultSet Query returned %d rows", resultsPtr->size());
+
+    // Iterate through the rows of the query result.
+    SelectResultsIterator iter = resultsPtr->getIterator();
+    
+    while (iter.hasNext())
+    {
+        SerializablePtr ser = iter.next();
+        if (ser != NULLPTR) {
+          LOGINFO (" query pulled object %s\n", ser->toString()->asChar());
+          
+          StructPtr stPtr(dynamic_cast<Struct*>  (ser.ptr() ));                    
+          if (stPtr != NULLPTR)
+          {
+            LOGINFO(" got struct ptr ");
+            SerializablePtr serKey = (*(stPtr.ptr()))["key"];           
+            if (serKey != NULLPTR)
+            {
+              LOGINFO("got struct key %s\n", serKey->toString()->asChar());
+            }
+              
+            SerializablePtr serVal = (*(stPtr.ptr()))["value"];
+            
+            if (serVal != NULLPTR)
+            {
+              LOGINFO("  got struct value %s\n", serVal->toString()->asChar());
+            }
+          }
+        }
+        else {
+          printf("query pulled bad object\n");
+        }       
+    }
+    // Stop the GemFire Continuous query.
+    qry->stop();
+    //restart Cq Query with initial Results
+    qry->execute();
+
+    for(int i=1; i < MAX_LISTNER; i++)
+    {
+      CqListenerPtr cqLstner1(new MyCqListener(i, verbose));
+      cqFac.addCqListener(cqLstner1);
+      cqAttr = cqFac.create();
+      qry = qrySvcPtr->newCq(cqNames[i], queryStrings[i], cqAttr);
+    }
+
+    qry = qrySvcPtr->getCq(cqNames[6]);
+    cqAttr = qry->getCqAttributes();
+    VectorOfCqListener vl;
+    cqAttr->getCqListeners(vl);
+    LOGINFO("number of listeners for cq[%s] is %d", cqNames[6], vl.size());
+
+    qry = qrySvcPtr->getCq(cqNames[0]);
+    CqAttributesMutatorPtr cqAttrMtor = qry->getCqAttributesMutator();
+    for(int32_t i=0; i < vl.size(); i++)
+    {
+      CqListenerPtr ptr = vl[i];
+      cqAttrMtor->addCqListener(ptr);
+    }
+
+    // Stop the GemFire Continuous query.
+    qry->stop();
+
+    //start all Cq Query
+    qrySvcPtr->executeCqs();
+
+    for(int i=0; i < MAX_LISTNER; i++)
+    {
+       LOGINFO("get info for cq[%s]:", cqNames[i]);
+       CqQueryPtr cqy = qrySvcPtr->getCq(cqNames[i]);
+       CqStatisticsPtr cqStats = cqy->getStatistics();
+       LOGINFO("Cq[%s]: CqStatistics: numInserts[%d], numDeletes[%d], numUpdates[%d], numEvents[%d]", 
+                     cqNames[i], cqStats->numInserts(), cqStats->numDeletes(), cqStats->numUpdates(), cqStats->numEvents());
+     }
+
+     CqServiceStatisticsPtr serviceStats = qrySvcPtr->getCqServiceStatistics();
+     LOGINFO("numCqsActive=%d, numCqsCreated=%d, numCqsClosed=%d,numCqsStopped=%d, numCqsOnClient=%d", 
+                     serviceStats->numCqsActive(), serviceStats->numCqsCreated(),
+     serviceStats->numCqsClosed(), serviceStats->numCqsStopped(),
+     serviceStats->numCqsOnClient());
+
+    LOGINFO("***************************************************");
+    LOGINFO("***************************************************");
+    LOGINFO("***************************************************");
+    LOGINFO("************Type \'q\' to quit!!!!*****************");
+    LOGINFO("***************************************************");
+    LOGINFO("***************************************************");
+    LOGINFO("***************************************************");
+    while(1)
+    {
+      char in[2];
+      fscanf(stdin, "%s",in);
+      if(in[0]=='q')
+	break;
+    }
+
+    // Stop all the GemFire Continuous query.
+    qrySvcPtr->stopCqs();
+
+    for(int i=0; i < MAX_LISTNER; i++)
+    {
+       LOGINFO("get info for cq[%s]:", cqNames[i]);
+       CqQueryPtr cqy = qrySvcPtr->getCq(cqNames[i]);
+       cqAttr = cqy->getCqAttributes();
+       cqAttr->getCqListeners(vl);
+       LOGINFO("number of listeners for cq[%s] is %d", cqNames[i], vl.size());
+
+       CqStatisticsPtr cqStats = cqy->getStatistics();
+       LOGINFO("Cq[%s]: CqStatistics: numInserts[%d], numDeletes[%d], numUpdates[%d], numEvents[%d]", 
+                   cqNames[i], cqStats->numInserts(), cqStats->numDeletes(), cqStats->numUpdates(), cqStats->numEvents());
+     }
+
+    // Close all the GemFire Continuous query.
+    qrySvcPtr->closeCqs();
+    LOGINFO("numCqsActive=%d, numCqsCreated=%d, numCqsClosed=%d,numCqsStopped=%d, numCqsOnClient=%d", 
+                   serviceStats->numCqsActive(), serviceStats->numCqsCreated(),
+      serviceStats->numCqsClosed(), serviceStats->numCqsStopped(),
+      serviceStats->numCqsOnClient());
+
+    // Close the GemFire Cache.
+    cachePtr->close();
+
+    LOGINFO("Closed the GemFire Cache");
+
+  }
+  // An exception should not occur
+  catch(const Exception & gemfireExcp)
+  {
+    LOGERROR("CqQuery GemFire Exception: %s", gemfireExcp.getMessage());
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/README.html
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/README.html b/examples/dist/cqQuery/README.html
new file mode 100644
index 0000000..fdeef4d
--- /dev/null
+++ b/examples/dist/cqQuery/README.html
@@ -0,0 +1,335 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 11">
+<meta name=Originator content="Microsoft Word 11">
+<link rel=File-List href="README_files/filelist.xml">
+<title>cqQuery: Pivotal GemFire&#174; Native Client C++ Example</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>qhe</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>qhe</o:LastAuthor>
+  <o:Revision>9</o:Revision>
+  <o:TotalTime>8</o:TotalTime>
+  <o:Created>2008-10-29T17:48:00Z</o:Created>
+  <o:LastSaved>2008-10-29T18:11:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>429</o:Words>
+  <o:Characters>2446</o:Characters>
+  <o:Company>GemStone Systems, Inc.</o:Company>
+  <o:Lines>20</o:Lines>
+  <o:Paragraphs>5</o:Paragraphs>
+  <o:CharactersWithSpaces>2870</o:CharactersWithSpaces>
+  <o:Version>11.6360</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:ValidateAgainstSchemas/>
+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
+ </w:LatentStyles>
+</xml><![endif]-->
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+h1
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:1;
+	font-size:24.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h2
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:2;
+	font-size:18.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h4
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:4;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+p
+	{font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+code
+	{font-family:"Courier New";
+	mso-ascii-font-family:"Courier New";
+	mso-fareast-font-family:"Times New Roman";
+	mso-hansi-font-family:"Courier New";
+	mso-bidi-font-family:"Courier New";}
+span.SpellE
+	{mso-style-name:"";
+	mso-spl-e:yes;}
+span.GramE
+	{mso-style-name:"";
+	mso-gram-e:yes;}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+ /* List Definitions */
+ @list l0
+	{mso-list-id:226569577;
+	mso-list-template-ids:-1947287032;}
+@list l0:level2
+	{mso-level-text:"%2\)";
+	mso-level-tab-stop:1.0in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+ol
+	{margin-bottom:0in;}
+ul
+	{margin-bottom:0in;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-ansi-language:#0400;
+	mso-fareast-language:#0400;
+	mso-bidi-language:#0400;}
+</style>
+<![endif]-->
+<meta http-equiv=Content-Style-Type content="text/css">
+</head>
+
+<IMG SRC="../../../docs/PIVOTAL_GemFire_190x81.png" BORDER="0">
+<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<div>
+
+<h1 align=center style='text-align:center'><span class=SpellE><span
+class=GramE>cqQuery</span></span></h1>
+
+<h2 align=center style='text-align:center'>Pivotal<b><sup><font size=-0>&#8482;</font></sup></b> GemFire<b><sup><font size=-0>&#174;</font></sup></b> Native Client </h2>
+
+<h2 align=center style='text-align:center'>C++ Programming Example</h2>
+
+</div>
+
+<div>
+
+<h2><br>
+About the <span class=SpellE>cqQuery</span> Example </h2>
+
+<p>The <span class=SpellE><code><span style='font-size:10.0pt'>cqQuery</span></code></span>
+example demonstrates the native client C++ API for continuous query. The <span
+class=SpellE><code><span style='font-size:10.0pt'>cqQuery</span></code></span>
+example is located in <span class=SpellE><code><span style='font-size:10.0pt'>SampleCode_InstallDir/examples/cqQuery</span></code></span>.</p>
+
+<p>The client application comes with a cache configuration file, <code><span
+style='font-size:10.0pt'><a href="XMLs/clientCqQuery.xml"
+target="_blank"><span class=SpellE><span style='font-size:12.0pt;font-family:
+"Times New Roman"'>clientCqQuery.xml</span></span></a></span></code>, which is
+configured to create a root region and establish the native client endpoints to
+the locally-run server by specifying <code><span style='font-size:10.0pt'>localhost<span
+class=GramE>:50505</span></span></code>. If java server is located on another
+host, you can change <span class=SpellE>localhost</span> to that host
+accordingly.</p>
+
+</div>
+
+<div>
+
+<h2><a name="configuring_environment"></a>Configuring the Environment </h2>
+
+</div>
+
+<div>
+
+<p>The following is a list of the environment configuration commands for the <span
+class=SpellE><code><span style='font-size:10.0pt'>cqQuery</span></code></span>
+example. Choose the set of commands that are appropriate for your operating
+system. The text that you type is shown in <code><b><span style='font-size:
+10.0pt'>bold</span></b></code>.</p>
+
+<p><strong>Bourne and <span class=SpellE>Korn</span> shells (<span
+class=SpellE>sh</span>, <span class=SpellE>ksh</span>, bash)</strong> </p>
+
+<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
+
+<p><code><span style='font-size:10.0pt'>% </span></code><strong><span
+style='font-size:10.0pt;font-family:"Courier New"'>GFCPP=&lt;path to <span
+class=SpellE>NativeClient_InstallDir</span> directory&gt;; export GFCPP </span></strong><span
+style='font-size:10.0pt;font-family:"Courier New"'><br>
+<code>% </code><strong><span style='font-family:"Courier New"'>PATH=$GFCPP/<span
+class=SpellE>bin<span class=GramE>:$</span>PATH</span>; export PATH</span></strong><br>
+<code>% </code><strong><span style='font-family:"Courier New"'>LD_LIBRARY_PATH=$GFCPP/lib;
+export LD_LIBRARY_PATH</span></strong></span></p>
+
+</blockquote>
+
+<p><strong>Windows</strong></p>
+
+<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
+
+<p><em>The Windows native client installer sets the required environment
+configurations for you, so they are listed for reference only.</em></p>
+
+<p style='margin-bottom:12.0pt'><strong><code><span style='font-size:10.0pt'>&gt;
+GFCPP=&lt;path to <span class=SpellE>NativeClient_InstallDir</span> directory&gt;</span></code><span
+style='font-size:10.0pt;font-family:"Courier New"'><br>
+<code>&gt; PATH=%GFCPP%\<span class=SpellE>bin<span class=GramE>;%</span>PATH</span>%</code><br
+style='mso-special-character:line-break'>
+<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
+<![endif]></span></strong></p>
+
+</blockquote>
+
+</div>
+
+<div>
+
+<h2>Running <span class=SpellE>cqQuery</span> </h2>
+
+<p>Follow these steps to run the <span class=SpellE><code><span
+style='font-size:10.0pt'>cqQuery</span></code></span> example. The steps
+reflect Windows operations, so alter them as needed for your operating system.</p>
+
+<p>When you're prompted to enter the name of the native client directory,
+replace the <span class=SpellE><code><span style='font-size:10.0pt'>xxxx</span></code></span>
+in <span class=SpellE><code><span style='font-size:10.0pt'>NativeClient_InstallDir</span></code></span>
+with the actual four-digit product version number. Note that step 1, 3, 4 can
+be run on other operating system hosts.</p>
+
+</div>
+
+<div>
+
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-list:Ignore'>1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;</span></span><![endif]>Create
+a session, <span class=GramE>then</span> configure the session environment
+according to the steps listed in <a href="#configuring_environment">Configuring
+the Environment</a><a href="../envsetup.html" target="_blank"></a>.</p>
+
+<ol start=2 type=1>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo1;tab-stops:list .5in'>Go to the <span class=SpellE><code><span
+     style='font-size:10.0pt'>cqQuery</span></code></span> example directory.</li>
+</ol>
+
+<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
+
+<p style='margin-left:.5in;text-indent:-.10in'><span class=SpellE><span class=GramE><code><b><span
+style='font-size:10.0pt'>cd NativeClient_InstallDir\SampleCode\examples\cqQuery</span></span></b></code></p>
+
+</blockquote>
+
+<ol start=3 type=1>
+ <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
+     mso-list:l0 level1 lfo1;tab-stops:list .5in'>Enter the following commands
+     to start the example: </li>
+</ol>
+
+<p style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1;
+tab-stops:list 1.0in'><![if !supportLists]><code><span style='mso-ansi-font-size:
+12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><span
+style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span></code><![endif]><span class=SpellE><code><b><span
+style='font-size:10.0pt'>startServer.bat</span></b></code></span><code><span
+style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></code></p>
+
+<p style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1;
+tab-stops:list 1.0in'><![if !supportLists]><code><span style='mso-ansi-font-size:
+12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><span
+style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span></code><![endif]><span class=SpellE><code><b><span
+style='font-size:10.0pt'>runCqQuery.bat</span></b></code></span><code><span
+style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></code></p>
+
+<p style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1;
+tab-stops:list 1.0in'><![if !supportLists]><code><span style='mso-ansi-font-size:
+12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><span
+style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span></code><![endif]><code><b><span style='font-size:10.0pt'>In
+another window, <span class=SpellE>runUpdater.bat</span> &lt;<span
+class=SpellE>itr</span> number&gt;, where &lt;<span class=SpellE>itr</span>
+number&gt; is the number of iterations you want this program to run, <span
+class=SpellE>e.g</span>, 500.</span></b></code><code><span style='mso-ansi-font-size:
+12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman"'><o:p></o:p></span></code></p>
+
+<p style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1;
+tab-stops:list 1.0in'><![if !supportLists]><span style='mso-list:Ignore'>4)<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><![endif]><span
+class=SpellE><span class=GramE><code><b><span style='font-size:10.0pt'>stopServer.bat</span></b></code></span></span><code><b><span
+style='font-size:10.0pt'> when finished.</span></b></code></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
+<div>
+
+<h2>Changing System Parameters</h2>
+
+<p style='margin-bottom:12.0pt'>By default, this product ships configured for
+multicast membership resolution. If your network environment does not allow
+multicast, you can configure GemFire for <span class=SpellE>unicast</span>. See
+the <em>GemFire User's Guide</em> for instructions
+on configuring TCP transport for membership and discovery. </p>
+
+</div>
+
+<p class=MsoNormal><a href="#Top">Top</a> </p>
+
+<p><br>
+<p><span class=GramE>Copyright &#169; 2006-2014 Pivotal Software, Inc. All rights reserved.  This product is protected by U.S. and international copyright and intellectual property laws. Pivotal products are covered by one or more patents listed at http://www.pivotal.io/patents.</p>
+</div>
+
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/Updater.cpp
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/Updater.cpp b/examples/dist/cqQuery/Updater.cpp
new file mode 100644
index 0000000..340f653
--- /dev/null
+++ b/examples/dist/cqQuery/Updater.cpp
@@ -0,0 +1,95 @@
+/*
+ * The Continuous Query QuickStart Example.
+ *
+ * This example takes the following steps:
+ *
+ */
+
+// Include the GemFire library.
+#include <gfcpp/GemfireCppCache.hpp>
+
+// Include our Query objects, viz. Portfolio and Position.
+#include "Portfolio.hpp"
+#include "Position.hpp"
+
+// Use the "gemfire" namespace.
+using namespace gemfire;
+
+// Use the "testobject" namespace for the query objects.
+using namespace testobject;
+
+// The CqQuery QuickStart example.
+int main(int argc, char ** argv)
+{
+  if(argc!=2)
+  {
+    LOGINFO("usage: %s, <iteration count>", argv[0]);
+    return -1;
+  }
+  int itrCnt=atoi(argv[1]);
+  try
+  {
+
+    // Create the GemFire cache using the settings from the gfcpp.properties file by default.
+    PropertiesPtr prptr = Properties::create();
+    prptr->insert("cache-xml-file", "XMLs/clientCqQuery.xml");
+
+    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory(prptr);
+   
+    CachePtr cachePtr = cacheFactory->setSubscriptionEnabled(true)->create();       
+
+    LOGINFO("Created the GemFire Cache");
+
+    // Get the Portfolios Region from the Cache which is declared in the Cache XML file.
+    RegionPtr regionPtr = cachePtr->getRegion("Portfolios");
+
+    LOGINFO("Obtained the Region from the Cache");
+
+    // Register our Serializable/Cacheable Query objects, viz. Portfolio and Position.
+    Serializable::registerType( Portfolio::createDeserializable);
+    Serializable::registerType( Position::createDeserializable);
+
+    LOGINFO("Registered Serializable Query Objects");
+
+    // Populate the Region with some Portfolio objects.
+    for(int i =0; i < 150; i++)
+    {
+      PortfolioPtr portPtr(new Portfolio(i /*ID*/, i*10 /*size*/));
+      char buf[128];
+      sprintf(buf, "Key%d", i);
+      regionPtr->put(buf, portPtr);
+    }
+
+    LOGINFO("Populated some Portfolio Objects");
+
+    //make change to generate cq events
+    while(itrCnt-- >0) 
+    {
+      if(itrCnt%10==0)
+	LOGINFO("%d iterations left", itrCnt);
+
+      int up = itrCnt%150 + 150;
+      for(int i =itrCnt%150; i < up; i++)
+      {
+        PortfolioPtr portPtr(new Portfolio(up-i /*ID*/, i*10 /*size*/));
+        char buf[128];
+        sprintf(buf, "Key%d", i);
+        regionPtr->put(buf, portPtr);
+      }
+    }
+
+    LOGINFO("finished updating");
+
+    // Close the GemFire Cache.
+    cachePtr->close();
+
+    LOGINFO("Closed the GemFire Cache");
+
+  }
+  // An exception should not occur
+  catch(const Exception & gemfireExcp)
+  {
+    LOGERROR("CqQuery GemFire Exception: %s", gemfireExcp.getMessage());
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/XMLs/clientCqQuery.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/XMLs/clientCqQuery.xml b/examples/dist/cqQuery/XMLs/clientCqQuery.xml
new file mode 100644
index 0000000..209536f
--- /dev/null
+++ b/examples/dist/cqQuery/XMLs/clientCqQuery.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Well-formed and valid xml file -->
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <region name = "exampleRegion" >
+     <region-attributes refid="PROXY" />
+  </region>	
+  <region name = "Portfolios" >
+     <region-attributes refid="PROXY" />
+  </region>	
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/XMLs/serverCqQuery.xml
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/XMLs/serverCqQuery.xml b/examples/dist/cqQuery/XMLs/serverCqQuery.xml
new file mode 100644
index 0000000..4b9bd41
--- /dev/null
+++ b/examples/dist/cqQuery/XMLs/serverCqQuery.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+
+  <cache-server port="40404" />
+      
+    <region name="exampleRegion">
+      <region-attributes scope="distributed-ack" data-policy="replicate"/>
+    </region>
+    
+    <region name="Portfolios">
+    
+      <region-attributes scope="distributed-ack" data-policy="replicate">
+        <value-constraint>javaobject.Portfolio</value-constraint>
+      </region-attributes>
+      
+      <entry>
+      <key><string>Key1</string></key>
+      <value>
+        <declarable>
+          <class-name>javaobject.Portfolio</class-name>
+          <parameter name="ID">
+            <string>1</string>
+          </parameter>
+          <parameter name="pkid">
+            <string>1</string>
+          </parameter>
+          <parameter name="type">
+            <string>type1</string>
+          </parameter>
+          <parameter name="status">
+            <string>active</string>
+          </parameter>
+          <parameter name="newVal">
+            <string>CCCCC</string>
+          </parameter>
+          <parameter name="position1">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>SUN</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>3900</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>3400.893475</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>3400</string>
+                </parameter>
+                <parameter name="secType">
+                    <string>r</string>
+                </parameter>
+                <parameter name="pid">
+                    <string>345</string>
+                </parameter>
+            </declarable>
+          </parameter>
+          <parameter name="position2">
+            <declarable>
+                <class-name>javaobject.Position</class-name>
+                <parameter name="secId">
+                    <string>IBM</string>
+                </parameter>
+                <parameter name="qty">
+                    <string>4600</string>
+                </parameter>
+                <parameter name="mktValue">
+                    <string>9900.884732</string>
+                </parameter>
+                <parameter name="sharesOutstanding">
+                    <string>8765</string>
+                </parameter>
+                <parameter name="secType">
+                   <string>p</string>
+                </parameter>
+                <parameter name="pid">
+                   <string>123</string>
+                </parameter>
+            </declarable>
+          </parameter>
+        </declarable>
+      </value>
+     </entry>
+     
+    </region>
+  
+</cache> 

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/buildit.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/buildit.bat b/examples/dist/cqQuery/buildit.bat
new file mode 100644
index 0000000..a2b5b77
--- /dev/null
+++ b/examples/dist/cqQuery/buildit.bat
@@ -0,0 +1,8 @@
+@echo off
+
+rem GFCPP must be set
+
+cl /MD /Zc:wchar_t /EHsc /GR /wd4996 /D_EXAMPLE /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTFS /DWINVER=0x0500 /DBUILD_TESTOBJECT /I%GFCPP%/include /FeCqQuery.exe CqQuery.cpp Portfolio.cpp Position.cpp %GFCPP%/lib/gfcppcache.lib
+
+cl /MD /Zc:wchar_t /EHsc /GR /wd4996 /D_EXAMPLE /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTFS /DWINVER=0x0500 /DBUILD_TESTOBJECT /I%GFCPP%/include /FeUpdater.exe Updater.cpp Portfolio.cpp Position.cpp %GFCPP%/lib/gfcppcache.lib
+del *.obj

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/buildit.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/buildit.sh b/examples/dist/cqQuery/buildit.sh
new file mode 100755
index 0000000..3e3e67c
--- /dev/null
+++ b/examples/dist/cqQuery/buildit.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+
+if [ -z ${GFCPP:-} ]; then
+  echo GFCPP is not set.
+  exit 1
+fi
+
+echo Building GemFire CqQuery
+
+OPT=-O3
+LIBDIR=lib
+
+platform=`uname`
+is64bit=__IS_64_BIT__
+if [ "$platform" == "SunOS" ]; then
+  if [ $is64bit -eq 1 ]; then
+    ARCH="-xarch=v9"
+  else
+    ARCH="-xarch=v8plus"
+  fi
+  CC=CC
+  CXX_FLAGS="-mt -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+      -D_REENTRANT $OPT $ARCH \
+      -I$GFCPP/include \
+      -L$GFCPP/$LIBDIR \
+      -R$GFCPP/$LIBDIR \
+      -lgfcppcache -lrt -lpthread -lkstat"
+elif [ "$platform" == "Linux" ]; then
+  if [ $is64bit -eq 1 ]; then
+    ARCH="-m64"
+  else
+    ARCH="-m32"
+  fi
+  CC=g++
+  CXX_FLAGS="-D_REENTRANT $OPT -Wall $ARCH \
+      -I$GFCPP/include \
+      -Xlinker -rpath -Xlinker $GFCPP/$LIBDIR -L$GFCPP/$LIBDIR \
+      -lgfcppcache"
+else
+  echo "This script is not supported on this platform."
+  exit 1
+fi
+
+$CC  $CXX_FLAGS \
+    CqQuery.cpp \
+    Portfolio.cpp \
+    Position.cpp -o CqQuery 
+$CC  $CXX_FLAGS \
+    Updater.cpp \
+    Portfolio.cpp \
+    Position.cpp -o Updater 

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/cleanup.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/cleanup.bat b/examples/dist/cqQuery/cleanup.bat
new file mode 100644
index 0000000..eedcb82
--- /dev/null
+++ b/examples/dist/cqQuery/cleanup.bat
@@ -0,0 +1,7 @@
+@echo off
+
+echo Deleting GemFire Statistics and Log files...
+
+del /q *.gfs
+del /q gfecs\*.*
+rmdir gfecs

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/cleanup.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/cleanup.sh b/examples/dist/cqQuery/cleanup.sh
new file mode 100755
index 0000000..c78dfbf
--- /dev/null
+++ b/examples/dist/cqQuery/cleanup.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+echo Deleting GemFire Statistics and Log files...
+
+rm -f *.gfs
+rm -f gfecs/*
+rmdir gfecs

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/runCqQuery.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/runCqQuery.bat b/examples/dist/cqQuery/runCqQuery.bat
new file mode 100644
index 0000000..84c7442
--- /dev/null
+++ b/examples/dist/cqQuery/runCqQuery.bat
@@ -0,0 +1,20 @@
+@echo off
+
+rem GFCPP must be set
+
+if not "%GFCPP%"=="" goto startexamples
+
+echo GFCPP is not set.
+goto finished
+
+
+:startexamples
+
+echo.
+echo Running GemFire C++ CqQuery example
+
+set PATH=%PATH%;%GFCPP%\bin;..\bin;
+
+
+call CqQuery.exe %1
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/runCqQuery.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/runCqQuery.sh b/examples/dist/cqQuery/runCqQuery.sh
new file mode 100644
index 0000000..aa0b701
--- /dev/null
+++ b/examples/dist/cqQuery/runCqQuery.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [ -z ${GFCPP:-} ]; then
+  echo GFCPP is not set.
+  exit 1
+fi
+
+exname='CqQuery'
+
+echo Running GemFire C++ example ${exname} ...
+
+export PATH="${PATH}:${GEMFIRE}/bin"
+
+${exname} $*
+
+echo Finished example ${exname}.
+
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/runUpdater.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/runUpdater.bat b/examples/dist/cqQuery/runUpdater.bat
new file mode 100644
index 0000000..893ba4d
--- /dev/null
+++ b/examples/dist/cqQuery/runUpdater.bat
@@ -0,0 +1,20 @@
+@echo off
+
+rem GFCPP must be set
+
+if not "%GFCPP%"=="" goto startexamples
+
+echo GFCPP is not set.
+goto finished
+
+
+:startexamples
+
+echo.
+echo Running GemFire C++ CqQuery example
+
+set PATH=%PATH%;%GFCPP%\bin;..\bin;
+
+
+call Updater.exe %1
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/runUpdater.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/runUpdater.sh b/examples/dist/cqQuery/runUpdater.sh
new file mode 100755
index 0000000..124a679
--- /dev/null
+++ b/examples/dist/cqQuery/runUpdater.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [ -z ${GFCPP:-} ]; then
+  echo GFCPP is not set.
+  exit 1
+fi
+
+exname='Updater'
+
+echo Running GemFire C++ example ${exname} ...
+
+export PATH="${PATH}:${GEMFIRE}/bin"
+
+${exname} $*
+
+echo Finished example ${exname}.
+
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/startServer.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/startServer.bat b/examples/dist/cqQuery/startServer.bat
new file mode 100644
index 0000000..bc58941
--- /dev/null
+++ b/examples/dist/cqQuery/startServer.bat
@@ -0,0 +1,32 @@
+@echo off
+
+rem GFCPP must be set
+rem GEMFIRE must be set
+
+
+if not "%GEMFIRE%"=="" goto startexamples
+
+echo GEMFIRE is not set.
+goto finished
+
+
+:startexamples
+
+
+:runexample
+
+echo.
+echo Running GemFire Server
+
+set CLASSPATH=%CLASSPATH%;../javaobject.jar;
+set PATH=%GEMFIRE%\bin;%PATH%;%GEMFIRE%\bin;..\bin;
+
+if not exist gfecs mkdir gfecs
+
+
+
+call cacheserver start cache-xml-file=../XMLs/serverCqQuery.xml mcast-port=35673 -dir=gfecs
+
+rem pause
+
+:finished

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/startServer.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/startServer.sh b/examples/dist/cqQuery/startServer.sh
new file mode 100755
index 0000000..979863d
--- /dev/null
+++ b/examples/dist/cqQuery/startServer.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [ -z ${GEMFIRE:-} ]; then
+  echo GEMFIRE is not set.
+  exit 1
+fi
+
+echo Running GemFire Server
+
+export CLASSPATH="${CLASSPATH}:../javaobject.jar"
+export PATH="${PATH}:${GEMFIRE}/bin"
+
+if [ ! -d gfecs ]
+then
+  mkdir gfecs
+fi
+
+   cacheserver start cache-xml-file=../XMLs/serverCqQuery.xml mcast-port=35673 -dir=gfecs
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/stopServer.bat
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/stopServer.bat b/examples/dist/cqQuery/stopServer.bat
new file mode 100644
index 0000000..f510733
--- /dev/null
+++ b/examples/dist/cqQuery/stopServer.bat
@@ -0,0 +1,21 @@
+@echo off
+
+rem GEMFIRE must be set
+
+
+if not "%GEMFIRE%"=="" goto startexamples
+
+echo GEMFIRE is not set.
+goto finished
+
+
+:startexamples
+
+echo.
+echo Stopping GemFire Server
+
+set PATH=%GEMFIRE%\bin;%PATH%;%GEMFIRE%\bin;..\bin;
+
+call cacheserver stop -dir=gfecs
+:finished
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/cqQuery/stopServer.sh
----------------------------------------------------------------------
diff --git a/examples/dist/cqQuery/stopServer.sh b/examples/dist/cqQuery/stopServer.sh
new file mode 100755
index 0000000..c4f4a9c
--- /dev/null
+++ b/examples/dist/cqQuery/stopServer.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [ -z ${GEMFIRE:-} ]; then
+  echo GEMFIRE is not set.
+  exit 1
+fi
+
+
+echo Stop GemFire Server
+
+export PATH="${PATH}:${GEMFIRE}/bin"
+
+
+cacheserver stop -dir=gfecs
+
+echo Stopped Server
+
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/executeFunction/ExecuteFunctions.cpp
----------------------------------------------------------------------
diff --git a/examples/dist/executeFunction/ExecuteFunctions.cpp b/examples/dist/executeFunction/ExecuteFunctions.cpp
new file mode 100644
index 0000000..2d2f84d
--- /dev/null
+++ b/examples/dist/executeFunction/ExecuteFunctions.cpp
@@ -0,0 +1,287 @@
+/*
+ * The Execute Function Example.
+ *
+ */
+
+// Include the GemFire library.
+#include <gfcpp/GemfireCppCache.hpp>
+
+// Include the Execute function headers.
+#include <gfcpp/FunctionService.hpp>
+#include <gfcpp/Execution.hpp>
+#include <gfcpp/ResultCollector.hpp>
+#ifndef _WIN32
+#include <unistd.h>
+#else
+#include <windows.h>
+#endif
+
+// Use the "gemfire" namespace.
+using namespace gemfire;
+
+char* getFuncIName = (char*)"MultiGetFunctionI";
+char* putFuncIName = (char*)"MultiPutFunctionI";
+char* getFuncName = (char*)"MultiGetFunction";
+char* putFuncName = (char*)"MultiPutFunction";
+char* roFuncName = (char*)"RegionOperationsFunction";
+
+//customer Result collector
+class MyResultCollector : public ResultCollector
+{
+  public:
+   MyResultCollector():
+     m_resultList(CacheableVector::create()),
+     m_isResultReady(false),
+     m_endResultCount(0),
+     m_addResultCount(0),
+     m_getResultCount(0)
+   {
+   }
+   ~MyResultCollector()
+    {
+    }
+   CacheableVectorPtr getResult(uint32_t timeout )
+   {
+     m_getResultCount++;
+     if(m_isResultReady == true)
+       return m_resultList;
+     else
+     {
+       for(uint32_t i=0; i < timeout; i++)
+     {
+#ifndef _WIN32
+  sleep( 1 );
+#else
+  Sleep( 1 );
+#endif
+     if(m_isResultReady == true)
+       return m_resultList;
+     }
+     throw FunctionExecutionException(
+               "Result is not ready, endResults callback is called before invoking getResult() method");
+     }
+   }
+
+   void addResult(CacheablePtr& result)
+   {
+     m_addResultCount++;
+     if(result == NULLPTR)
+      return;
+     CacheableArrayListPtr results = dynCast<CacheableArrayListPtr>(result);
+     for(int32_t i=0; i < results->size(); i++)
+     {
+       m_resultList->push_back(results->operator[](i));
+     }
+   }
+   void endResults()
+   {
+     m_isResultReady = true;
+     m_endResultCount++;
+   }
+   uint32_t getEndResultCount()
+   {
+     return m_endResultCount;
+   }
+   uint32_t getAddResultCount()
+   {
+     return m_addResultCount;
+   }
+   uint32_t getGetResultCount()
+   {
+     return m_getResultCount;
+   }
+
+  private:
+    CacheableVectorPtr m_resultList;
+    volatile bool m_isResultReady;
+    uint32_t m_endResultCount;
+    uint32_t m_addResultCount;
+    uint32_t m_getResultCount;
+};
+
+// The Execute Function example.
+int main(int argc, char ** argv)
+{
+  try
+  {    
+    // Create CacheFactory using the settings from the gfcpp.properties file by default. 
+ 	CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();   
+
+    CachePtr cachePtr = cacheFactory
+      ->setSubscriptionEnabled(true)
+      ->addServer("localhost", 50505)
+      ->addServer("localhost", 40404)
+      ->create();
+
+    LOGINFO("Created the GemFire Cache.");  
+
+    RegionPtr regPtr0 = cachePtr
+      ->createRegionFactory(CACHING_PROXY)
+      ->create("partition_region");
+
+    LOGINFO("Created the Partition Region.");  
+    
+    regPtr0->registerAllKeys();
+    char buf[128];
+    CacheableVectorPtr resultList = CacheableVector::create();
+    for(int i=0; i < 34; i++)
+    {
+      sprintf(buf, "VALUE--%d", i);
+      CacheablePtr value(CacheableString::create(buf));
+
+      sprintf(buf, "KEY--%d", i);
+      CacheableKeyPtr key = CacheableKey::create(buf);
+      regPtr0->put(key, value);
+    }
+
+    bool getResult = true;
+    CacheableVectorPtr routingObj = CacheableVector::create();
+    for(int i=0; i < 34; i++)
+    {
+      if(i%2==0) continue;
+      sprintf(buf, "KEY--%d", i);
+      CacheableKeyPtr key = CacheableKey::create(buf);
+      routingObj->push_back(key);
+    }
+    LOGINFO("test data independant function with result on one server");
+    //test data independant function with result on one server
+    ExecutionPtr exc = FunctionService::onServer((RegionServicePtr)cachePtr);
+    CacheablePtr args = routingObj;
+    CacheableVectorPtr executeFunctionResult = 
+         exc->withArgs(args)->execute(getFuncIName, getResult)->getResult();
+    if(executeFunctionResult==NULLPTR)
+    {
+      LOGINFO("get executeFunctionResult is NULL");
+    } else
+    {
+      for (int32_t item=0; item < executeFunctionResult->size(); item++)
+      {
+        CacheableArrayListPtr arrayList = dynCast<CacheableArrayListPtr>(executeFunctionResult->operator[](item));
+        for (int32_t pos=0; pos < arrayList->size(); pos++)
+        {
+          resultList->push_back(arrayList->operator[](pos));
+        }
+      }
+      sprintf(buf, "get: result count = %d", resultList->size());
+      LOGINFO(buf);
+      for(int32_t i=0; i < executeFunctionResult->size(); i++)
+      {
+         sprintf(buf, "get result[%d]=%s", i, dynCast<CacheableStringPtr>(resultList->operator[](i))->asChar());
+         LOGINFO(buf);
+      }
+    }
+
+    LOGINFO("test data independant function without result on one server");
+    getResult = false;
+    exc->withArgs(args)->execute(putFuncIName, getResult, 15, false);
+
+    LOGINFO("test data independant function with result on all servers");
+    getResult = true;
+    exc = FunctionService::onServers((RegionServicePtr)cachePtr);
+    executeFunctionResult = 
+         exc->withArgs(args)->execute(getFuncIName, getResult)->getResult();
+    if(executeFunctionResult==NULLPTR)
+    {
+      LOGINFO("get executeFunctionResult is NULL");
+    } else
+    {
+      resultList->clear();
+      for (int32_t item=0; item < executeFunctionResult->size(); item++)
+      {
+        CacheableArrayListPtr arrayList = dynCast<CacheableArrayListPtr>(executeFunctionResult->operator[](item));
+        for (int32_t pos=0; pos < arrayList->size(); pos++)
+        {
+          resultList->push_back(arrayList->operator[](pos));
+        }
+      }
+      sprintf(buf, "get result count = %d", resultList->size());
+      LOGINFO(buf);
+      for(int32_t i=0; i < executeFunctionResult->size(); i++)
+      {
+         sprintf(buf, "get result[%d]=%s", i, dynCast<CacheableStringPtr>(resultList->operator[](i))->asChar());
+         LOGINFO(buf);
+      }
+    }
+
+    getResult = false;
+    LOGINFO("test data independant function without result on all servers");
+    exc->withArgs(args)->execute(putFuncIName, getResult, 15, false);
+
+    LOGINFO("test data dependant function with result");
+    getResult = true;
+    args = CacheableBoolean::create( 1 );
+    exc = FunctionService::onRegion(regPtr0);
+    args = CacheableKey::create("echoString");
+    executeFunctionResult = 
+         exc->withFilter(routingObj)->withArgs(args)->execute(roFuncName, getResult, 15, true, true)->getResult();
+    if(executeFunctionResult==NULLPTR)
+    {
+      LOGINFO("echo String : executeFunctionResult is NULL");
+    } else 
+    {
+      LOGINFO("echo String : result count = %d", executeFunctionResult->size());
+      const char* str = dynCast<CacheableStringPtr>(executeFunctionResult->operator[](0))->asChar();
+      if(strcmp("echoString", str) != 0 ){
+        LOGINFO("echoString is not echoed back");
+      }
+    }
+    args = CacheableKey::create("echoBoolean");
+    executeFunctionResult = 
+         exc->withFilter(routingObj)->withArgs(args)->execute(roFuncName, getResult, 15, true, true)->getResult();
+    if(executeFunctionResult==NULLPTR)
+    {
+      LOGINFO("echo Boolean: executeFunctionResult is NULL");
+    } else 
+    {
+      LOGINFO("echo Boolean: result count = %d", executeFunctionResult->size());
+      bool b = dynCast<CacheableBooleanPtr>(executeFunctionResult->operator[](0))->value();
+      LOGINFO(b==true ? "true" : "false");
+    }
+    executeFunctionResult = 
+         exc->withFilter(routingObj)->withArgs(args)->execute(getFuncName, getResult)->getResult();
+    if(executeFunctionResult==NULLPTR)
+    {
+      LOGINFO( "execute on region: executeFunctionResult is NULL");
+    } else 
+    {
+      resultList->clear();
+      for (int32_t item=0; item < executeFunctionResult->size(); item++)
+      {
+        CacheableArrayListPtr arrayList = dynCast<CacheableArrayListPtr>(executeFunctionResult->operator[](item));
+        for (int32_t pos=0; pos < arrayList->size(); pos++)
+        {
+          resultList->push_back(arrayList->operator[](pos));
+        }
+      }
+      LOGINFO( "Execute on Region: result count = %d", executeFunctionResult->size());
+      for(int32_t i=0; i < executeFunctionResult->size(); i++)
+      {
+         sprintf(buf, "Execute on Region: result[%d]=%s", i, dynCast<CacheableStringPtr>(resultList->operator[](i))->asChar());
+         LOGINFO(buf);
+      }
+    }
+    //     test get function with customer collector
+    LOGINFO("test get function without customer collector");
+    MyResultCollector *myRC = new MyResultCollector();
+    executeFunctionResult = 
+         exc->withFilter(routingObj)->withArgs(args)->withCollector(ResultCollectorPtr(myRC) )->execute(getFuncName, getResult)->getResult();
+    LOGINFO("add result count = %d", myRC->getAddResultCount());
+    LOGINFO("end result count = %d", myRC->getEndResultCount());
+    LOGINFO("get result count = %d", myRC->getGetResultCount());
+
+    LOGINFO("test data dependant function without result");
+    getResult = false;
+    exc->withFilter(routingObj)->withArgs(args)->execute(putFuncName, getResult, 15, false);
+    // Close the GemFire Cache.
+    cachePtr->close();
+
+    LOGINFO("Closed the GemFire Cache");
+
+  }
+  // An exception should not occur
+  catch(const Exception & gemfireExcp)
+  {
+    LOGERROR("Function Execution GemFire Exception: %s", gemfireExcp.getMessage());
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/executeFunction/XMLs/serverExecuteFunctions.xml
----------------------------------------------------------------------
diff --git a/examples/dist/executeFunction/XMLs/serverExecuteFunctions.xml b/examples/dist/executeFunction/XMLs/serverExecuteFunctions.xml
new file mode 100755
index 0000000..a3c55f1
--- /dev/null
+++ b/examples/dist/executeFunction/XMLs/serverExecuteFunctions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <cache-server port="50505">
+    <group>ServerGroup1</group>
+  </cache-server>
+  <region name='partition_region'>
+    <region-attributes  data-policy="partition"></region-attributes>
+  </region>
+  <function-service>
+    <function>
+      <class-name>javaobject.MultiGetFunctionI</class-name>
+    </function>
+    <function>
+      <class-name>javaobject.MultiPutFunctionI</class-name>
+     </function>
+     <function>
+       <class-name>javaobject.MultiGetFunction</class-name>
+     </function>
+     <function>
+       <class-name>javaobject.MultiPutFunction</class-name>
+     </function>
+     <function>
+       <class-name>javaobject.RegionOperationsFunction</class-name>
+     </function>
+  </function-service>
+</cache>

http://git-wip-us.apache.org/repos/asf/geode/blob/2d4a7ecd/examples/dist/executeFunction/XMLs/serverExecuteFunctions2.xml
----------------------------------------------------------------------
diff --git a/examples/dist/executeFunction/XMLs/serverExecuteFunctions2.xml b/examples/dist/executeFunction/XMLs/serverExecuteFunctions2.xml
new file mode 100755
index 0000000..ab5c6c9
--- /dev/null
+++ b/examples/dist/executeFunction/XMLs/serverExecuteFunctions2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+
+<cache xmlns="http://geode.apache.org/schema/cache"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd"
+       version="1.0">
+  <cache-server port="40404">
+     <group>ServerGroup1</group>
+  </cache-server>
+  <region name='partition_region'>
+    <region-attributes  data-policy="partition"></region-attributes>
+  </region>
+  <function-service>
+    <function>
+      <class-name>javaobject.MultiGetFunctionI</class-name>
+    </function>
+    <function>
+      <class-name>javaobject.MultiPutFunctionI</class-name>
+    </function>
+    <function>
+      <class-name>javaobject.MultiGetFunction</class-name>
+    </function>
+    <function>
+      <class-name>javaobject.MultiPutFunction</class-name>
+    </function>
+    <function>
+      <class-name>javaobject.RegionOperationsFunction</class-name>
+    </function>
+  </function-service>
+</cache>


Mime
View raw message