added replace file feature

master
roberto cirillo 4 years ago
parent a63c5e1874
commit 2cb929d0f4

@ -28,9 +28,11 @@ import software.amazon.awssdk.services.s3.model.ListBucketsRequest;
import software.amazon.awssdk.services.s3.model.ListBucketsResponse;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Request;
import software.amazon.awssdk.services.s3.model.ListObjectsV2Response;
import software.amazon.awssdk.services.s3.model.NoSuchKeyException;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import software.amazon.awssdk.services.s3.model.PutObjectResponse;
import software.amazon.awssdk.services.s3.model.S3Object;
import software.amazon.awssdk.services.s3.model.S3Response;
public class BucketOperator {
@ -156,9 +158,21 @@ public class BucketOperator {
* @param bucket
* @param key
* @param file
* @param replace
* @return
*/
public static PutObjectResponse putObject(String bucket, String key, File file) {
public static S3Response putObject(String bucket, String key, File file, boolean replace) {
if(!replace) {
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
.bucket(bucket)
.key(key)
.build();
try {
return client.getObject(getObjectRequest).response();
}catch (NoSuchKeyException e) {
}
}
PutObjectRequest objectRequest = PutObjectRequest.builder()
.bucket(bucket)
.key(key)
@ -184,13 +198,20 @@ public class BucketOperator {
return response.toString();
}
/**
* Get object length in bytes
* @param bucket
* @param key
* @return
* @throws IOException
*/
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();
}

@ -40,14 +40,15 @@ import com.mongodb.MongoException;
public class S3PluginManager extends TransportManager {
Region region = Region.US_EAST_1;
final String END_POINT = "https://s3.wasabisys.com";
S3Client s3;
private Logger logger = LoggerFactory.getLogger(S3PluginManager.class);
// THE FOLLOWING FIELDS SHOULD BE RETRIEVED FROM SERVICEENDPOINT
static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG";
static final String SECRET_ACCESS_KEY="0Mqu8gmzcZ09wuqqKZwNmuS5bYC549MlZhvfgv6W";
Region region = Region.US_EAST_1;
final String END_POINT = "https://s3.wasabisys.com";
static final String bucket="gcube-home-test-access";
@ -87,7 +88,7 @@ public class S3PluginManager extends TransportManager {
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();
int hashcode=BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file).hashCode();
int hashcode=BucketOperator.getInstance(s3).putObject(bucket, Utils.convertToS3Format(upload.getResource().getRemotePath()), file, upload.isReplaceOption()).hashCode();
return hashcode+"";
}

Loading…
Cancel
Save