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
+}