You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2015/12/17 13:07:30 UTC

ignite git commit: fixed https://issues.apache.org/jira/browse/IGNITE-2175

Repository: ignite
Updated Branches:
  refs/heads/ignite-1.5 c1e292667 -> 3223b05c0


fixed https://issues.apache.org/jira/browse/IGNITE-2175


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3223b05c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3223b05c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3223b05c

Branch: refs/heads/ignite-1.5
Commit: 3223b05c082732ad77462f00cb09d24af2d768f7
Parents: c1e2926
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Thu Dec 17 15:07:21 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Thu Dec 17 15:07:21 2015 +0300

----------------------------------------------------------------------
 .../examples/datagrid/CacheQueryExample.java    | 11 +++---
 .../streaming/StreamVisitorExample.java         | 40 +++++++++++++++-----
 2 files changed, 36 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/3223b05c/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryExample.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryExample.java
index 2d86cde..ace7395 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryExample.java
@@ -22,6 +22,7 @@ import javax.cache.Cache;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.Ignition;
+import org.apache.ignite.binary.BinaryObject;
 import org.apache.ignite.cache.CacheMode;
 import org.apache.ignite.cache.affinity.AffinityKey;
 import org.apache.ignite.cache.query.QueryCursor;
@@ -126,12 +127,12 @@ public class CacheQueryExample {
      * Example for scan query based on a predicate.
      */
     private static void scanQuery() {
-        IgniteCache<AffinityKey<Long>, Person> cache = Ignition.ignite().cache(PERSON_CACHE);
+        IgniteCache<BinaryObject, BinaryObject> cache = Ignition.ignite().cache(PERSON_CACHE).withKeepBinary();
 
-        ScanQuery<AffinityKey<Long>, Person> scan = new ScanQuery<>(
-            new IgniteBiPredicate<AffinityKey<Long>, Person>() {
-                @Override public boolean apply(AffinityKey<Long> key, Person person) {
-                    return person.salary <= 1000;
+        ScanQuery<BinaryObject, BinaryObject> scan = new ScanQuery<>(
+            new IgniteBiPredicate<BinaryObject, BinaryObject>() {
+                @Override public boolean apply(BinaryObject key, BinaryObject person) {
+                    return person.<Double>field("salary") <= 1000;
                 }
             }
         );

http://git-wip-us.apache.org/repos/asf/ignite/blob/3223b05c/examples/src/main/java/org/apache/ignite/examples/streaming/StreamVisitorExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/streaming/StreamVisitorExample.java b/examples/src/main/java/org/apache/ignite/examples/streaming/StreamVisitorExample.java
index f2e1e9f..819cfea 100644
--- a/examples/src/main/java/org/apache/ignite/examples/streaming/StreamVisitorExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/streaming/StreamVisitorExample.java
@@ -25,6 +25,8 @@ import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteDataStreamer;
 import org.apache.ignite.Ignition;
+import org.apache.ignite.binary.BinaryObject;
+import org.apache.ignite.binary.BinaryObjectBuilder;
 import org.apache.ignite.cache.query.SqlFieldsQuery;
 import org.apache.ignite.cache.query.annotations.QuerySqlField;
 import org.apache.ignite.configuration.CacheConfiguration;
@@ -75,21 +77,39 @@ public class StreamVisitorExample {
                     // Instead we update the instruments in the 'instCache'.
                     // Since both, 'instCache' and 'mktCache' use the same key, updates are collocated.
                     mktStmr.receiver(new StreamVisitor<String, Double>() {
-                        @Override
-                        public void apply(IgniteCache<String, Double> cache, Map.Entry<String, Double> e) {
+                        @Override public void apply(IgniteCache<String, Double> cache, Map.Entry<String, Double> e) {
                             String symbol = e.getKey();
                             Double tick = e.getValue();
 
-                            Instrument inst = instCache.get(symbol);
+                            IgniteCache<String, BinaryObject> binInstCache = ignite.cache("instCache").withKeepBinary();
 
-                            if (inst == null)
-                                inst = new Instrument(symbol);
+                            BinaryObject inst = binInstCache.get(symbol);
 
-                            // Don't populate market cache, as we don't use it for querying.
-                            // Update cached instrument based on the latest market tick.
-                            inst.update(tick);
+                            BinaryObjectBuilder instBuilder;
 
-                            instCache.put(symbol, inst);
+                            if (inst == null) {
+                                instBuilder = ignite.binary().builder("Instrument");
+
+                                // Constructor logic.
+                                instBuilder.setField(
+                                    "symbol",
+                                    symbol);
+                            }
+                            else
+                                instBuilder = inst.toBuilder();
+
+                            // Instrument.update() logic.
+                            Double open = instBuilder.<Double>getField("open");
+
+                            if (open == null || open == 0)
+                                instBuilder.setField("open", tick);
+
+                            instBuilder.setField("latest", tick);
+
+                            // Build instrument object.
+                            inst = instBuilder.build();
+
+                            binInstCache.put(symbol, inst);
                         }
                     });
 
@@ -168,4 +188,4 @@ public class StreamVisitorExample {
             this.latest = price;
         }
     }
-}
\ No newline at end of file
+}