added delete and getSize methods.

Update storage-manager-core dep to 2.10.0-SNAPSHOT
master
roberto cirillo 3 years ago
parent 121f527645
commit 64d3f995b7

@ -32,7 +32,7 @@
<dependency>
<groupId>org.gcube.contentmanagement</groupId>
<artifactId>storage-manager-core</artifactId>
<version>[2.9.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
<version>[2.10.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>software.amazon.awssdk</groupId> -->

@ -1,6 +1,7 @@
package org.gcube.contentmanagement.blobstorage.transport.plugin;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Objects;
@ -10,6 +11,7 @@ import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.model.DeleteObjectResponse;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.internal.resource.S3ObjectResource;
import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration;
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
import software.amazon.awssdk.services.s3.model.DeleteBucketRequest;
@ -157,5 +159,15 @@ public class BucketOperator {
return response.toString();
}
public static Long getObjectSize( String bucket, String key)
throws IOException {
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
.bucket(bucket)
.key(key)
.build();
return client.getObject(getObjectRequest).response().contentLength();
}
}

@ -86,7 +86,9 @@ public class S3PluginManager extends TransportManager {
public String put(Upload upload) throws FileNotFoundException, IOException {
logger.info("put method invoked ");
File file= new File(upload.getResource().getLocalPath());
return BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).toString();
// return BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).toString();
int hashcode=BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).hashCode();
return hashcode+"";
}
@Override
@ -96,7 +98,7 @@ public class S3PluginManager extends TransportManager {
@Override
public void removeRemoteFile(String bucket, MyFile resource) throws UnknownHostException {
throw new RemoteBackendException("method not implemented yet on s3 plugin");
BucketOperator.getInstance(s3).deleteObject(bucket, Utils.convertToS3Format(resource.getRemotePath()));
}
@ -107,8 +109,14 @@ public class S3PluginManager extends TransportManager {
}
@Override
public long getSize(String bucket) {
throw new RemoteBackendException("method not implemented yet on s3 plugin");
public long getSize(String key, MyFile file) {
logger.info("remoteObject identifier "+key);
try {
return BucketOperator.getObjectSize(bucket, Utils.convertToS3Format(file.getRemotePath()));
} catch (IOException e) {
e.printStackTrace();
throw new RemoteBackendException("Problem during getSize Operation on s3 cloud storage");
}
}
@Override

Loading…
Cancel
Save