Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/rest/AuditTrailService.java @ 1310:c5721e624c0e
Insert timestamp into audit trail changed fields instead of date string.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 08 Mar 2017 15:59:47 +0100 |
parents | d531e8e8afa2 |
children | 6fbfb8f0927a |
comparison
equal
deleted
inserted
replaced
1309:d531e8e8afa2 | 1310:c5721e624c0e |
---|---|
344 javax.persistence.Query query = manager.createNativeQuery(sql); | 344 javax.persistence.Query query = manager.createNativeQuery(sql); |
345 List<String> result = query.getResultList(); | 345 List<String> result = query.getResultList(); |
346 return result.get(0); | 346 return result.get(0); |
347 } | 347 } |
348 | 348 |
349 private String formatDate(String format, String date) { | 349 private Long formatDate(String format, String date) { |
350 DateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssXXX"); | 350 DateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssXXX"); |
351 DateFormat outFormat = new SimpleDateFormat("dd.MM.yyyy hh:mm"); | |
352 Date input; | |
353 try { | 351 try { |
354 input = inFormat.parse(date); | 352 return inFormat.parse(date).getTime(); |
355 } catch (ParseException e) { | 353 } catch (ParseException e) { |
356 return date; | 354 return 0L; |
357 } | 355 } |
358 return outFormat.format(input); | |
359 } | 356 } |
360 | 357 |
361 /** | 358 /** |
362 * Translate all known foreign keys | 359 * Translate all known foreign keys |
363 */ | 360 */ |
364 private ObjectNode translateValues(ObjectNode node) { | 361 private ObjectNode translateValues(ObjectNode node) { |
365 for (Iterator<String> i = node.fieldNames(); i.hasNext();) { | 362 for (Iterator<String> i = node.fieldNames(); i.hasNext();) { |
366 String key = i.next(); | 363 String key = i.next(); |
367 if (mappings.containsKey(key)) { | 364 if (mappings.containsKey(key)) { |
368 TableMapper m = mappings.get(key); | 365 TableMapper m = mappings.get(key); |
369 String value = ""; | |
370 if (m.mappingTable.equals("date")) { | 366 if (m.mappingTable.equals("date")) { |
371 value = formatDate(m.valueField, node.get(key).asText()); | 367 Long value = formatDate(m.valueField, node.get(key).asText()); |
368 node.put(key, value); | |
372 } | 369 } |
373 else { | 370 else { |
374 value = translateId( | 371 String value = translateId( |
375 m.mappingTable, | 372 m.mappingTable, |
376 m.valueField, | 373 m.valueField, |
377 node.get(key).asText(), | 374 node.get(key).asText(), |
378 "id", | 375 "id", |
379 "stamm"); | 376 "stamm"); |
377 node.put(key, value); | |
380 } | 378 } |
381 node.put(key, value); | |
382 } | 379 } |
383 } | 380 } |
384 return node; | 381 return node; |
385 } | 382 } |
386 } | 383 } |