use of com.hazelcast.query.SampleObjects.Value in project hazelcast by hazelcast.
the class QueryBasicTest method issue393.
@Test(timeout = 1000 * 60)
public void issue393() {
HazelcastInstance instance = createHazelcastInstance(getConfig());
IMap<String, Value> map = instance.getMap("default");
map.addIndex("name", true);
for (int i = 0; i < 4; i++) {
Value v = new Value("name" + i);
map.put("" + i, v);
}
Predicate predicate = new PredicateBuilder().getEntryObject().get("name").in("name0", "name2");
Collection<Value> values = map.values(predicate);
String[] expectedValues = new String[] { "name0", "name2" };
assertEquals(expectedValues.length, values.size());
List<String> names = new ArrayList<String>();
for (Value configObject : values) {
names.add(configObject.getName());
}
String[] array = names.toArray(new String[names.size()]);
Arrays.sort(array);
assertArrayEquals(names.toString(), expectedValues, array);
}
use of com.hazelcast.query.SampleObjects.Value in project hazelcast by hazelcast.
the class QueryIndexTest method testInnerIndex.
@Test(timeout = 1000 * 60)
public void testInnerIndex() {
HazelcastInstance instance = createHazelcastInstance();
IMap<String, SampleObjects.Value> map = instance.getMap("default");
map.addIndex("name", false);
map.addIndex("type.typeName", false);
for (int i = 0; i < 10; i++) {
Value v = new Value("name" + i, i < 5 ? null : new ValueType("type" + i), i);
map.put("" + i, v);
}
Predicate predicate = new PredicateBuilder().getEntryObject().get("type.typeName").in("type8", "type6");
Collection<SampleObjects.Value> values = map.values(predicate);
assertEquals(2, values.size());
List<String> typeNames = new ArrayList<String>();
for (Value configObject : values) {
typeNames.add(configObject.getType().getTypeName());
}
String[] array = typeNames.toArray(new String[typeNames.size()]);
Arrays.sort(array);
assertArrayEquals(typeNames.toString(), new String[] { "type6", "type8" }, array);
}
use of com.hazelcast.query.SampleObjects.Value in project hazelcast by hazelcast.
the class QueryIndexTest method testInnerIndexSql.
@Test(timeout = 1000 * 60)
public void testInnerIndexSql() {
HazelcastInstance instance = createHazelcastInstance();
IMap<String, SampleObjects.Value> map = instance.getMap("default");
map.addIndex("name", false);
map.addIndex("type.typeName", false);
for (int i = 0; i < 4; i++) {
Value v = new Value("name" + i, new ValueType("type" + i), i);
map.put("" + i, v);
}
Predicate predicate = new SqlPredicate("type.typeName='type1'");
Collection<SampleObjects.Value> values = map.values(predicate);
assertEquals(1, values.size());
List<String> typeNames = new ArrayList<String>();
for (Value configObject : values) {
typeNames.add(configObject.getType().getTypeName());
}
assertArrayEquals(typeNames.toString(), new String[] { "type1" }, typeNames.toArray(new String[typeNames.size()]));
}
use of com.hazelcast.query.SampleObjects.Value in project hazelcast by hazelcast.
the class QueryBasicTest method testInPredicateWithEmptyArray.
@Test(timeout = 1000 * 60)
public void testInPredicateWithEmptyArray() {
TestHazelcastInstanceFactory nodeFactory = createHazelcastInstanceFactory(2);
Config cfg = getConfig();
HazelcastInstance instance = nodeFactory.newHazelcastInstance(cfg);
final IMap<String, Value> map = instance.getMap("default");
for (int i = 0; i < 10; i++) {
final Value v = new Value("name" + i, new ValueType("type" + i), i);
map.put("" + i, v);
}
String[] emptyArray = new String[2];
final Predicate predicate = new PredicateBuilder().getEntryObject().get("name").in(emptyArray);
final Collection<Value> values = map.values(predicate);
assertEquals(values.size(), 0);
}
use of com.hazelcast.query.SampleObjects.Value in project hazelcast by hazelcast.
the class QueryBasicTest method issue393SqlEq.
@Test(timeout = 1000 * 60)
public void issue393SqlEq() {
HazelcastInstance instance = createHazelcastInstance(getConfig());
IMap<String, Value> map = instance.getMap("default");
map.addIndex("name", true);
for (int i = 0; i < 4; i++) {
Value v = new Value("name" + i);
map.put("" + i, v);
}
Predicate predicate = new SqlPredicate("name='name0'");
Collection<Value> values = map.values(predicate);
String[] expectedValues = new String[] { "name0" };
assertEquals(expectedValues.length, values.size());
List<String> names = new ArrayList<String>();
for (Value configObject : values) {
names.add(configObject.getName());
}
String[] array = names.toArray(new String[names.size()]);
Arrays.sort(array);
assertArrayEquals(names.toString(), expectedValues, array);
}
Aggregations