From abc78f18033bca63c5712e4c0f801b351b024114 Mon Sep 17 00:00:00 2001 From: roberto cirillo Date: Fri, 8 Jan 2021 17:04:45 +0100 Subject: [PATCH] upgraded to version 1.0.0-SNAPSHOT; putObject return the remote key --- pom.xml | 2 +- .../transport/plugin/BucketOperator.java | 34 +++++++++++++++++-- .../transport/plugin/S3PluginManager.java | 6 ++-- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 7f03e4e..901fed3 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.gcube.contentmanagement storage-manager-s3-plugin - 0.0.1-SNAPSHOT + 1.0.0-SNAPSHOT A plugin for storage-manager-core library 2.13.7 diff --git a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/BucketOperator.java b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/BucketOperator.java index cd7f17f..97dae47 100644 --- a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/BucketOperator.java +++ b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/BucketOperator.java @@ -212,7 +212,7 @@ public class BucketOperator { * @param replace * @return */ - public static S3Response putObject(String bucket, String key, File file, boolean replace) { + public static S3Response putObjectOld(String bucket, String key, File file, boolean replace) { if(!replace) { GetObjectRequest getObjectRequest = GetObjectRequest.builder() .bucket(bucket) @@ -232,7 +232,37 @@ public class BucketOperator { return client.putObject(objectRequest, RequestBody.fromFile(file)); } - + /** + * + * @param bucket + * @param key + * @param file + * @param replace + * @return + */ + public static String putObject(String bucket, String key, File file, boolean replace) { + if(!replace) { + GetObjectRequest getObjectRequest = GetObjectRequest.builder() + .bucket(bucket) + .key(key) + .build(); + try { + client.getObject(getObjectRequest).response(); + + }catch (NoSuchKeyException e) { + + } + return key; + } + PutObjectRequest objectRequest = PutObjectRequest.builder() + .bucket(bucket) + .key(key) + .build(); + + client.putObject(objectRequest, RequestBody.fromFile(file)); + return key; + } + /** * diff --git a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/S3PluginManager.java b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/S3PluginManager.java index 30f72cc..86c6d23 100644 --- a/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/S3PluginManager.java +++ b/src/main/java/org/gcube/contentmanagement/blobstorage/transport/plugin/S3PluginManager.java @@ -98,8 +98,9 @@ public class S3PluginManager extends TransportManager { if (!BucketOperator.isBucket(s3, bucketName)) BucketOperator.createBucketWaiter(s3, bucketName, region); File file= new File(upload.getResource().getLocalPath()); - int hashcode=BucketOperator.getInstance(s3).putObject(bucketName, Utils.convertToS3Format(upload.getResource().getRemotePath()), file, upload.isReplaceOption()).hashCode(); - return hashcode+""; +// int hashcode=BucketOperator.getInstance(s3).putObject(bucketName, Utils.convertToS3Format(upload.getResource().getRemotePath()), file, upload.isReplaceOption()).hashCode(); +// return hashcode+""; + return BucketOperator.getInstance(s3).putObject(bucketName, Utils.convertToS3Format(upload.getResource().getRemotePath()), file, upload.isReplaceOption()); } @Override @@ -252,3 +253,4 @@ public class S3PluginManager extends TransportManager { } +