Search in sources :

Example 81 with Person

use of org.infinispan.query.test.Person in project infinispan by infinispan.

the class QueryRangesTest method testQueryingRangeWithLimitsAndExclusions.

public void testQueryingRangeWithLimitsAndExclusions() throws ParseException {
    loadTestingData();
    Query<?> cacheQuery = createQuery("age:[21 to 30]");
    List<?> found = cacheQuery.execute().list();
    assertEquals(2, found.size());
    assert found.contains(person2);
    assert found.contains(person3);
    assert !found.contains(person4) : "This should not contain object person4";
    person4 = new Person();
    person4.setName("Mighty Goat");
    person4.setBlurb("Mighty Goat also eats grass");
    person4.setAge(28);
    cache.put("mighty", person4);
    found = cacheQuery.execute().list();
    assertEquals(3, found.size());
    assert found.contains(person2);
    assert found.contains(person3);
    assert found.contains(person4) : "This should now contain object person4";
    Person person5 = new Person();
    person5.setName("ANother Goat");
    person5.setBlurb("Some other goat should eat grass.");
    person5.setAge(31);
    cache.put("anotherGoat", person5);
    found = cacheQuery.execute().list();
    assertEquals(3, found.size());
    assert found.contains(person2);
    assert found.contains(person3);
    assert found.contains(person4) : "This should now contain object person4";
    cacheQuery = createQuery("age:[20 to 29]");
    found = cacheQuery.execute().list();
    assertEquals(3, found.size());
    assert found.contains(person1);
    assert found.contains(person3);
    assert found.contains(person4);
}
Also used : Person(org.infinispan.query.test.Person)

Example 82 with Person

use of org.infinispan.query.test.Person in project infinispan by infinispan.

the class TransactionIsolationTest method testPrepareFailure.

private void testPrepareFailure(String key) throws Exception {
    cache(0).put(key, RADIM);
    QueryFactory qf0 = Search.getQueryFactory(cache(0));
    assertEquals(Collections.singletonList(RADIM), getYoungerThan(qf0, 30));
    cache(0).getAdvancedCache().getAsyncInterceptorChain().addInterceptor(new FailPrepare(), 0);
    tm(0).begin();
    cache(0).put(key, TRISTAN);
    try {
        tm(0).commit();
        fail("Should rollback");
    } catch (Throwable t) {
        if (t instanceof CacheException) {
            t = t.getCause();
        }
        assertException(RollbackException.class, t);
    }
    // pessimistic mode commits in the prepare command
    Person expected = lockingMode == LockingMode.OPTIMISTIC ? RADIM : TRISTAN;
    assertEquals(expected, cache(0).get(key));
    assertEquals(expected, cache(1).get(key));
    // In pessimistic cache TRISTAN is in cache but it does not match the criteria
    // so the result should be empty
    List<Person> expectedResult = lockingMode == LockingMode.OPTIMISTIC ? Collections.singletonList(RADIM) : Collections.emptyList();
    assertEquals(expectedResult, getYoungerThan(qf0, 30));
}
Also used : QueryFactory(org.infinispan.query.dsl.QueryFactory) CacheException(org.infinispan.commons.CacheException) RollbackException(javax.transaction.RollbackException) Person(org.infinispan.query.test.Person)

Aggregations

Person (org.infinispan.query.test.Person)82 QueryFactory (org.infinispan.query.dsl.QueryFactory)21 Test (org.testng.annotations.Test)11 ObjectFilter (org.infinispan.objectfilter.ObjectFilter)6 SingleCacheManagerTest (org.infinispan.test.SingleCacheManagerTest)6 TransactionManager (javax.transaction.TransactionManager)5 MultipleCacheManagersTest (org.infinispan.test.MultipleCacheManagersTest)5 MagicKey (org.infinispan.distribution.MagicKey)3 AnotherGrassEater (org.infinispan.query.test.AnotherGrassEater)3 ArrayList (java.util.ArrayList)2 ConfigurationBuilder (org.infinispan.configuration.cache.ConfigurationBuilder)2 NumberFormat (java.text.NumberFormat)1 HashMap (java.util.HashMap)1 Set (java.util.Set)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 MBeanServer (javax.management.MBeanServer)1 ObjectName (javax.management.ObjectName)1 RollbackException (javax.transaction.RollbackException)1 CacheException (org.infinispan.commons.CacheException)1 CacheEntry (org.infinispan.container.entries.CacheEntry)1