From d9e5864f48d261c06de1f1d34000ff6156155569 Mon Sep 17 00:00:00 2001 From: Christof Rabensteiner Date: Mon, 15 Jul 2019 12:04:26 +0200 Subject: Save Response To File Sink: Add Path to Configuration + Fix - Fix in ConfigUtil: SaveResponseToFile boolean would override LogResponse configuration (Copy Paste Error). --- .../at/gv/egiz/moazs/backend/SaveResponseToFileSink.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java') diff --git a/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java b/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java index 7da76ef..2468ca9 100644 --- a/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java +++ b/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java @@ -31,13 +31,11 @@ public class SaveResponseToFileSink { private final SimpleDateFormat isoFormatter; private final Marshaller msgMarshaller; private final DeliveryRepository repository; - private final String root; @Autowired - public SaveResponseToFileSink(Marshaller msgMarshaller, DeliveryRepository repository, String root) { + public SaveResponseToFileSink(Marshaller msgMarshaller, DeliveryRepository repository) { this.msgMarshaller = msgMarshaller; this.repository = repository; - this.root = root; this.isoFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); } @@ -47,17 +45,17 @@ public class SaveResponseToFileSink { * @param response * @return Future that completes when both responses have been written to the file system. */ - public CompletableFuture save(MsgResponse response) { + public CompletableFuture save(MsgResponse response, String rootPath) { var responseID = response.getResponseID(); - var responsePath = generatePath(responseID, "xml"); + var responsePath = generatePath(rootPath, responseID, "xml"); var storeResponseToFileSystemFuture = supplyAsync(() -> msgMarshaller.marshallXml(response.getResponse())) .thenApply(responseString -> responseString.getBytes(StandardCharsets.UTF_8)) .thenAccept(responseByteArray -> storeToFile(responsePath, responseByteArray)) .exceptionally(ex -> logException(ex, responseID)); - var binaryResponsePath = generatePath(responseID, "binary.xml"); + var binaryResponsePath = generatePath(rootPath, responseID, "binary.xml"); var storeBinaryResponseToFileSystemFuture = supplyAsync(() -> repository.retrieveBinaryResponse(responseID).get()) .thenAccept(binaryResponseByteArray -> storeToFile(binaryResponsePath, binaryResponseByteArray)) .exceptionally(ex -> logException(ex, responseID)); @@ -66,10 +64,10 @@ public class SaveResponseToFileSink { } - private String generatePath(String id, String suffix) { + private String generatePath(String rootPath, String id, String suffix) { var folder = sanitizeFileString(id); var nowInIso8601 = isoFormatter.format(new Date()); - return format("%s/%s/%s.%s", root, folder, nowInIso8601, suffix); + return format("%s/%s/%s.%s", rootPath, folder, nowInIso8601, suffix); } private String sanitizeFileString(String fileString) { -- cgit v1.2.3