Added S3Manager.load() method.
This commit is contained in:
		
							parent
							
								
									4f46fce70a
								
							
						
					
					
						commit
						bb65ec7d24
					
				| @ -36,14 +36,36 @@ public class MinioS3ManagerTests { | |||||||
|     @Test |     @Test | ||||||
|     public void simpleStore() { |     public void simpleStore() { | ||||||
|         try (final InputStream hal9000 = MinioS3ManagerTests.class.getResourceAsStream("HAL9000.svg")) { |         try (final InputStream hal9000 = MinioS3ManagerTests.class.getResourceAsStream("HAL9000.svg")) { | ||||||
|             final String result = this.s3Manager.store( |             final String objectName = this.s3Manager.store( | ||||||
|                     "test-images", |                     "test-images", | ||||||
|                     "HAL9000.svg", |                     "HAL9000.svg", | ||||||
|                     "image/svg+xml", |                     "image/svg+xml", | ||||||
|                     hal9000, |                     hal9000, | ||||||
|                     27881L |                     27881L | ||||||
|             ); |             ); | ||||||
|             assertEquals("HAL9000.svg", result); |             assertEquals("HAL9000.svg", objectName); | ||||||
|  |         } catch (IOException ioException) { | ||||||
|  |             throw new RuntimeException(ioException); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void simpleLoad() { | ||||||
|  |         try (final InputStream hal9000 = MinioS3ManagerTests.class.getResourceAsStream("HAL9000.svg")) { | ||||||
|  |             if (hal9000 == null) { | ||||||
|  |                 throw new RuntimeException("HAL9000.svg could not be found"); | ||||||
|  |             } | ||||||
|  |             final String objectName = this.s3Manager.store( | ||||||
|  |                     "test-images", | ||||||
|  |                     "HAL9000.svg", | ||||||
|  |                     "image/svg+xml", | ||||||
|  |                     hal9000, | ||||||
|  |                     27881L | ||||||
|  |             ); | ||||||
|  |             try (final InputStream loadedObject = this.s3Manager.load("test-images", objectName)) { | ||||||
|  |                 final byte[] stored = loadedObject.readAllBytes(); | ||||||
|  |                 assertEquals(27881L, stored.length); | ||||||
|  |             } | ||||||
|         } catch (IOException ioException) { |         } catch (IOException ioException) { | ||||||
|             throw new RuntimeException(ioException); |             throw new RuntimeException(ioException); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -22,6 +22,22 @@ public class MinioS3Manager implements S3Manager { | |||||||
|     @Value("${app.mealsmadeeasy.api.minio.secretKey}") |     @Value("${app.mealsmadeeasy.api.minio.secretKey}") | ||||||
|     private String secretKey; |     private String secretKey; | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public InputStream load(String bucket, String objectName) throws IOException { | ||||||
|  |         try (final MinioClient client = MinioClient.builder() | ||||||
|  |                 .endpoint(this.endpoint) | ||||||
|  |                 .credentials(this.accessKey, this.secretKey) | ||||||
|  |                 .build() | ||||||
|  |         ) { | ||||||
|  |             return client.getObject(GetObjectArgs.builder() | ||||||
|  |                     .bucket(bucket) | ||||||
|  |                     .object(objectName) | ||||||
|  |                     .build()); | ||||||
|  |         } catch (Exception e) { | ||||||
|  |             throw new IOException(e); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public String store( |     public String store( | ||||||
|             String bucketName, |             String bucketName, | ||||||
|  | |||||||
| @ -5,6 +5,11 @@ import java.io.InputStream; | |||||||
| 
 | 
 | ||||||
| public interface S3Manager { | public interface S3Manager { | ||||||
| 
 | 
 | ||||||
|  |     InputStream load( | ||||||
|  |             String bucket, | ||||||
|  |             String objectName | ||||||
|  |     ) throws IOException; | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * @param bucket the target bucket in which to store the content |      * @param bucket the target bucket in which to store the content | ||||||
|      * @param filename the filename to store, usually a uuid + appropriate extension |      * @param filename the filename to store, usually a uuid + appropriate extension | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Jesse Brault
						Jesse Brault