[Lada-commits] [PATCH 4 of 7] Services no use the database based query filter
Wald Commits
scm-commit at wald.intevation.org
Wed Jan 27 15:57:39 CET 2016
# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1453902868 -3600
# Node ID c2725534f08b975dfb36f0709555115b0d4ce974
# Parent 35bbaf423128908fbcf35f6bcaa0d24034cefad9
Services no use the database based query filter.
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/query/QueryTools.java
--- a/src/main/java/de/intevation/lada/query/QueryTools.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/query/QueryTools.java Wed Jan 27 14:54:28 2016 +0100
@@ -7,7 +7,6 @@
*/
package de.intevation.lada.query;
-import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.util.ArrayList;
@@ -16,15 +15,26 @@
import java.util.Map;
import java.util.Scanner;
+import javax.inject.Inject;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonException;
import javax.json.JsonObject;
import javax.json.JsonReader;
import javax.persistence.EntityManager;
-import javax.persistence.Query;
import javax.ws.rs.core.MultivaluedMap;
+import org.apache.log4j.Logger;
+
+import de.intevation.lada.model.stamm.Filter;
+import de.intevation.lada.model.stamm.Query;
+import de.intevation.lada.model.stamm.Result;
+import de.intevation.lada.util.annotation.RepositoryConfig;
+import de.intevation.lada.util.data.QueryBuilder;
+import de.intevation.lada.util.data.Repository;
+import de.intevation.lada.util.data.RepositoryType;
+import de.intevation.lada.util.rest.Response;
+
/**
* Utility class to handle the SQL query configuration.
@@ -33,9 +43,18 @@
*/
public class QueryTools
{
+
+ @Inject
+ @RepositoryConfig(type=RepositoryType.RO)
+ private Repository repository;
+
private static String PROBE_CONFIG = "/probequery.json";
private static String MESSPROGRAMM_CONFIG = "/messprogrammquery.json";
private static String STAMMDATEN_CONFIG = "/stammdatenquery.json";
+
+ @Inject
+ private Logger logger;
+
/**
* Read the config file using the system property
* "de.intevation.lada.sqlconfig".
@@ -154,33 +173,74 @@
}
}
- public static Query prepareQuery(
+ public List<Map<String, Object>> getResultForQuery(MultivaluedMap<String, String> params, Integer qId, String type) {
+ QueryBuilder<Query> builder = new QueryBuilder<Query>(
+ repository.entityManager("stamm"),
+ Query.class
+ );
+ builder.and("id", qId);
+ Query query = repository.filterPlain(builder.getQuery(), "stamm").get(0);
+ if (!query.getType().equals(type)) {
+ return null;
+ }
+
+ String sql = query.getSql();
+
+ List<Filter> filters = query.getFilters();
+ QueryBuilder<Result> rBuilder = new QueryBuilder<Result>(
+ repository.entityManager("stamm"),
+ Result.class
+ );
+ rBuilder.and("query", qId);
+ rBuilder.orderBy("index", true);
+ List<Result> results = repository.filterPlain(rBuilder.getQuery(), "stamm");
+ Result idResult = new Result();
+ idResult.setDataIndex("id");
+ results.add(0, idResult);
+ if (params.containsKey("sort")) {
+ String sort = params.getFirst("sort");
+ logger.debug("Sort parameter: " + sort);
+ JsonReader reader = Json.createReader(new StringReader(sort));
+ JsonObject sortProperties = reader.readArray().getJsonObject(0);
+ sql += " ORDER BY ";
+ sql += sortProperties.getJsonString("property").getString() + " ";
+ sql += sortProperties.getJsonString("direction").getString();
+ }
+ javax.persistence.Query q = prepareQuery(
+ sql,
+ filters,
+ params,
+ repository.entityManager("land"));
+ return prepareResult(q.getResultList(), results);
+ }
+
+ public javax.persistence.Query prepareQuery(
String sql,
- List<String> filters,
+ List<Filter> filters,
MultivaluedMap<String, String> params,
EntityManager manager
) {
- Query query = manager.createNativeQuery(sql);
- for (String filter: filters) {
- List<String> param = params.get(filter);
+ javax.persistence.Query query = manager.createNativeQuery(sql);
+ for (Filter filter: filters) {
+ List<String> param = params.get(filter.getDataIndex());
List<String> clean = new ArrayList<String>();
for(String p : param) {
clean.add(p.replace(",", "|"));
}
- query.setParameter(filter, clean);
+ query.setParameter(filter.getDataIndex(), clean);
}
return query;
}
- public static List<Map<String, Object>> prepareResult(
+ public List<Map<String, Object>> prepareResult(
List<Object[]> result,
- List<String> names
+ List<Result> names
) {
List<Map<String, Object>> ret = new ArrayList<Map<String, Object>>();
for (Object[] row: result) {
Map<String, Object> set = new HashMap<String, Object>();
for (int i = 0; i < row.length; i++) {
- set.put(names.get(i), row[i]);
+ set.put(names.get(i).getDataIndex(), row[i]);
}
ret.add(set);
}
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/rest/MessprogrammService.java
--- a/src/main/java/de/intevation/lada/rest/MessprogrammService.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/rest/MessprogrammService.java Wed Jan 27 14:54:28 2016 +0100
@@ -7,21 +7,13 @@
*/
package de.intevation.lada.rest;
-import java.io.StringReader;
import java.sql.Timestamp;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonException;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -113,6 +105,9 @@
@Inject
private ProbeFactory factory;
+ @Inject
+ private QueryTools queryTools;
+
/**
* Get all Messprogramm objects.
* <p>
@@ -143,44 +138,18 @@
if (params.isEmpty() || !params.containsKey("qid")) {
return defaultRepo.getAll(Messprogramm.class, "land");
}
- String qid = params.getFirst("qid");
- JsonObject jsonQuery = QueryTools.getMpQueryById(qid);
- String sql = "";
- List<String> filters = new ArrayList<String>();
- List<String> results = new ArrayList<String>();
+ Integer id = null;
try {
- sql = jsonQuery.getString("sql");
- if (params.containsKey("sort")) {
- String sort = params.getFirst("sort");
- JsonReader reader = Json.createReader(new StringReader(sort));
- JsonObject sortProperties = reader.readArray().getJsonObject(0);
- sql += " ORDER BY ";
- sql += sortProperties.getJsonString("property").getString() + " ";
- sql += sortProperties.getJsonString("direction").getString();
- }
- JsonArray jsonFilters = jsonQuery.getJsonArray("filters");
- JsonArray jsonResults = jsonQuery.getJsonArray("result");
- for (int i = 0; i < jsonFilters.size(); i++) {
- filters.add(
- jsonFilters.getJsonObject(i).getString("dataIndex"));
- }
- results.add("id");
- for (int i = 0; i < jsonResults.size(); i++) {
- results.add(
- jsonResults.getJsonObject(i).getString("dataIndex"));
- }
+ id = Integer.valueOf(params.getFirst("qid"));
}
- catch (JsonException je) {
- return new Response(false, 603, new ArrayList<Object>());
+ catch (NumberFormatException e) {
+ return new Response(false, 603, "Not a valid filter id");
}
- Query query = QueryTools.prepareQuery(
- sql,
- filters,
- params,
- defaultRepo.entityManager("land"));
- @SuppressWarnings("unchecked")
+
List<Map<String, Object>> result =
- QueryTools.prepareResult(query.getResultList(), results);
+ queryTools.getResultForQuery(params, id, "messprogramm");
+
+ int size = result.size();
if (params.containsKey("start") && params.containsKey("limit")) {
int start = Integer.valueOf(params.getFirst("start"));
int limit = Integer.valueOf(params.getFirst("limit"));
@@ -188,10 +157,9 @@
if (start + limit > result.size()) {
end = result.size();
}
- List<Map<String, Object>> subList = result.subList(start, end);
- return new Response(true, 200, subList, result.size());
+ result = result.subList(start, end);
}
- return new Response(true, 200, result, result.size());
+ return new Response(true, 200, result, size);
}
/**
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/rest/ProbeService.java
--- a/src/main/java/de/intevation/lada/rest/ProbeService.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/rest/ProbeService.java Wed Jan 27 14:54:28 2016 +0100
@@ -7,9 +7,7 @@
*/
package de.intevation.lada.rest;
-import java.io.StringReader;
import java.sql.Timestamp;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -17,12 +15,7 @@
import javax.ejb.EJBTransactionRolledbackException;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonException;
import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.persistence.Query;
import javax.persistence.TransactionRequiredException;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.DELETE;
@@ -51,7 +44,6 @@
import de.intevation.lada.util.annotation.RepositoryConfig;
import de.intevation.lada.util.auth.Authorization;
import de.intevation.lada.util.auth.AuthorizationType;
-import de.intevation.lada.util.auth.UserInfo;
import de.intevation.lada.util.data.QueryBuilder;
import de.intevation.lada.util.data.Repository;
import de.intevation.lada.util.data.RepositoryType;
@@ -126,7 +118,7 @@
*/
@Inject
@RepositoryConfig(type=RepositoryType.RW)
- private Repository defaultRepo;
+ private Repository repository;
/**
* The authorization module.
@@ -156,6 +148,9 @@
@Inject
private ProbeFactory factory;
+ @Inject
+ private QueryTools queryTools;
+
/**
* Get all Probe objects.
* <p>
@@ -186,46 +181,19 @@
) {
MultivaluedMap<String, String> params = info.getQueryParameters();
if (params.isEmpty() || !params.containsKey("qid")) {
- return defaultRepo.getAll(LProbe.class, "land");
+ return repository.getAll(LProbe.class, "land");
}
- String qid = params.getFirst("qid");
- JsonObject jsonQuery = QueryTools.getQueryById(qid);
- String sql = "";
- List<String> filters = new ArrayList<String>();
- List<String> results = new ArrayList<String>();
+ Integer id = null;
try {
- sql = jsonQuery.getString("sql");
- if (params.containsKey("sort")) {
- String sort = params.getFirst("sort");
- logger.debug("Sort parameter: " + sort);
- JsonReader reader = Json.createReader(new StringReader(sort));
- JsonObject sortProperties = reader.readArray().getJsonObject(0);
- sql += " ORDER BY ";
- sql += sortProperties.getJsonString("property").getString() + " ";
- sql += sortProperties.getJsonString("direction").getString();
- }
- JsonArray jsonFilters = jsonQuery.getJsonArray("filters");
- JsonArray jsonResults = jsonQuery.getJsonArray("result");
- for (int i = 0; i < jsonFilters.size(); i++) {
- filters.add(
- jsonFilters.getJsonObject(i).getString("dataIndex"));
- }
- results.add("id");
- for (int i = 0; i < jsonResults.size(); i++) {
- results.add(
- jsonResults.getJsonObject(i).getString("dataIndex"));
- }
+ id = Integer.valueOf(params.getFirst("qid"));
}
- catch (JsonException je) {
- return new Response(false, 603, new ArrayList<Object>());
+ catch (NumberFormatException e) {
+ return new Response(false, 603, "Not a valid filter id");
}
- Query query = QueryTools.prepareQuery(
- sql,
- filters,
- params,
- defaultRepo.entityManager("land"));
List<Map<String, Object>> result =
- QueryTools.prepareResult(query.getResultList(), results);
+ queryTools.getResultForQuery(params, id, "probe");
+
+ int size = result.size();
if (params.containsKey("start") && params.containsKey("limit")) {
int start = Integer.valueOf(params.getFirst("start"));
int limit = Integer.valueOf(params.getFirst("limit"));
@@ -233,22 +201,36 @@
if (start + limit > result.size()) {
end = result.size();
}
- List<Map<String, Object>> subList = result.subList(start, end);
- for (Map<String, Object> entry: subList) {
- boolean readOnly =
- authorization.isReadOnly((Integer)entry.get("id"));
- entry.put("readonly", readOnly);
- QueryBuilder<LProbe> builder = new QueryBuilder<LProbe>(
- defaultRepo.entityManager("land"), LProbe.class);
- builder.and("id", (Integer)entry.get("id"));
- Response r = defaultRepo.filter(builder.getQuery(), "land");
- List<LProbe> probe = (List<LProbe>)r.getData();
- entry.put("owner", authorization.isAuthorized(
- request, probe.get(0), RequestMethod.GET, LProbe.class));
+ result = result.subList(start, end);
+ }
+
+ QueryBuilder<LProbe> pBuilder = new QueryBuilder<LProbe>(
+ repository.entityManager("land"), LProbe.class);
+ for (Map<String, Object> entry: result) {
+ pBuilder.or("id", (Integer)entry.get("id"));
+ }
+ Response r = repository.filter(pBuilder.getQuery(), "land");
+ r = authorization.filter(request, r, LProbe.class);
+ List<LProbe> proben = (List<LProbe>)r.getData();
+ for (Map<String, Object> entry: result) {
+ Integer pId = Integer.valueOf(entry.get("id").toString());
+ setAuthData(proben, entry, pId);
+ }
+ return new Response(true, 200, result, size);
+ }
+
+ private void setAuthData(
+ List<LProbe> proben,
+ Map<String, Object> entry,
+ Integer id
+ ) {
+ for (int i = 0; i < proben.size(); i++) {
+ if (id.equals(proben.get(i).getId())) {
+ entry.put("readonly", proben.get(i).getReadonly());
+ entry.put("owner", proben.get(i).getOwner());
+ return;
}
- return new Response(true, 200, subList, result.size());
}
- return new Response(true, 200, result, result.size());
}
/**
@@ -269,7 +251,7 @@
@Context HttpServletRequest request
) {
Response response =
- defaultRepo.getById(LProbe.class, Integer.valueOf(id), "land");
+ repository.getById(LProbe.class, Integer.valueOf(id), "land");
Violation violation = validator.validate(response.getData());
if (violation.hasWarnings()) {
response.setWarnings(violation.getWarnings());
@@ -342,15 +324,15 @@
}
probe = factory.findMediaDesk(probe);
/* Persist the new probe object*/
- Response newProbe = defaultRepo.create(probe, "land");
+ Response newProbe = repository.create(probe, "land");
LProbe ret = (LProbe)newProbe.getData();
/* Create and persist a new probe translation object*/
ProbeTranslation trans = new ProbeTranslation();
trans.setProbeId(ret);
- defaultRepo.create(trans, "land");
+ repository.create(trans, "land");
/* Get and return the new probe object*/
Response response =
- defaultRepo.getById(LProbe.class, ret.getId(), "land");
+ repository.getById(LProbe.class, ret.getId(), "land");
if(violation.hasWarnings()) {
response.setWarnings(violation.getWarnings());
}
@@ -464,8 +446,8 @@
factory.findUmweltId(probe);
}
probe.setLetzteAenderung(new Timestamp(new Date().getTime()));
- Response response = defaultRepo.update(probe, "land");
- Response updated = defaultRepo.getById(
+ Response response = repository.update(probe, "land");
+ Response updated = repository.getById(
LProbe.class,
((LProbe)response.getData()).getId(), "land");
if (violation.hasWarnings()) {
@@ -496,7 +478,7 @@
) {
/* Get the probe object by id*/
Response probe =
- defaultRepo.getById(LProbe.class, Integer.valueOf(id), "land");
+ repository.getById(LProbe.class, Integer.valueOf(id), "land");
LProbe probeObj = (LProbe)probe.getData();
if (!authorization.isAuthorized(
request,
@@ -508,7 +490,7 @@
}
/* Delete the probe object*/
try {
- Response response = defaultRepo.delete(probeObj, "land");
+ Response response = repository.delete(probeObj, "land");
return response;
}
catch(IllegalArgumentException | EJBTransactionRolledbackException |
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/rest/stamm/DatensatzErzeugerService.java
--- a/src/main/java/de/intevation/lada/rest/stamm/DatensatzErzeugerService.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/rest/stamm/DatensatzErzeugerService.java Wed Jan 27 14:54:28 2016 +0100
@@ -26,10 +26,13 @@
import javax.ws.rs.core.UriInfo;
import de.intevation.lada.model.stamm.DatensatzErzeuger;
+import de.intevation.lada.model.stamm.Filter;
+import de.intevation.lada.model.stamm.MessprogrammKategorie;
import de.intevation.lada.util.annotation.AuthorizationConfig;
import de.intevation.lada.util.annotation.RepositoryConfig;
import de.intevation.lada.util.auth.Authorization;
import de.intevation.lada.util.auth.AuthorizationType;
+import de.intevation.lada.util.data.QueryBuilder;
import de.intevation.lada.util.data.Repository;
import de.intevation.lada.util.data.RepositoryType;
import de.intevation.lada.util.rest.RequestMethod;
@@ -93,8 +96,40 @@
@Context UriInfo info
) {
MultivaluedMap<String, String> params = info.getQueryParameters();
- List<DatensatzErzeuger> erzeuger =
- repository.getAllPlain(DatensatzErzeuger.class, "stamm");
+ List<DatensatzErzeuger> erzeuger;
+ if (params.containsKey("qid")) {
+ Integer id = null;
+ try {
+ id = Integer.valueOf(params.getFirst("qid"));
+ }
+ catch (NumberFormatException e) {
+ return new Response(false, 603, "Not a valid filter id");
+ }
+ QueryBuilder<Filter> fBuilder = new QueryBuilder<Filter>(
+ repository.entityManager("stamm"),
+ Filter.class
+ );
+ fBuilder.and("query", id);
+ List<Filter> filters = repository.filterPlain(fBuilder.getQuery(), "stamm");
+ QueryBuilder<DatensatzErzeuger> builder =
+ new QueryBuilder<DatensatzErzeuger>(
+ repository.entityManager("stamm"),
+ DatensatzErzeuger.class
+ );
+ for (Filter filter: filters) {
+ String param = params.get(filter.getDataIndex()).get(0);
+ if (param == null || param.isEmpty()) {
+ continue;
+ }
+ builder.or(filter.getDataIndex(), param);
+ }
+
+ erzeuger = repository.filterPlain(builder.getQuery(), "stamm");
+ }
+ else {
+ erzeuger = repository.getAllPlain(DatensatzErzeuger.class, "stamm");
+ }
+
int size = erzeuger.size();
if (params.containsKey("start") && params.containsKey("limit")) {
int start = Integer.valueOf(params.getFirst("start"));
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/rest/stamm/MessprogrammKategorieService.java
--- a/src/main/java/de/intevation/lada/rest/stamm/MessprogrammKategorieService.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/rest/stamm/MessprogrammKategorieService.java Wed Jan 27 14:54:28 2016 +0100
@@ -25,11 +25,13 @@
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
+import de.intevation.lada.model.stamm.Filter;
import de.intevation.lada.model.stamm.MessprogrammKategorie;
import de.intevation.lada.util.annotation.AuthorizationConfig;
import de.intevation.lada.util.annotation.RepositoryConfig;
import de.intevation.lada.util.auth.Authorization;
import de.intevation.lada.util.auth.AuthorizationType;
+import de.intevation.lada.util.data.QueryBuilder;
import de.intevation.lada.util.data.Repository;
import de.intevation.lada.util.data.RepositoryType;
import de.intevation.lada.util.rest.RequestMethod;
@@ -93,8 +95,39 @@
@Context UriInfo info
) {
MultivaluedMap<String, String> params = info.getQueryParameters();
- List<MessprogrammKategorie> kategorie =
- repository.getAllPlain(MessprogrammKategorie.class, "stamm");
+ List<MessprogrammKategorie> kategorie;
+ if (params.containsKey("qid")) {
+ Integer id = null;
+ try {
+ id = Integer.valueOf(params.getFirst("qid"));
+ }
+ catch (NumberFormatException e) {
+ return new Response(false, 603, "Not a valid filter id");
+ }
+ QueryBuilder<Filter> fBuilder = new QueryBuilder<Filter>(
+ repository.entityManager("stamm"),
+ Filter.class
+ );
+ fBuilder.and("query", id);
+ List<Filter> filters = repository.filterPlain(fBuilder.getQuery(), "stamm");
+ QueryBuilder<MessprogrammKategorie> mBuilder =
+ new QueryBuilder<MessprogrammKategorie>(
+ repository.entityManager("stamm"),
+ MessprogrammKategorie.class
+ );
+ for (Filter filter: filters) {
+ String param = params.get(filter.getDataIndex()).get(0);
+ if (param == null || param.isEmpty()) {
+ continue;
+ }
+ mBuilder.or(filter.getDataIndex(), param);
+ }
+
+ kategorie = repository.filterPlain(mBuilder.getQuery(), "stamm");
+ }
+ else {
+ kategorie = repository.getAllPlain(MessprogrammKategorie.class, "stamm");
+ }
int size = kategorie.size();
if (params.containsKey("start") && params.containsKey("limit")) {
int start = Integer.valueOf(params.getFirst("start"));
diff -r 35bbaf423128 -r c2725534f08b src/main/java/de/intevation/lada/rest/stamm/ProbenehmerService.java
--- a/src/main/java/de/intevation/lada/rest/stamm/ProbenehmerService.java Wed Jan 27 14:52:44 2016 +0100
+++ b/src/main/java/de/intevation/lada/rest/stamm/ProbenehmerService.java Wed Jan 27 14:54:28 2016 +0100
@@ -25,11 +25,13 @@
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
+import de.intevation.lada.model.stamm.Filter;
import de.intevation.lada.model.stamm.Probenehmer;
import de.intevation.lada.util.annotation.AuthorizationConfig;
import de.intevation.lada.util.annotation.RepositoryConfig;
import de.intevation.lada.util.auth.Authorization;
import de.intevation.lada.util.auth.AuthorizationType;
+import de.intevation.lada.util.data.QueryBuilder;
import de.intevation.lada.util.data.Repository;
import de.intevation.lada.util.data.RepositoryType;
import de.intevation.lada.util.rest.RequestMethod;
@@ -92,6 +94,39 @@
MultivaluedMap<String, String> params = info.getQueryParameters();
List<Probenehmer> nehmer =
repository.getAllPlain(Probenehmer.class, "stamm");
+ if (params.containsKey("qid")) {
+ Integer id = null;
+ try {
+ id = Integer.valueOf(params.getFirst("qid"));
+ }
+ catch (NumberFormatException e) {
+ return new Response(false, 603, "Not a valid filter id");
+ }
+ QueryBuilder<Filter> fBuilder = new QueryBuilder<Filter>(
+ repository.entityManager("stamm"),
+ Filter.class
+ );
+ fBuilder.and("query", id);
+ List<Filter> filters = repository.filterPlain(fBuilder.getQuery(), "stamm");
+ QueryBuilder<Probenehmer> builder =
+ new QueryBuilder<Probenehmer>(
+ repository.entityManager("stamm"),
+ Probenehmer.class
+ );
+ for (Filter filter: filters) {
+ String param = params.get(filter.getDataIndex()).get(0);
+ if (param == null || param.isEmpty()) {
+ continue;
+ }
+ builder.or(filter.getDataIndex(), param);
+ }
+
+ nehmer = repository.filterPlain(builder.getQuery(), "stamm");
+ }
+ else {
+ nehmer = repository.getAllPlain(Probenehmer.class, "stamm");
+ }
+
int size = nehmer.size();
if (params.containsKey("start") && params.containsKey("limit")) {
int start = Integer.valueOf(params.getFirst("start"));
More information about the Lada-commits
mailing list