From 4e549e3e7ac3a950d0f03332ec528c43238d90cc Mon Sep 17 00:00:00 2001 From: piyushkag Date: Tue, 29 Oct 2024 21:31:35 +0530 Subject: [PATCH 1/2] fixed s3 call document download issue --- .../net/gepafin/tendermanagement/dao/ApplicationDao.java | 4 ++-- .../java/net/gepafin/tendermanagement/dao/CallDao.java | 9 ++++++--- .../net/gepafin/tendermanagement/dao/DelegationDao.java | 8 ++++---- .../net/gepafin/tendermanagement/dao/DocumentDao.java | 7 +++---- src/main/resources/application.properties | 8 ++++---- 5 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index 2332a194..5a03fc55 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -119,8 +119,8 @@ public class ApplicationDao { @Autowired private ApplicationSignedDocumentRepository applicationSignedDocumentRepository; - @Value("${aws.s3.url.folder.signed.document}") - private String signedDocumentS3Folder; +// @Value("${aws.s3.url.folder.signed.document}") +// private String signedDocumentS3Folder; @Value("${default.hub.uuid}") private String defaultHubUuid; diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java index b52aa97b..39736a57 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java @@ -21,7 +21,6 @@ import net.gepafin.tendermanagement.util.DateTimeUtil; import net.gepafin.tendermanagement.util.Utils; import org.h2.util.IOUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; @@ -94,14 +93,17 @@ public class CallDao { @Autowired private FormDao formDao; - @Value("${aws.s3.url.folder}") - private String s3Folder; +// @Value("${aws.s3.url.folder}") +// private String s3Folder; @Autowired private AmazonS3Service amazonS3Service; @Autowired private CriteriaFormFieldRepository criteriaFormFieldRepository; + + @Autowired + private S3PathConfig s3PathConfig; public CallResponse createCallStep1(CreateCallRequestStep1 createCallRequest, UserEntity userEntity) { createCallRequest.setRegionId(userEntity.getRoleEntity().getRegion().getId()); @@ -127,6 +129,7 @@ public class CallDao { ZipOutputStream zos = new ZipOutputStream(zipOutputStream)) { for (DocumentEntity document : documents) { + String s3Folder = s3PathConfig.generateDocumentPath(DocumentSourceTypeEnum.CALL, callId, 0L); try (InputStream fileInputStream = amazonS3Service.getFile(s3Folder, document.getFilePath())) { String fileName = Utils.extractFileName(document.getFilePath()); ZipEntry zipEntry = new ZipEntry(fileName); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/DelegationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/DelegationDao.java index 20ae2cca..2243edf0 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/DelegationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/DelegationDao.java @@ -8,10 +8,10 @@ import java.util.Map; import java.util.function.Function; import net.gepafin.tendermanagement.enums.DocOtherSourceTypeEnum; + import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -58,8 +58,8 @@ public class DelegationDao { @Autowired private S3PathConfig s3ConfigBean; - @Value("${aws.s3.url.folder.delegation}") - private String s3Folder; +// @Value("${aws.s3.url.folder.delegation}") +// private String s3Folder; @Autowired private UserCompanyDelegationRepository userCompanyDelegationRepository; @@ -67,9 +67,9 @@ public class DelegationDao { @Autowired private Validator validator; - public ByteArrayOutputStream generateDocument(Map placeholders, String templateName) { try { + String s3Folder = s3ConfigBean.generateDocumentPathForOther(DocOtherSourceTypeEnum.USER_DELEGATION, 0L, 0L); InputStream templateStream = amazonS3Service.getFile(s3Folder ,templateName); XWPFDocument doc = loadTemplate(templateStream); replacePlaceholders(doc, placeholders); diff --git a/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java b/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java index 226848f7..ffcbad26 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java @@ -7,7 +7,6 @@ import net.gepafin.tendermanagement.enums.DocumentSourceTypeEnum; import net.gepafin.tendermanagement.repositories.ApplicationRepository; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -49,8 +48,8 @@ public class DocumentDao { @Autowired private ApplicationRepository applicationFormRepository; - @Value("${aws.s3.url.folder}") - private String s3Folder; +// @Value("${aws.s3.url.folder}") +// private String s3Folder; public List uploadFiles(List files, Long sourceId, DocumentSourceTypeEnum sourceType, DocumentTypeEnum fileType) { List documentEntities = new ArrayList<>(); @@ -141,7 +140,7 @@ public class DocumentDao { try { Long callId; Long applicationId; - if(type.equals("APPLICATION")){ + if(type.equals(DocumentSourceTypeEnum.APPLICATION)){ callId = applicationFormRepository.findCallIdById(id); applicationId = id; }else{ diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2ad3ba65..03fc5d67 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,7 +4,7 @@ spring.application.name=tendermanagement spring.servlet.multipart.max-file-size=300MB spring.servlet.multipart.max-request-size=300MB -spring.profiles.active=testing +spring.profiles.active=local # JPA Configuration @@ -30,9 +30,9 @@ aws.secret.access.key=FtnkzF8E3vtqPrVnloqMyNSUSqg0f9Z9L0R7qQOu aws.s3.region=eu-west-1 aws.s3.bucket.name=mementoresources aws.s3.url = https://mementoresources.s3.eu-west-1.amazonaws.com/ -aws.s3.url.folder=gepafin -aws.s3.url.folder.delegation=gepafin/delegation -aws.s3.url.folder.signed.document=gepafin/signed-document +#aws.s3.url.folder=gepafin +#aws.s3.url.folder.delegation=gepafin/delegation +#aws.s3.url.folder.signed.document=gepafin/signed-document # JWT configuration # Ensure these values match your expectations security.authentication.jwt.secret=my-secret-token-to-change-in-prod-environment-your-super-secure-randomly-generated-key From 6ab1e48efc9e7d8880c89e5596423ca940b1267f Mon Sep 17 00:00:00 2001 From: piyushkag Date: Tue, 29 Oct 2024 21:36:45 +0530 Subject: [PATCH 2/2] updated application property --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 03fc5d67..283bf93d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,7 +4,7 @@ spring.application.name=tendermanagement spring.servlet.multipart.max-file-size=300MB spring.servlet.multipart.max-request-size=300MB -spring.profiles.active=local +spring.profiles.active=testing # JPA Configuration