@Override protected List<IdRef<T>> executeQueryAt(int queryIndex) { return queries.get(queryIndex).ids(); }
public IdRef<T> onlyId() throws NoResultException, MoreThanOneResultException { List<IdRef<T>> ids = ids(); if (ids.size() == 0) { throw new NoResultException(); } if (ids.size() > 1) { throw new MoreThanOneResultException(); } return ids.get(0); }
private List<? extends IdRef<?>> sinkIds() { QueryBuilder<?> q = r.query(sinkClazz).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
private List<? extends IdRef<?>> sourceIds() { QueryBuilder<?> q = r.query(sourceClazz).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
@Test public void testCacheIds() { CachedEntity foo = yawp.save(new CachedEntity("foo")); Map<String, Object> cacheIds = CachedEntityHook.caches.get(QueryType.IDS); assertThat(cacheIds.size(), is(equalTo(0))); List<IdRef<CachedEntity>> list = yawp(CachedEntity.class).ids(); assertThat(cacheIds.size(), is(equalTo(1))); assertThat(list.get(0).toString(), is(equalTo(foo.getId().toString()))); List<IdRef<CachedEntity>> list2 = yawp(CachedEntity.class).ids(); assertThat(cacheIds.size(), is(equalTo(1))); assertSame(list, list2); // from cache } }
private List<? extends IdRef<?>> sinkMarkerIds() { QueryBuilder<?> q = r.query(SinkMarker.class).from(sinkId).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
private IdRef<PipedObjectCounter> getCounterId(PipedObject object) { if (object.getCounterId() != null) { return object.getCounterId(); } List<IdRef<PipedObjectCounter>> ids = yawp(PipedObjectCounter.class).where("active", "=", true).ids(); if (ids.size() == 0) { return null; } return ids.get(0); }
@Test(expected = RuntimeException.class) public void testIdsWithPostOrder() { assertEquals(0, yawp(BasicObject.class).sort("longValue").ids().size()); }
@Test(expected = RuntimeException.class) public void testIdsWithPostFilter() { assertEquals(0, yawp(BasicObject.class).where("longValue", "=", 2l).ids().size()); }
@Test public void testForcedResponseIds() { BasicObject xpto = yawp.save(new BasicObject("xpto")); List<IdRef<BasicObject>> nonForcedList = yawp(BasicObject.class).ids(); assertEquals(1, nonForcedList.size()); List<IdRef<BasicObject>> forcedList = yawp(BasicObject.class).forceResult(QueryType.IDS, Arrays.asList(xpto.getId(), xpto.getId())).ids(); assertEquals(2, forcedList.size()); }
@Test public void testAfterQuery() { AfterQueryTest.msgs.clear(); yawp(HookedObject.class).list(); assertEquals(1, AfterQueryTest.msgs.size()); assertEquals("type: LIST | obj: 0", AfterQueryTest.msgs.get(0)); AfterQueryTest.msgs.clear(); HookedObject obj = yawp.save(new HookedObject("xpto")); yawp(HookedObject.class).list(); assertEquals(1, AfterQueryTest.msgs.size()); assertEquals("type: LIST | obj: 1", AfterQueryTest.msgs.get(0)); AfterQueryTest.msgs.clear(); yawp(HookedObject.class).ids(); assertEquals(1, AfterQueryTest.msgs.size()); assertEquals("type: IDS | obj: 1", AfterQueryTest.msgs.get(0)); AfterQueryTest.msgs.clear(); obj.getId().fetch(); assertEquals(1, AfterQueryTest.msgs.size()); assertEquals("type: FETCH | obj: " + obj.getId(), AfterQueryTest.msgs.get(0)); } }
@Test public void testIds() { saveManyBasicObjects(3); yawp.save(new BasicObject("different")); List<IdRef<BasicObject>> objects = yawp(BasicObject.class).where("stringValue", "=", "xpto").ids(); assertEquals(3, objects.size()); }