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);
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)