From 3e9f52efa3885ba2e9dfe92e5467cdeb2f4fc80a Mon Sep 17 00:00:00 2001 From: Alexandr Shalaginov Date: Tue, 16 Jul 2024 09:32:17 +0300 Subject: [PATCH] SUPPORT-8381: some changes (2) --- .../impl/ErvuFileUploadV2ServiceImpl.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java index 8a1affd4..6c71ffbe 100644 --- a/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java +++ b/backend/src/main/java/ervu/service/fileupload/impl/ErvuFileUploadV2ServiceImpl.java @@ -3,6 +3,8 @@ package ervu.service.fileupload.impl; import java.io.IOException; import java.util.UUID; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import ervu.client.fileupload.ErvuFileUploadClient; import ervu.client.kafka.KafkaClient; import ervu.service.fileupload.FileUploadV2Service; @@ -35,11 +37,14 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { byte[] content = multipartFile.getBytes(); if (this.ervuFileUploadClient.uploadFile(newFilename, content)) { - return this.kafkaClient.sendMessage(new KafkaMessage( - securityContext.getCurrentUsername(), - newFilename, - multipartFile.getOriginalFilename() - ).toString()); + String jsonMessage = getJsonKafkaMessage( + new KafkaMessage( + securityContext.getCurrentUsername(), + newFilename, + multipartFile.getOriginalFilename() + ) + ); + return this.kafkaClient.sendMessage(jsonMessage); } else { return false; @@ -53,12 +58,22 @@ public class ErvuFileUploadV2ServiceImpl implements FileUploadV2Service { private String getNewFilename(String oldFilename) { return UUID.randomUUID() + "." + FilenameUtils.getExtension(oldFilename); } + + private String getJsonKafkaMessage(KafkaMessage kafkaMessage) { + ObjectMapper mapper = new ObjectMapper(); + try { + return mapper.writeValueAsString(kafkaMessage); + } + catch (JsonProcessingException e) { + throw new RuntimeException(String.format("Fail get json from: %s", kafkaMessage), e); + } + } } class KafkaMessage { - private String username; - private String filename; - private String originalFilename; + private final String username; + private final String filename; + private final String originalFilename; public KafkaMessage(String username, String filename, String originalFilename) { this.username = username; @@ -74,4 +89,4 @@ class KafkaMessage { ", originalFilename='" + originalFilename + '\'' + '}'; } -} +} \ No newline at end of file