You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2014/05/31 08:18:18 UTC
svn commit: r1598827 - in /oodt/trunk/filemgr/src:
main/java/org/apache/oodt/cas/filemgr/datatransfer/ main/resources/
test/org/apache/oodt/cas/filemgr/datatransfer/
Author: bfoster
Date: Sat May 31 06:18:17 2014
New Revision: 1598827
URL: http://svn.apache.org/r1598827
Log:
- Added encryption support to S3 DataTransferer
-----------
OODT-702
Modified:
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransferer.java
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransfererFactory.java
oodt/trunk/filemgr/src/main/resources/filemgr.properties
oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransferer.java
oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransfererFactory.java
Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransferer.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransferer.java?rev=1598827&r1=1598826&r2=1598827&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransferer.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransferer.java Sat May 31 06:18:17 2014
@@ -16,6 +16,7 @@
*/
package org.apache.oodt.cas.filemgr.datatransfer;
+import static com.amazonaws.services.s3.model.ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION;
import static com.google.common.base.Preconditions.checkNotNull;
import java.io.File;
@@ -34,6 +35,7 @@ import com.amazonaws.AmazonClientExcepti
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.DeleteObjectRequest;
import com.amazonaws.services.s3.model.GetObjectRequest;
+import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;
@@ -47,10 +49,12 @@ public class S3DataTransferer implements
private final AmazonS3 s3Client;
private final String bucketName;
+ private final boolean encrypt;
- public S3DataTransferer(AmazonS3 s3Client, String bucketName) {
+ public S3DataTransferer(AmazonS3 s3Client, String bucketName, boolean encrypt) {
this.s3Client = checkNotNull(s3Client);
this.bucketName = checkNotNull(bucketName);
+ this.encrypt = encrypt;
}
@Override
@@ -62,7 +66,14 @@ public class S3DataTransferer implements
String origRef = stripProtocol(ref.getOrigReference(), false);
String dataStoreRef = stripProtocol(ref.getDataStoreReference(), true);
try {
- s3Client.putObject(new PutObjectRequest(bucketName, dataStoreRef, new File(origRef)));
+ PutObjectRequest request = new PutObjectRequest(
+ bucketName, dataStoreRef, new File(origRef));
+ if (encrypt) {
+ ObjectMetadata requestMetadata = new ObjectMetadata();
+ requestMetadata.setServerSideEncryption(AES_256_SERVER_SIDE_ENCRYPTION);
+ request.setMetadata(requestMetadata);
+ }
+ s3Client.putObject(request);
} catch (AmazonClientException e) {
throw new DataTransferException(String.format(
"Failed to upload product reference %s to S3 at %s", origRef,
Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransfererFactory.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransfererFactory.java?rev=1598827&r1=1598826&r2=1598827&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransfererFactory.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/S3DataTransfererFactory.java Sat May 31 06:18:17 2014
@@ -36,6 +36,8 @@ public class S3DataTransfererFactory imp
"org.apache.oodt.cas.filemgr.datatransfer.s3.access.key";
private static final String SECRET_KEY_PROPERTY =
"org.apache.oodt.cas.filemgr.datatransfer.s3.secret.key";
+ private static final String ENCRYPT_PROPERTY =
+ "org.apache.oodt.cas.filemgr.datatransfer.s3.encrypt";
@Override
public S3DataTransferer createDataTransfer() {
@@ -43,10 +45,11 @@ public class S3DataTransfererFactory imp
String region = System.getProperty(REGION_PROPERTY);
String accessKey = System.getProperty(ACCESS_KEY_PROPERTY);
String secretKey = System.getProperty(SECRET_KEY_PROPERTY);
+ boolean encrypt = Boolean.getBoolean(ENCRYPT_PROPERTY);
AmazonS3Client s3 = new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey));
s3.setRegion(Region.getRegion(Regions.valueOf(region)));
- return new S3DataTransferer(s3, bucketName);
+ return new S3DataTransferer(s3, bucketName, encrypt);
}
}
Modified: oodt/trunk/filemgr/src/main/resources/filemgr.properties
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/resources/filemgr.properties?rev=1598827&r1=1598826&r2=1598827&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/resources/filemgr.properties (original)
+++ oodt/trunk/filemgr/src/main/resources/filemgr.properties Sat May 31 06:18:17 2014
@@ -121,6 +121,7 @@ org.apache.oodt.cas.filemgr.datatransfer
org.apache.oodt.cas.filemgr.datatransfer.s3.region=EU_WEST_1
org.apache.oodt.cas.filemgr.datatransfer.s3.access.key=s3_access_key
org.apache.oodt.cas.filemgr.datatransfer.s3.secret.key=s3_secret_key
+org.apache.oodt.cas.filemgr.datatransfer.s3.encrypt=false
# location of Mime-Type repository
org.apache.oodt.cas.filemgr.mime.type.repository=/path/to/mime-types.xml
Modified: oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransferer.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransferer.java?rev=1598827&r1=1598826&r2=1598827&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransferer.java (original)
+++ oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransferer.java Sat May 31 06:18:17 2014
@@ -77,7 +77,7 @@ public class TestS3DataTransferer {
MockitoAnnotations.initMocks(this);
stagingDir = tempFolder.getRoot();
- dataTransferer = new S3DataTransferer(s3Client, S3_BUCKET_NAME);
+ dataTransferer = new S3DataTransferer(s3Client, S3_BUCKET_NAME, true);
when(reference.getOrigReference()).thenReturn(ORGINAL_REF);
when(reference.getDataStoreReference()).thenReturn(DATA_STORE_REF);
Modified: oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransfererFactory.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransfererFactory.java?rev=1598827&r1=1598826&r2=1598827&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransfererFactory.java (original)
+++ oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/datatransfer/TestS3DataTransfererFactory.java Sat May 31 06:18:17 2014
@@ -25,6 +25,8 @@ public class TestS3DataTransfererFactory
"org.apache.oodt.cas.filemgr.datatransfer.s3.access.key";
private static final String SECRET_KEY_PROPERTY =
"org.apache.oodt.cas.filemgr.datatransfer.s3.secret.key";
+ private static final String ENCRYPT_PROPERTY =
+ "org.apache.oodt.cas.filemgr.datatransfer.s3.encrypt";
@Test
public void testCreateDataTransferer() {
@@ -32,6 +34,7 @@ public class TestS3DataTransfererFactory
System.setProperty(REGION_PROPERTY, "US_WEST_1");
System.setProperty(ACCESS_KEY_PROPERTY, "23123123123");
System.setProperty(SECRET_KEY_PROPERTY, "00101010101");
+ System.setProperty(ENCRYPT_PROPERTY, "true");
S3DataTransfererFactory factory = new S3DataTransfererFactory();
S3DataTransferer transferer = factory.createDataTransfer();