use of com.hazelcast.query.SampleObjects.Employee in project hazelcast by hazelcast.
the class QueryAdvancedTest method testOneMemberSQLWithIndex.
@Test
public void testOneMemberSQLWithIndex() {
HazelcastInstance instance = createHazelcastInstance(getConfig());
IMap<String, Employee> map = instance.getMap("employees");
map.addIndex("name", false);
map.addIndex("age", true);
map.addIndex("active", false);
QueryBasicTest.doFunctionalSQLQueryTest(map);
}
use of com.hazelcast.query.SampleObjects.Employee in project hazelcast by hazelcast.
the class QueryAdvancedTest method testTwoMembersWithIndexes.
@Test
public void testTwoMembersWithIndexes() {
Config config = getConfig();
TestHazelcastInstanceFactory nodeFactory = createHazelcastInstanceFactory(2);
HazelcastInstance instance = nodeFactory.newHazelcastInstance(config);
nodeFactory.newHazelcastInstance(config);
IMap<String, Employee> map = instance.getMap("employees");
map.addIndex("name", false);
map.addIndex("age", true);
map.addIndex("active", false);
QueryBasicTest.doFunctionalQueryTest(map);
}
use of com.hazelcast.query.SampleObjects.Employee in project hazelcast by hazelcast.
the class QueryAdvancedTest method testTwoNodesWithIndexes.
@Test
public void testTwoNodesWithIndexes() throws Exception {
Config config = getConfig();
TestHazelcastInstanceFactory nodeFactory = createHazelcastInstanceFactory(2);
HazelcastInstance instance1 = nodeFactory.newHazelcastInstance(config);
HazelcastInstance instance2 = nodeFactory.newHazelcastInstance(config);
IMap<String, Employee> map = instance1.getMap("employees");
map.addIndex("name", false);
map.addIndex("city", false);
map.addIndex("age", true);
map.addIndex("active", false);
for (int i = 0; i < 5000; i++) {
Employee employee = new Employee(i, "name" + i % 100, "city" + (i % 100), i % 60, ((i & 1) == 1), (double) i);
map.put(String.valueOf(i), employee);
}
assertEquals(2, instance1.getCluster().getMembers().size());
assertEquals(2, instance2.getCluster().getMembers().size());
map = instance2.getMap("employees");
map.addIndex("name", false);
map.addIndex("city", false);
map.addIndex("age", true);
map.addIndex("active", false);
Collection<Employee> entries = map.values(new SqlPredicate("name='name3' and city='city3' and age > 2"));
assertEquals(50, entries.size());
for (Employee employee : entries) {
assertEquals("name3", employee.getName());
assertEquals("city3", employee.getCity());
}
entries = map.values(new SqlPredicate("name LIKE '%name3' and city like '%city3' and age > 2"));
assertEquals(50, entries.size());
for (Employee employee : entries) {
assertEquals("name3", employee.getName());
assertEquals("city3", employee.getCity());
assertTrue(employee.getAge() > 2);
}
entries = map.values(new SqlPredicate("name LIKE '%name3%' and city like '%city30%'"));
assertEquals(50, entries.size());
for (Employee employee : entries) {
assertTrue(employee.getName().startsWith("name3"));
assertTrue(employee.getCity().startsWith("city3"));
}
}
use of com.hazelcast.query.SampleObjects.Employee in project hazelcast by hazelcast.
the class NearCacheTest method testAfterExecuteOnEntriesNearCacheIsInvalidated.
@Test
public void testAfterExecuteOnEntriesNearCacheIsInvalidated() {
int mapSize = 10;
String mapName = randomMapName();
Config config = createNearCachedMapConfig(mapName);
HazelcastInstance instance = createHazelcastInstance(config);
IMap<Integer, Employee> map = instance.getMap(mapName);
for (int i = 0; i < mapSize; i++) {
map.put(i, new Employee(i, "", 0, true, 0D));
}
populateNearCache(map, mapSize);
EntryObject e = new PredicateBuilder().getEntryObject();
Predicate predicate = e.get("salary").equal(0);
map.executeOnEntries(new AbstractEntryProcessor<Integer, Employee>() {
@Override
public Object process(Map.Entry<Integer, Employee> entry) {
Employee employee = entry.getValue();
double currentSalary = employee.getSalary();
double newSalary = currentSalary + 10;
employee.setSalary(newSalary);
return newSalary;
}
}, predicate);
assertEquals(0, getNearCacheStats(map).getOwnedEntryCount());
}
use of com.hazelcast.query.SampleObjects.Employee in project hazelcast by hazelcast.
the class QueryAdvancedTest method testTwoMembersWithIndexesAndShutdown.
@Test
public void testTwoMembersWithIndexesAndShutdown() {
Config config = getConfig();
TestHazelcastInstanceFactory nodeFactory = createHazelcastInstanceFactory(2);
HazelcastInstance instance1 = nodeFactory.newHazelcastInstance(config);
HazelcastInstance instance2 = nodeFactory.newHazelcastInstance(config);
IMap<String, Employee> map = instance1.getMap("employees");
map.addIndex("name", false);
map.addIndex("age", true);
map.addIndex("active", false);
QueryBasicTest.doFunctionalQueryTest(map);
assertEquals(101, map.size());
instance2.getLifecycleService().shutdown();
assertEquals(101, map.size());
Set<Map.Entry<String, Employee>> entries = map.entrySet(new SqlPredicate("active and age=23"));
assertEquals(2, entries.size());
for (Map.Entry<String, Employee> entry : entries) {
Employee employee = entry.getValue();
assertEquals(employee.getAge(), 23);
assertTrue(employee.isActive());
}
}
Aggregations