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 {
}
+