You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2013/09/12 03:06:09 UTC
git commit: Add Atmos-specific MD5 checksum header
Updated Branches:
refs/heads/master 6cc8e36f4 -> b2016703a
Add Atmos-specific MD5 checksum header
Tested against Atmos Online.
Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/commit/b2016703
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/b2016703
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/b2016703
Branch: refs/heads/master
Commit: b2016703adbc254347f0093171238b5f36e3fce4
Parents: 6cc8e36
Author: Andrew Gaul <ga...@apache.org>
Authored: Thu Jun 20 15:26:23 2013 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Sep 11 18:05:47 2013 -0700
----------------------------------------------------------------------
.../org/jclouds/atmos/binders/BindMetadataToHeaders.java | 10 ++++++++++
.../java/org/jclouds/atmos/reference/AtmosHeaders.java | 1 +
.../atmos/blobstore/AtmosBlobRequestSignerTest.java | 7 ++++++-
.../blobstore/integration/AtmosIntegrationLiveTest.java | 6 ------
4 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/b2016703/apis/atmos/src/main/java/org/jclouds/atmos/binders/BindMetadataToHeaders.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/binders/BindMetadataToHeaders.java b/apis/atmos/src/main/java/org/jclouds/atmos/binders/BindMetadataToHeaders.java
index ba852b7..7588287 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/binders/BindMetadataToHeaders.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/binders/BindMetadataToHeaders.java
@@ -22,7 +22,10 @@ import static com.google.common.base.Preconditions.checkNotNull;
import javax.inject.Inject;
import javax.inject.Singleton;
+import com.google.common.io.BaseEncoding;
+
import org.jclouds.atmos.domain.AtmosObject;
+import org.jclouds.atmos.reference.AtmosHeaders;
import org.jclouds.http.HttpRequest;
import org.jclouds.rest.Binder;
@@ -47,6 +50,13 @@ public class BindMetadataToHeaders implements Binder {
checkNotNull(object.getPayload(), "object payload");
checkArgument(object.getPayload().getContentMetadata().getContentLength() != null,
"contentLength must be set, streaming not supported");
+ byte[] contentMD5 = object.getContentMetadata().getContentMD5();
+ if (contentMD5 != null) {
+ request = (R) request.toBuilder()
+ .addHeader(AtmosHeaders.CHECKSUM, "MD5/0/" +
+ BaseEncoding.base16().encode(contentMD5))
+ .build();
+ }
return metaBinder.bindToRequest(request, object.getUserMetadata());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/b2016703/apis/atmos/src/main/java/org/jclouds/atmos/reference/AtmosHeaders.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/reference/AtmosHeaders.java b/apis/atmos/src/main/java/org/jclouds/atmos/reference/AtmosHeaders.java
index 41b328f..b4d2d3d 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/reference/AtmosHeaders.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/reference/AtmosHeaders.java
@@ -35,5 +35,6 @@ public interface AtmosHeaders {
public static final String GROUP_ACL = "x-emc-groupacl";
public static final String UID = "x-emc-uid";
public static final String TOKEN = "x-emc-token";
+ public static final String CHECKSUM = "x-emc-wschecksum";
}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/b2016703/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/AtmosBlobRequestSignerTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/AtmosBlobRequestSignerTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/AtmosBlobRequestSignerTest.java
index 9644406..6f4da6f 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/AtmosBlobRequestSignerTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/AtmosBlobRequestSignerTest.java
@@ -99,7 +99,12 @@ public class AtmosBlobRequestSignerTest extends BaseAsyncClientTest<AtmosAsyncCl
"POST https://accesspoint.atmosonline.com/rest/namespace/container/name HTTP/1.1");
assertNonPayloadHeadersEqual(
request,
- "Accept: */*\nDate: Thu, 05 Jun 2008 16:38:19 GMT\nExpect: 100-continue\nx-emc-signature: 7Cbdnu+YA5rG9J/C9RlHk07mU7w=\nx-emc-uid: identity\n");
+ "Accept: */*\n" +
+ "Date: Thu, 05 Jun 2008 16:38:19 GMT\n" +
+ "Expect: 100-continue\n" +
+ "x-emc-signature: DTzbKA9a0TAawWFEbC4D76wTq3A=\n" +
+ "x-emc-uid: identity\n" +
+ "x-emc-wschecksum: MD5/0/00020408\n");
assertContentHeadersEqual(request, "text/plain", null, null, null, 2L, new byte[] { 0, 2, 4, 8 }, new Date(1000));
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/b2016703/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
index 841a86b..75432a6 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosIntegrationLiveTest.java
@@ -24,7 +24,6 @@ import java.util.concurrent.ExecutionException;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.blobstore.domain.BlobMetadata;
import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
-import org.testng.SkipException;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -113,11 +112,6 @@ public class AtmosIntegrationLiveTest extends BaseBlobIntegrationTest {
assertEquals(metadata.getContentMetadata().getContentMD5(), null);
}
- @Override
- public void testPutIncorrectContentMD5() throws InterruptedException, IOException {
- throw new SkipException("not yet implemented");
- }
-
@Test(enabled = false)
// problem with the stub and md5, live is fine
public void testMetadata() {