package ${package}.services; import org.apache.tapestry5.grid.GridDataSource; import org.apache.tapestry5.ioc.annotations.Inject; import com.mysema.query.types.EntityPath; import com.mysema.query.types.OrderSpecifier; import com.mysema.query.types.expr.EBoolean; import com.mysema.rdfbean.object.Session; import com.mysema.rdfbean.object.SessionFactory; import com.mysema.rdfbean.query.BeanListSourceBuilder; import com.mysema.rdfbean.tapestry.BeanGridDataSource; public abstract class AbstractService { private final SessionFactory sessionFactory; public AbstractService(@Inject SessionFactory sessionFactory){ this.sessionFactory = sessionFactory; } protected Session getSession(){ return sessionFactory.getCurrentSession(); } protected BeanListSourceBuilder getPagedQuery(){ return new BeanListSourceBuilder(sessionFactory); } protected <T> GridDataSource createGridDataSource(EntityPath<T> entity, OrderSpecifier<?> defaultOrder, boolean caseSensitive){ return new BeanGridDataSource<T>(sessionFactory, entity, defaultOrder, caseSensitive, null); } protected <T> GridDataSource createGridDataSource(EntityPath<T> entity, OrderSpecifier<?> defaultOrder, boolean caseSensitive, EBoolean conditions){ return new BeanGridDataSource<T>(sessionFactory, entity, defaultOrder, caseSensitive, conditions); } }