annotate src/main/java/de/intevation/lada/query/QueryTools.java @ 944:af0883b73551

Fix typo.
author Tom Gottfried <tom@intevation.de>
date Wed, 18 May 2016 14:12:41 +0200
parents 9258cce7bcbd
children 60648364134e
rev   line source
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 *
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 */
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 package de.intevation.lada.query;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9
431
83b92b475d9d Moved config file for queries and read the file via stream from resources.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 426
diff changeset
10 import java.io.InputStream;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import java.io.StringReader;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import java.util.ArrayList;
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
13 import java.util.HashMap;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import java.util.List;
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
15 import java.util.Map;
805
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
16 import java.util.Scanner;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
18 import javax.inject.Inject;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 import javax.json.Json;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 import javax.json.JsonArray;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 import javax.json.JsonException;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 import javax.json.JsonObject;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 import javax.json.JsonReader;
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
24 import javax.persistence.EntityManager;
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
25 import javax.ws.rs.core.MultivaluedMap;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
27 import org.apache.log4j.Logger;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
28
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
29 import de.intevation.lada.model.stamm.Filter;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
30 import de.intevation.lada.model.stamm.Query;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
31 import de.intevation.lada.model.stamm.Result;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
32 import de.intevation.lada.util.annotation.RepositoryConfig;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
33 import de.intevation.lada.util.data.QueryBuilder;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
34 import de.intevation.lada.util.data.Repository;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
35 import de.intevation.lada.util.data.RepositoryType;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
36 import de.intevation.lada.util.rest.Response;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
37
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 /**
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 * Utility class to handle the SQL query configuration.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 *
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 */
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 public class QueryTools
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 {
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
46
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
47 @Inject
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
48 @RepositoryConfig(type=RepositoryType.RO)
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
49 private Repository repository;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
50
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
51 private static String PROBE_CONFIG = "/probequery.json";
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
52 private static String MESSPROGRAMM_CONFIG = "/messprogrammquery.json";
813
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
53 private static String STAMMDATEN_CONFIG = "/stammdatenquery.json";
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
54
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
55 @Inject
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
56 private Logger logger;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
57
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 /**
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 * Read the config file using the system property
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 * "de.intevation.lada.sqlconfig".
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 *
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 * @return The file content.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 */
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
64 public static String readConfigFile(String file) {
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 try {
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
66 InputStream inputStream = QueryConfig.class.getResourceAsStream(file);
805
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
67 Scanner scanner = new Scanner(inputStream, "UTF-8");
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
68 scanner.useDelimiter("\\A");
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
69 String configString = scanner.next();
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
70 scanner.close();
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
71 return configString;
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 }
805
a549700c338d Fixed encoding problem for query configuration.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 636
diff changeset
73 catch (Exception ioe) {
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 ioe.printStackTrace();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 return null;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 /**
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 * Get the configuration objects.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 * First reads the config file and creates {@link QueryConfig} objects
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 * from JSON.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 *
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 * @return List of {@link QueryConfig} objects.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 */
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
86 private static List<QueryConfig> getConfig(String file) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
87 String content = readConfigFile(file);
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 if (content == null) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 return null;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 List<QueryConfig> configs = new ArrayList<QueryConfig>();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 try {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 JsonReader reader = Json.createReader(new StringReader(content));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 JsonArray queries = reader.readArray();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 for (int i = 0; i < queries.size(); i++) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 JsonObject query = queries.getJsonObject(i);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 QueryConfig qConf = new QueryConfig();
452
819747a8d037 Changed query id from integer to String. Updated query 1 & 2.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 431
diff changeset
98 qConf.setId(query.getString("id"));
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 qConf.setName(query.getString("name"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 qConf.setDescription(query.getString("description"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 qConf.setSql(query.getString("sql"));
813
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
102 qConf.setType(query.getString("type"));
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 JsonArray filters = query.getJsonArray("filters");
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 List<QueryFilter> qFilters = new ArrayList<QueryFilter>();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 for (int j = 0; j < filters.size(); j++) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 JsonObject filter = filters.getJsonObject(j);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 QueryFilter qFilter = new QueryFilter();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 qFilter.setDataIndex(filter.getString("dataIndex"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 qFilter.setType(filter.getString("type"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 qFilter.setLabel(filter.getString("label"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 qFilter.setMultiSelect(filter.getBoolean("multiselect", false));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 qFilters.add(qFilter);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114 qConf.setFilters(qFilters);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 JsonArray results = query.getJsonArray("result");
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 List<ResultConfig> sResults = new ArrayList<ResultConfig>();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 for (int k = 0; k < results.size(); k++) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 JsonObject result = results.getJsonObject(k);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 ResultConfig config = new ResultConfig();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 config.setDataIndex(result.getString("dataIndex"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 config.setHeader(result.getString("header"));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 config.setWidth(result.getInt("width", 100));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123 config.setFlex(result.getInt("flex", 0));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124 sResults.add(config);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126 qConf.setResults(sResults);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 configs.add(qConf);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 catch (JsonException e) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 return null;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
133 return configs;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
134 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
135
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
136 public static List<QueryConfig> getProbeConfig() {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
137 return getConfig(PROBE_CONFIG);
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
138 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
139
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
140 public static List<QueryConfig> getMessprogrammConfig() {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
141 return getConfig(MESSPROGRAMM_CONFIG);
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
142 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
143
813
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
144 public static List<QueryConfig> getStammdatenConfig() {
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
145 return getConfig(STAMMDATEN_CONFIG);
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
146 }
5155b0b375cd Added stammdaten queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 805
diff changeset
147
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 /**
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 * Get a query by id.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 * First reads the config file and returns the {@link QueryConfig}
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 * identified by the given id.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152 *
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 * @param id {@link QueryConfig} id.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 * @return The query config as JSON object or null if no object was found.
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 */
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 public static JsonObject getQueryById(String id) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 try {
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
158 String content = readConfigFile(PROBE_CONFIG);
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 if (content != null) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160 JsonReader reader = Json.createReader(new StringReader(content));
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 JsonArray queries = reader.readArray();
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 for (int i = 0; i < queries.size(); i++) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163 JsonObject query = queries.getJsonObject(i);
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 if (query.getString("id").equals(id)) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 return query;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 return null;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 catch (JsonException e) {
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 return null;
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 }
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
174 }
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
175
944
af0883b73551 Fix typo.
Tom Gottfried <tom@intevation.de>
parents: 893
diff changeset
176 public List<Map<String, Object>> getResultForQuery(
af0883b73551 Fix typo.
Tom Gottfried <tom@intevation.de>
parents: 893
diff changeset
177 MultivaluedMap<String, String> params,
af0883b73551 Fix typo.
Tom Gottfried <tom@intevation.de>
parents: 893
diff changeset
178 Integer qId,
af0883b73551 Fix typo.
Tom Gottfried <tom@intevation.de>
parents: 893
diff changeset
179 String type
af0883b73551 Fix typo.
Tom Gottfried <tom@intevation.de>
parents: 893
diff changeset
180 ) {
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
181 QueryBuilder<Query> builder = new QueryBuilder<Query>(
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
182 repository.entityManager("stamm"),
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
183 Query.class
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
184 );
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
185 builder.and("id", qId);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
186 Query query = repository.filterPlain(builder.getQuery(), "stamm").get(0);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
187 if (!query.getType().equals(type)) {
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
188 return null;
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
189 }
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
190
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
191 String sql = query.getSql();
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
192
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
193 List<Filter> filters = query.getFilters();
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
194 QueryBuilder<Result> rBuilder = new QueryBuilder<Result>(
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
195 repository.entityManager("stamm"),
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
196 Result.class
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
197 );
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
198 rBuilder.and("query", qId);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
199 rBuilder.orderBy("index", true);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
200 List<Result> results = repository.filterPlain(rBuilder.getQuery(), "stamm");
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
201 Result idResult = new Result();
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
202 idResult.setDataIndex("id");
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
203 results.add(0, idResult);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
204 if (params.containsKey("sort")) {
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
205 String sort = params.getFirst("sort");
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
206 logger.debug("Sort parameter: " + sort);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
207 JsonReader reader = Json.createReader(new StringReader(sort));
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
208 JsonObject sortProperties = reader.readArray().getJsonObject(0);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
209 sql += " ORDER BY ";
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
210 sql += sortProperties.getJsonString("property").getString() + " ";
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
211 sql += sortProperties.getJsonString("direction").getString();
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
212 }
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
213 javax.persistence.Query q = prepareQuery(
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
214 sql,
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
215 filters,
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
216 params,
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
217 repository.entityManager("land"));
856
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
218 if (q == null) {
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
219 return new ArrayList();
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
220 }
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
221 return prepareResult(q.getResultList(), results);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
222 }
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
223
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
224 public javax.persistence.Query prepareQuery(
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
225 String sql,
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
226 List<Filter> filters,
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
227 MultivaluedMap<String, String> params,
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
228 EntityManager manager
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
229 ) {
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
230 javax.persistence.Query query = manager.createNativeQuery(sql);
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
231 for (Filter filter: filters) {
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
232 List<String> param = params.get(filter.getDataIndex());
856
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
233 if (param == null) {
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
234 return null;
c3a5e1ee63b8 Avoid NPEs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 848
diff changeset
235 }
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
236 List<String> clean = new ArrayList<String>();
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
237 for(String p : param) {
893
9258cce7bcbd Replaced replaceable character for 'SIMILAR TO' clause in queries
Raimund Renkert <raimund.renkert@intevation.de>
parents: 856
diff changeset
238 p = p.trim();
9258cce7bcbd Replaced replaceable character for 'SIMILAR TO' clause in queries
Raimund Renkert <raimund.renkert@intevation.de>
parents: 856
diff changeset
239 clean.add(p.replace(" ", "|"));
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
240 }
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
241 query.setParameter(filter.getDataIndex(), clean);
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
242 }
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
243 return query;
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
244 }
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
245
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
246 public List<Map<String, Object>> prepareResult(
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
247 List<Object[]> result,
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
248 List<Result> names
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
249 ) {
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
250 List<Map<String, Object>> ret = new ArrayList<Map<String, Object>>();
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
251 for (Object[] row: result) {
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
252 Map<String, Object> set = new HashMap<String, Object>();
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
253 for (int i = 0; i < row.length; i++) {
848
c2725534f08b Services no use the database based query filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 813
diff changeset
254 set.put(names.get(i).getDataIndex(), row[i]);
455
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
255 }
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
256 ret.add(set);
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
257 }
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
258 return ret;
01d6da858394 Updated GET service for probe objects. Service is using filters now.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 452
diff changeset
259 }
636
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
260
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
261 public static JsonObject getMpQueryById(String id) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
262 try {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
263 String content = readConfigFile(MESSPROGRAMM_CONFIG);
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
264 if (content != null) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
265 JsonReader reader = Json.createReader(new StringReader(content));
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
266 JsonArray queries = reader.readArray();
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
267 for (int i = 0; i < queries.size(); i++) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
268 JsonObject query = queries.getJsonObject(i);
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
269 if (query.getString("id").equals(id)) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
270 return query;
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
271 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
272 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
273 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
274 return null;
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
275 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
276 catch (JsonException e) {
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
277 return null;
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
278 }
cdcb7a141529 Added new query config for messprogramme and serve it via QueryService.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
279 }
426
7b3b9e5f040d Added classes to handle serversite configured queries.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
280 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)