@Override /* RestConverter */ public Object convert(RestRequest req, Object o) { if (o == null) return null; SearchArgs searchArgs = req.getQuery().getSearchArgs(); if (searchArgs == null) return o; return new PojoQuery(o, req.getBeanSession()).filter(searchArgs); } }
@Override /* RestConverter */ public Object convert(RestRequest req, Object o) { if (o == null) return null; SearchArgs searchArgs = req.getQuery().getSearchArgs(); if (searchArgs == null) return o; return new PojoQuery(o, req.getBeanSession()).filter(searchArgs); } }
@Override /* RestConverter */ public Object convert(RestRequest req, Object o) { if (o == null) return null; SearchArgs searchArgs = req.getQuery().getSearchArgs(); if (searchArgs == null) return o; return new PojoQuery(o, req.getBeanSession()).filter(searchArgs); } }
o = cm.getPojoSwap().swap(o, bc); PojoQuery f = new PojoQuery(o, bc);
new B(2012, 0, 1) }; q = new PojoQuery(in, session); new B(2011, 00, 01, 13, 00, 00) }; q = new PojoQuery(in, session); new B(2011, 00, 01, 12, 31, 00) }; q = new PojoQuery(in, session); sa = SearchArgs.builder().search("f=2011.01.01.12.30").build(); results = q.filter(sa); new B(2011, 00, 01, 12, 30, 31) }; q = new PojoQuery(in, session); sa = SearchArgs.builder().search("f=2011.01.01.12.30.30").build(); results = q.filter(sa); new B(2001, 00, 01) }; q = new PojoQuery(in, session); new B(2011, 00, 01, 12, 30, 00) }; q = new PojoQuery(in, session); new B(2011, 00, 01, 12, 31, 00)
@Test public void testFilterCollectionViewOneLevel() throws Exception { BeanSession session = BeanContext.DEFAULT.createSession(); SearchArgs sa; List results; List<E> in = new AList<E>() .append(new E("foo", 1, true)) .append(new E("bar", 2, false)) .append(new E("baz", 3, true)) ; PojoQuery q = new PojoQuery(in, session); sa = SearchArgs.builder().view("f1").build(); results = q.filter(sa); assertObjectEquals("[{f1:'foo'},{f1:'bar'},{f1:'baz'}]", results); sa = SearchArgs.builder().view("f2").build(); results = q.filter(sa); assertObjectEquals("[{f2:1},{f2:2},{f2:3}]", results); sa = SearchArgs.builder().view("f3").build(); results = q.filter(sa); assertObjectEquals("[{f3:true},{f3:false},{f3:true}]", results); sa = SearchArgs.builder().view("f3,f2,f1").build(); results = q.filter(sa); assertObjectEquals("[{f3:true,f2:1,f1:'foo'},{f3:false,f2:2,f1:'bar'},{f3:true,f2:3,f1:'baz'}]", results); }
@Test public void testFilterCollectionStringSearchOneLevel() throws Exception { SearchArgs sa; List results; List<A> in = new AList<A>() .append(new A("foo")) .append(new A("bar")) .append(new A("baz")) ; PojoQuery q = new PojoQuery(in, BeanContext.DEFAULT.createSession()); sa = SearchArgs.builder().search("f=foo").build(); results = q.filter(sa); assertObjectEquals("[{f:'foo'}]", results); sa = SearchArgs.builder().search("f=fo*").build(); results = q.filter(sa); assertObjectEquals("[{f:'foo'}]", results); sa = SearchArgs.builder().search("f=*ar").build(); results = q.filter(sa); assertObjectEquals("[{f:'bar'}]", results); sa = SearchArgs.builder().search("f=foo bar").build(); results = q.filter(sa); assertObjectEquals("[{f:'foo'},{f:'bar'}]", results); }
@Test public void testFilterCollectionIntSearchOneLevel() throws Exception { BeanSession session = BeanContext.DEFAULT.createSession(); SearchArgs sa; List results; List<C> in = new AList<C>() .append(new C(1)) .append(new C(2)) .append(new C(3)) ; PojoQuery q = new PojoQuery(in, session); sa = SearchArgs.builder().search("f=1").build(); results = q.filter(sa); assertObjectEquals("[{f:1}]", results); sa = SearchArgs.builder().search("f>1").build(); results = q.filter(sa); assertObjectEquals("[{f:2},{f:3}]", results); sa = SearchArgs.builder().search("f>=2").build(); results = q.filter(sa); assertObjectEquals("[{f:2},{f:3}]", results); sa = SearchArgs.builder().search("f<=2").build(); results = q.filter(sa); assertObjectEquals("[{f:1},{f:2}]", results); sa = SearchArgs.builder().search("f<2").build(); results = q.filter(sa); assertObjectEquals("[{f:1}]", results); sa = SearchArgs.builder().search("f=1 3").build(); results = q.filter(sa); assertObjectEquals("[{f:1},{f:3}]", results); }
}; PojoQuery q = new PojoQuery(in, session);