Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/rest/AuditTrailService.java @ 1318:6fbfb8f0927a
Audit trail: handle request with non-existant numeric ID.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Wed, 22 Mar 2017 15:03:35 +0100 |
parents | c5721e624c0e |
children |
comparison
equal
deleted
inserted
replaced
1315:84bb7e2aecb1 | 1318:6fbfb8f0927a |
---|---|
150 if (id == null || "".equals(id)) { | 150 if (id == null || "".equals(id)) { |
151 String ret = "{\"success\": false," + | 151 String ret = "{\"success\": false," + |
152 "\"message\":698,\"data\":null}"; | 152 "\"message\":698,\"data\":null}"; |
153 return ret; | 153 return ret; |
154 } | 154 } |
155 | |
155 Integer pId = null; | 156 Integer pId = null; |
157 String ret = "{\"success\": false," + | |
158 "\"message\":600,\"data\":null}"; | |
156 try { | 159 try { |
157 pId = Integer.valueOf(id); | 160 pId = Integer.valueOf(id); |
158 } | 161 } |
159 catch(NumberFormatException nfe) { | 162 catch(NumberFormatException nfe) { |
160 String ret = "{\"success\": false," + | 163 return ret; |
161 "\"message\":600,\"data\":null}"; | 164 } |
165 // Get the plain probe object to have the hauptproben_nr. | |
166 Probe probe = repository.getByIdPlain(Probe.class, pId, "land"); | |
167 if (probe == null) { | |
162 return ret; | 168 return ret; |
163 } | 169 } |
164 | 170 |
165 // Get all entries for the probe and its sub objects. | 171 // Get all entries for the probe and its sub objects. |
166 QueryBuilder<AuditTrailProbe> builder = | 172 QueryBuilder<AuditTrailProbe> builder = |
172 builder.or("probeId", id); | 178 builder.or("probeId", id); |
173 builder.orderBy("tstamp", true); | 179 builder.orderBy("tstamp", true); |
174 List<AuditTrailProbe> audit = | 180 List<AuditTrailProbe> audit = |
175 repository.filterPlain(builder.getQuery(), "land"); | 181 repository.filterPlain(builder.getQuery(), "land"); |
176 | 182 |
177 // Get the plain probe object to have the hauptproben_nr. | |
178 // If only subobjects | |
179 Probe probe = repository.getByIdPlain(Probe.class, pId, "land"); | |
180 // Create an empty JsonObject | 183 // Create an empty JsonObject |
181 ObjectMapper mapper = new ObjectMapper(); | 184 ObjectMapper mapper = new ObjectMapper(); |
182 ObjectNode responseNode = mapper.createObjectNode(); | 185 ObjectNode responseNode = mapper.createObjectNode(); |
183 responseNode.put("success", true); | 186 responseNode.put("success", true); |
184 responseNode.put("message", 200); | 187 responseNode.put("message", 200); |
262 if (id == null || "".equals(id)) { | 265 if (id == null || "".equals(id)) { |
263 String ret = "{\"success\": false," + | 266 String ret = "{\"success\": false," + |
264 "\"message\":698,\"data\":null}"; | 267 "\"message\":698,\"data\":null}"; |
265 return ret; | 268 return ret; |
266 } | 269 } |
270 | |
267 Integer mId = null; | 271 Integer mId = null; |
272 String ret = "{\"success\": false," + | |
273 "\"message\":600,\"data\":null}"; | |
268 try { | 274 try { |
269 mId = Integer.valueOf(id); | 275 mId = Integer.valueOf(id); |
270 } | 276 } |
271 catch(NumberFormatException nfe) { | 277 catch(NumberFormatException nfe) { |
272 String ret = "{\"success\": false," + | 278 return ret; |
273 "\"message\":600,\"data\":null}"; | 279 } |
274 return ret; | 280 Messung messung = repository.getByIdPlain(Messung.class, mId, "land"); |
275 } | 281 if (messung == null) { |
282 return ret; | |
283 } | |
284 | |
276 QueryBuilder<AuditTrailMessung> builder = | 285 QueryBuilder<AuditTrailMessung> builder = |
277 new QueryBuilder<AuditTrailMessung>( | 286 new QueryBuilder<AuditTrailMessung>( |
278 repository.entityManager("land"), | 287 repository.entityManager("land"), |
279 AuditTrailMessung.class); | 288 AuditTrailMessung.class); |
280 builder.and("objectId", mId); | 289 builder.and("objectId", mId); |
282 builder.or("messungsId", mId); | 291 builder.or("messungsId", mId); |
283 builder.orderBy("tstamp", true); | 292 builder.orderBy("tstamp", true); |
284 List<AuditTrailMessung> audit = | 293 List<AuditTrailMessung> audit = |
285 repository.filterPlain(builder.getQuery(), "land"); | 294 repository.filterPlain(builder.getQuery(), "land"); |
286 | 295 |
287 Messung messung = repository.getByIdPlain(Messung.class, mId, "land"); | |
288 // Create an empty JsonObject | 296 // Create an empty JsonObject |
289 ObjectMapper mapper = new ObjectMapper(); | 297 ObjectMapper mapper = new ObjectMapper(); |
290 ObjectNode responseNode = mapper.createObjectNode(); | 298 ObjectNode responseNode = mapper.createObjectNode(); |
291 responseNode.put("success", true); | 299 responseNode.put("success", true); |
292 responseNode.put("message", 200); | 300 responseNode.put("message", 200); |