use of com.hazelcast.core.HazelcastJsonValue in project hazelcast by hazelcast.
the class MapPredicateJsonTest method testNestedQuery.
@Test
public void testNestedQuery() {
JsonObject object1 = Json.object();
JsonObject nested1 = Json.object();
JsonObject object2 = Json.object();
JsonObject nested2 = Json.object();
nested1.add("lim", 5);
nested2.add("lim", 6);
object1.add("inner", nested1);
object2.add("inner", nested2);
IMap<String, JsonValue> map = instance.getMap(randomMapName());
HazelcastJsonValue p1 = putJsonString(map, "one", object1);
HazelcastJsonValue p2 = putJsonString(map, "two", object2);
Collection<JsonValue> vals = map.values(Predicates.greaterEqual("inner.lim", 6));
assertEquals(1, vals.size());
assertTrue(vals.contains(p2));
}
use of com.hazelcast.core.HazelcastJsonValue in project hazelcast by hazelcast.
the class MapPredicateJsonTest method testArrayInNestedQuery.
@Test
public void testArrayInNestedQuery() {
JsonObject object1 = Json.object();
JsonObject nested1 = Json.object();
JsonObject object2 = Json.object();
JsonObject nested2 = Json.object();
JsonArray array1 = Json.array(new int[] { 1, 2, 3, 4, 5, 6 });
JsonArray array2 = Json.array(new int[] { 10, 20, 30, 40, 50, 60 });
nested1.add("arr", array1);
nested2.add("arr", array2);
object1.add("inner", nested1);
object2.add("inner", nested2);
IMap<String, JsonValue> map = instance.getMap(randomMapName());
HazelcastJsonValue p1 = putJsonString(map, "one", object1);
HazelcastJsonValue p2 = putJsonString(map, "two", object2);
Collection<JsonValue> vals = map.values(Predicates.greaterEqual("inner.arr[2]", 20));
assertEquals(1, vals.size());
assertTrue(vals.contains(p2));
}
use of com.hazelcast.core.HazelcastJsonValue in project hazelcast by hazelcast.
the class MapPredicateJsonTest method testQueryOnArrayIndex.
@Test
public void testQueryOnArrayIndex() {
JsonObject value1 = Json.object();
JsonObject value2 = Json.object();
JsonObject value3 = Json.object();
JsonArray array1 = Json.array(new int[] { 1, 2, 3, 4, 5 });
JsonArray array2 = Json.array(new int[] { 10, 20, 30, 40, 50 });
JsonArray array3 = Json.array(new int[] { 100, 200, 300, 400, 500 });
value1.add("numbers", array1);
value2.add("numbers", array2);
value3.add("numbers", array3);
IMap<String, JsonValue> map = instance.getMap(randomMapName());
HazelcastJsonValue p1 = putJsonString(map, "one", value1);
HazelcastJsonValue p2 = putJsonString(map, "two", value2);
HazelcastJsonValue p3 = putJsonString(map, "three", value3);
Collection<String> vals = map.keySet(Predicates.greaterEqual("numbers[1]", 20));
assertEquals(2, vals.size());
assertTrue(vals.contains("two"));
assertTrue(vals.contains("three"));
}
use of com.hazelcast.core.HazelcastJsonValue in project hazelcast by hazelcast.
the class MapPredicateJsonTest method testQueryOnArray_whenAnyIsUsed.
@Test
public void testQueryOnArray_whenAnyIsUsed() {
JsonObject value1 = Json.object();
JsonObject value2 = Json.object();
JsonObject value3 = Json.object();
JsonArray array1 = Json.array(new int[] { 1, 2, 3, 4, 20 });
JsonArray array2 = Json.array(new int[] { 10, 20, 30 });
JsonArray array3 = Json.array(new int[] { 100, 200, 300, 400 });
value1.add("numbers", array1);
value2.add("numbers", array2);
value3.add("numbers", array3);
IMap<String, JsonValue> map = instance.getMap(randomMapName());
putJsonString(map, "one", value1);
HazelcastJsonValue p2 = putJsonString(map, "two", value2);
HazelcastJsonValue p3 = putJsonString(map, "three", value3);
Collection<JsonValue> vals = map.values(Predicates.greaterThan("numbers[any]", 20));
assertEquals(2, vals.size());
assertTrue(vals.contains(p2));
assertTrue(vals.contains(p3));
}
use of com.hazelcast.core.HazelcastJsonValue in project hazelcast by hazelcast.
the class MapPredicateJsonTest method testJsonValueIsJustABoolean.
@Test
public void testJsonValueIsJustABoolean() {
IMap<Integer, HazelcastJsonValue> map = instance.getMap(randomMapName());
for (int i = 0; i < 10; i++) {
map.put(i, new HazelcastJsonValue(Json.value(i < 7).toString()));
}
Collection<Map.Entry<Integer, HazelcastJsonValue>> vals = map.entrySet(Predicates.equal("this", true));
assertEquals(7, vals.size());
for (Map.Entry<Integer, HazelcastJsonValue> entry : vals) {
assertTrue(entry.getKey() < 7);
assertEquals("true", entry.getValue().toString());
}
}
Aggregations