# HG changeset patch # User Raimund Renkert # Date 1447326731 -3600 # Node ID d49ac8d5f3f79915ea45186af0cc7ef079b956a1 # Parent 00c44ac5ca9c56b00691f9ff6c16c94763df6ae3 Added methods to get plain objects. diff -r 00c44ac5ca9c -r d49ac8d5f3f7 src/main/java/de/intevation/lada/util/data/ReadOnlyRepository.java --- a/src/main/java/de/intevation/lada/util/data/ReadOnlyRepository.java Thu Nov 12 12:11:43 2015 +0100 +++ b/src/main/java/de/intevation/lada/util/data/ReadOnlyRepository.java Thu Nov 12 12:12:11 2015 +0100 @@ -151,4 +151,33 @@ public EntityManager entityManager(String dataSource) { return transaction.entityManager(dataSource); } + + @Override + public List filterPlain(CriteriaQuery filter, String dataSource) { + return transaction.entityManager(dataSource).createQuery(filter).getResultList(); + } + + @Override + public List filterPlain(CriteriaQuery filter, int size, + int start, String dataSource) { + List result = + transaction.entityManager(dataSource).createQuery(filter).getResultList(); + if (size > 0 && start > -1) { + return result.subList(start, size + start); + } + return result; + } + + @Override + public List getAllPlain(Class clazz, String dataSource) { + EntityManager manager = transaction.entityManager(dataSource); + QueryBuilder builder = + new QueryBuilder(manager, clazz); + return manager.createQuery(builder.getQuery()).getResultList(); + } + + @Override + public T getByIdPlain(Class clazz, Object id, String dataSource) { + return transaction.entityManager(dataSource).find(clazz, id); + } } diff -r 00c44ac5ca9c -r d49ac8d5f3f7 src/main/java/de/intevation/lada/util/data/Repository.java --- a/src/main/java/de/intevation/lada/util/data/Repository.java Thu Nov 12 12:11:43 2015 +0100 +++ b/src/main/java/de/intevation/lada/util/data/Repository.java Thu Nov 12 12:12:11 2015 +0100 @@ -7,6 +7,8 @@ */ package de.intevation.lada.util.data; +import java.util.List; + import javax.persistence.EntityManager; import javax.persistence.Query; import javax.persistence.criteria.CriteriaQuery; @@ -29,16 +31,28 @@ public Response filter(CriteriaQuery filter, String dataSource); + public List filterPlain(CriteriaQuery filter, String dataSource); + public Response filter( CriteriaQuery filter, int size, int start, String dataSource); + public List filterPlain( + CriteriaQuery filter, + int size, + int start, + String dataSource); + public Response getAll(Class clazz, String dataSource); + public List getAllPlain(Class clazz, String dataSource); + public Response getById(Class clazz, Object id, String dataSource); + public T getByIdPlain(Class clazz, Object id, String dataSource); + public Query queryFromString(String sql, String dataSource); public EntityManager entityManager(String dataSource);