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