Skip to content

Commit 794f389

Browse files
committed
Merge branch '8.0.1' into 9.0
2 parents 40d1f65 + cf58156 commit 794f389

File tree

6 files changed

+54
-4
lines changed

6 files changed

+54
-4
lines changed

Makefile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,33 @@ start: boot_run
3838

3939
debug:
4040
./gradlew bootRun -Dagentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
41+
42+
delete-etl-metadata:
43+
ifndef schemaName
44+
@echo "Provde the schemaName variable"
45+
exit 1
46+
endif
47+
ifndef dbUser
48+
@echo "Provde the dbUser variable"
49+
exit 1
50+
endif
51+
ifndef db
52+
@echo "Provde the db variable"
53+
exit 1
54+
endif
55+
-psql -h localhost -Uopenchs $(db) -c "select delete_etl_metadata_for_schema('$(schemaName)', '$(dbUser)')"
56+
57+
delete-etl-metadata-for-org:
58+
ifndef schemaName
59+
@echo "Provde the schemaName variable"
60+
exit 1
61+
endif
62+
ifndef dbUser
63+
@echo "Provde the dbUser variable"
64+
exit 1
65+
endif
66+
ifndef db
67+
@echo "Provde the db variable"
68+
exit 1
69+
endif
70+
-psql -h localhost -Uopenchs $(db) -c "select delete_etl_metadata_for_org('$(schemaName)', '$(dbUser)')"

src/main/java/org/avniproject/etl/config/AmazonClientService.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,15 @@ public AmazonClientService(@Value("${aws.access.key}") String accessKeyId,
4343
}
4444

4545

46-
public URL generateMediaDownloadUrl(String url) {
46+
public URL generateMediaDownloadUrl(String url) throws S3FileDoesNotExist {
4747
AmazonS3URI amazonS3URI = new AmazonS3URI(url);
4848
String objectKey = amazonS3URI.getKey();
4949

50+
boolean exists = s3Client.doesObjectExist(bucketName, objectKey);
51+
if (!exists) {
52+
throw new S3FileDoesNotExist("File does not exist in S3 bucket: " + url);
53+
}
54+
5055
GeneratePresignedUrlRequest generatePresignedUrlRequest =
5156
new GeneratePresignedUrlRequest(bucketName, objectKey)
5257
.withMethod(HttpMethod.GET)
@@ -60,5 +65,4 @@ private Date getExpireDate(long expireDuration) {
6065
expiration.setTime(expiration.getTime() + expireDuration);
6166
return expiration;
6267
}
63-
6468
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.avniproject.etl.config;
2+
3+
public class S3FileDoesNotExist extends Exception {
4+
public S3FileDoesNotExist(String message) {
5+
super(message);
6+
}
7+
}

src/main/java/org/avniproject/etl/controller/MediaController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public ResponseEntity search(HttpServletRequest request,
4545
modifiedRequest = new MediaSearchRequest();
4646
return ResponseEntity.ok(mediaService.search(modifiedRequest, new Page(page, size)));
4747
} catch (Exception exception) {
48+
log.warn("Error processing request: ", exception);
4849
return ResponseEntity.badRequest().body(exception.getMessage());
4950
}
5051
}

src/main/java/org/avniproject/etl/repository/service/MediaTableRepositoryService.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.avniproject.etl.repository.service;
22

3+
import org.apache.log4j.Logger;
34
import org.avniproject.etl.config.AmazonClientService;
5+
import org.avniproject.etl.config.S3FileDoesNotExist;
46
import org.avniproject.etl.dto.ImageData;
57
import org.avniproject.etl.dto.MediaDTO;
68
import org.avniproject.etl.util.Utils;
@@ -30,9 +32,14 @@ public MediaDTO setMediaDto(ResultSet rs) {
3032

3133
try {
3234
signedImageUrl = amazonClientService.generateMediaDownloadUrl(imageUrl);
33-
signedThumbnailUrl = amazonClientService.generateMediaDownloadUrl(thumbnailUrl);
35+
try {
36+
signedThumbnailUrl = amazonClientService.generateMediaDownloadUrl(thumbnailUrl);
37+
} catch (S3FileDoesNotExist ignored) {
38+
}
3439
} catch (IllegalArgumentException illegalArgumentException) {
3540
//Ignore and move on. Image will be null
41+
} catch (S3FileDoesNotExist e) {
42+
throw new RuntimeException(e);
3643
}
3744

3845
String uuid = rs.getString("uuid");

src/test/java/org/avniproject/etl/repository/service/MediaTableRepositoryServiceTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.avniproject.etl.repository.service;
22

33
import org.avniproject.etl.config.AmazonClientService;
4+
import org.avniproject.etl.config.S3FileDoesNotExist;
45
import org.avniproject.etl.dto.MediaDTO;
56
import org.junit.jupiter.api.Test;
67

@@ -15,7 +16,7 @@
1516
public class MediaTableRepositoryServiceTest {
1617

1718
@Test
18-
public void shouldReturnEmptySignedUrl() throws SQLException {
19+
public void shouldReturnEmptySignedUrl() throws SQLException, S3FileDoesNotExist {
1920
AmazonClientService amazonClient = mock(AmazonClientService.class);
2021
when(amazonClient.generateMediaDownloadUrl(anyString())).thenThrow(new IllegalArgumentException());
2122
ResultSet resultSet = mock(ResultSet.class);

0 commit comments

Comments
 (0)