public QueryTransformer<F, T> sort(String property) { sort(property, null); return this; }
public <N> QueryTransformer<T, N> transform(String transformName) { return new QueryTransformer<>(this, transformName); }
public QueryTransformer<F, T> order(String property) { order(property, null); return this; }
@Test public void testListResultWithSort() { yawp.save(new BasicObject("xpto1")); yawp.save(new BasicObject("xpto2")); List<Map<String, Object>> list = yawp(BasicObject.class).<Map<String, Object>>transform("simple").sort("innerValue", "desc") .list(); assertEquals("xpto2", list.get(0).get("innerValue")); assertEquals("xpto1", list.get(1).get("innerValue")); }
@Test public void testSingleResult() { BasicObject object = new BasicObject("xpto"); yawp.save(object); Map<String, Object> map = yawp(BasicObject.class).<Map<String, Object>>transform("simple").fetch(object.getId()); assertEquals("xpto", map.get("innerValue")); assertEquals("xpto", ((BasicObject) map.get("innerObject")).getStringValue()); }
private List<?> list(QueryBuilder<?> query) { List<?> objects; if (hasTransformer()) { objects = query.transform(getTransformerName()).list(); } else { objects = query.list(); applyGetFacade(objects); } return objects; }
@Test public void testAddAttribute() { yawp.save(new BasicObject("xpto1")); Map<String, Object> map = yawp(BasicObject.class).<Map<String, Object>>transform("addAttribute").first(); assertEquals("xpto", map.get("attr")); }
@Override public Object action() { QueryBuilder<?> query = query(); try { if (hasTransformer()) { Object object = query.transform(getTransformerName()).fetch(id); applyGetFacade(object); return object; } if (hasShieldCondition()) { query.and(shield.getWhere()); } Object object = query.fetch(id); applyGetFacade(object); return object; } catch (NoResultException e) { throw new HttpException(404); } }
@Test public void testTransformWithChild() { Parent parent = new Parent(); yawp.save(parent); Child child = new Child(); child.setName("xpto"); child.setParentId(parent.getId()); yawp.save(child); Child retrievedChild = yawp(Child.class).<Child>transform("simple").first(); assertEquals("transformed xpto", retrievedChild.getName()); }