removed unuseful deps. Added method for string conversion ( in order to

match s3 bucket format)
master
roberto cirillo 4 years ago
parent 02ec9b6926
commit 9e0921add1

@ -34,24 +34,36 @@
<artifactId>storage-manager-core</artifactId> <artifactId>storage-manager-core</artifactId>
<version>[2.9.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> <version>[2.9.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
</dependency> </dependency>
<dependency> <!-- <dependency> -->
<groupId>software.amazon.awssdk</groupId> <!-- <groupId>software.amazon.awssdk</groupId> -->
<artifactId>dynamodb</artifactId> <!-- <artifactId>dynamodb</artifactId> -->
</dependency> <!-- </dependency> -->
<dependency> <!-- <dependency> -->
<groupId>com.amazonaws</groupId> <!-- <groupId>com.amazonaws</groupId> -->
<artifactId>aws-lambda-java-core</artifactId> <!-- <artifactId>aws-lambda-java-core</artifactId> -->
<version>1.2.0</version> <!-- <version>1.2.0</version> -->
</dependency> <!-- </dependency> -->
<dependency> <!-- <dependency> -->
<groupId>software.amazon.awssdk</groupId> <!-- <groupId>software.amazon.awssdk</groupId> -->
<artifactId>aws-sdk-java</artifactId> <!-- <artifactId>aws-sdk-java</artifactId> -->
<version>2.13.7</version> <!-- <version>2.13.7</version> -->
</dependency> <!-- </dependency> -->
<!-- <dependency> --> <!-- <dependency> -->
<!-- <groupId>com.instantor.amazon</groupId> --> <!-- <groupId>com.instantor.amazon</groupId> -->
<!-- <artifactId>S3Client</artifactId> --> <!-- <artifactId>S3Client</artifactId> -->
<!-- <version>1.0.2</version> --> <!-- <version>1.0.2</version> -->
<!-- </dependency> --> <!-- </dependency> -->
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<!-- <dependency> -->
<!-- <groupId>software.amazon.awssdk</groupId> -->
<!-- <artifactId>kms</artifactId> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>software.amazon.awssdk</groupId> -->
<!-- <artifactId>s3control</artifactId> -->
<!-- </dependency> -->
</dependencies> </dependencies>
</project> </project>

@ -1,5 +1,6 @@
package org.gcube.contentmanagement.blobstorage.transport.plugin; package org.gcube.contentmanagement.blobstorage.transport.plugin;
import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.net.UnknownHostException; import java.net.UnknownHostException;
@ -21,7 +22,11 @@ import org.gcube.contentmanagement.blobstorage.service.operation.MoveDir;
import org.gcube.contentmanagement.blobstorage.service.operation.Unlock; import org.gcube.contentmanagement.blobstorage.service.operation.Unlock;
import org.gcube.contentmanagement.blobstorage.service.operation.Upload; import org.gcube.contentmanagement.blobstorage.service.operation.Upload;
import org.gcube.contentmanagement.blobstorage.transport.TransportManager; import org.gcube.contentmanagement.blobstorage.transport.TransportManager;
import org.gcube.contentmanagement.blobstorage.transport.backend.MongoIOManager;
import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException; import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException;
import org.gcube.contentmanagement.blobstorage.transport.plugin.Utils.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URI; import java.net.URI;
@ -50,8 +55,9 @@ public class S3PluginManager extends TransportManager {
Region region = Region.US_EAST_1; Region region = Region.US_EAST_1;
final String END_POINT = "https://s3.wasabisys.com"; final String END_POINT = "https://s3.wasabisys.com";
S3Client s3; S3Client s3;
private Logger logger = LoggerFactory.getLogger(S3PluginManager.class);
// THE FOLLOWING FIELD SHOULD BE RETRIEVED FROM SERVICEENDPOINT // THE FOLLOWING FIELDS SHOULD BE RETRIEVED FROM SERVICEENDPOINT
static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG"; static final String ACCESS_KEY="UXMKEBMZBDROS5K9HREG";
static final String SECRET_ACCESS_KEY="0Mqu8gmzcZ09wuqqKZwNmuS5bYC549MlZhvfgv6W"; static final String SECRET_ACCESS_KEY="0Mqu8gmzcZ09wuqqKZwNmuS5bYC549MlZhvfgv6W";
static final String bucket="gcube-home-test-access"; static final String bucket="gcube-home-test-access";
@ -62,6 +68,12 @@ public class S3PluginManager extends TransportManager {
return "S3PluginManager"; return "S3PluginManager";
} }
public S3PluginManager() {
logger.info("S3PluginManager");
}
public S3PluginManager(String[] server, String user, String pass, MemoryType memoryType, String[] dbNames, public S3PluginManager(String[] server, String user, String pass, MemoryType memoryType, String[] dbNames,
String writeConcern, String readConcern) { String writeConcern, String readConcern) {
initBackend(server,user,pass, memoryType,dbNames, writeConcern, readConcern); initBackend(server,user,pass, memoryType,dbNames, writeConcern, readConcern);
@ -79,12 +91,14 @@ public class S3PluginManager extends TransportManager {
@Override @Override
public Object get(Download download) throws FileNotFoundException, IOException { public Object get(Download download) throws FileNotFoundException, IOException {
return BucketOperator.getInstance(s3).getObject(bucket, download.getRemotePath(), download.getLocalPath()); return BucketOperator.getInstance(s3).getObject(bucket, Utils.convertToS3Format(download.getResource().getRemotePath()), download.getLocalPath());
} }
@Override @Override
public String put(Upload upload) throws FileNotFoundException, IOException { public String put(Upload upload) throws FileNotFoundException, IOException {
return BucketOperator.getInstance(s3).getObject(bucket, upload.getRemotePath(), upload.getLocalPath()).toString(); 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();
} }
@Override @Override

@ -0,0 +1,14 @@
package org.gcube.contentmanagement.blobstorage.transport.plugin.Utils;
import org.gcube.contentmanagement.blobstorage.transport.backend.util.Costants;
public class Utils {
public static String convertToS3Format(String objectName) {
if( objectName.substring(objectName.length()-1).contains(Costants.FILE_SEPARATOR)) {
objectName=objectName.substring(0, objectName.length()-1);
}
return objectName.replaceAll(Costants.FILE_SEPARATOR, "-");
}
}
Loading…
Cancel
Save