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/12/11 23:20:52 UTC
git commit: JCLOUDS-403. Add support for Swift object expiry
Updated Branches:
refs/heads/master 7e99ddef5 -> 3321506c8
JCLOUDS-403. Add support for Swift object expiry
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/3321506c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/3321506c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/3321506c
Branch: refs/heads/master
Commit: 3321506c849a29b79499a820bc9c895b1c657c66
Parents: 7e99dde
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Dec 9 22:20:43 2013 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Dec 11 14:20:32 2013 -0800
----------------------------------------------------------------------
.../blobstore/CloudFilesBlobSignerExpectTest.java | 4 +++-
.../swift/binders/BindSwiftObjectMetadataToRequest.java | 11 +++++++++++
.../binders/BindSwiftObjectMetadataToRequestTest.java | 6 ++++++
.../swift/blobstore/SwiftBlobSignerExpectTest.java | 4 +++-
.../blobstore/SwiftKeystoneBlobSignerExpectTest.java | 4 +++-
.../HPCloudObjectStorageBlobSignerExpectTest.java | 4 +++-
6 files changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/CloudFilesBlobSignerExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/CloudFilesBlobSignerExpectTest.java b/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/CloudFilesBlobSignerExpectTest.java
index 9659ec3..dbf140f 100644
--- a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/CloudFilesBlobSignerExpectTest.java
+++ b/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/CloudFilesBlobSignerExpectTest.java
@@ -80,7 +80,9 @@ public class CloudFilesBlobSignerExpectTest extends BaseBlobSignerExpectTest {
.endpoint("https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_83a9d536-2e25-4166-bd3b-a503a934f953/container/name")
.addHeader("ETag", "00020408")
.addHeader("Expect", "100-continue")
- .addHeader("X-Auth-Token", authToken).build();
+ .addHeader("X-Auth-Token", authToken)
+ .addHeader("X-Delete-At", "1")
+ .build();
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/apis/swift/src/main/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/main/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequest.java b/apis/swift/src/main/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequest.java
index 6f1e53a..e529c12 100644
--- a/apis/swift/src/main/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequest.java
+++ b/apis/swift/src/main/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequest.java
@@ -16,9 +16,11 @@
*/
package org.jclouds.openstack.swift.binders;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
+import java.util.Date;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.core.MediaType;
@@ -72,6 +74,15 @@ public class BindSwiftObjectMetadataToRequest implements Binder {
.build();
}
+ Date expires = object.getPayload().getContentMetadata().getExpires();
+ if (expires != null) {
+ // Swizzle Expires to X-Delete-At
+ request = (R) request.toBuilder()
+ .addHeader("X-Delete-At", String.valueOf(
+ MILLISECONDS.toSeconds(expires.getTime())))
+ .build();
+ }
+
request = mdBinder.bindToRequest(request, object2Blob.apply(object));
return request;
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/apis/swift/src/test/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequestTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequestTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequestTest.java
index c5accb2..fb54cee 100644
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequestTest.java
+++ b/apis/swift/src/test/java/org/jclouds/openstack/swift/binders/BindSwiftObjectMetadataToRequestTest.java
@@ -16,10 +16,12 @@
*/
package org.jclouds.openstack.swift.binders;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.testng.Assert.assertEquals;
import java.io.File;
import java.net.URI;
+import java.util.Date;
import org.jclouds.http.HttpRequest;
import org.jclouds.io.Payload;
@@ -59,6 +61,8 @@ public class BindSwiftObjectMetadataToRequestTest extends CommonSwiftClientTest
SwiftObject object = injector.getInstance(SwiftObject.Factory.class).create(null);
Payload payload = Payloads.newStringPayload("");
payload.getContentMetadata().setContentLength(5 * 1024 * 1024 * 1024l);
+ long expiresMillis = 1000;
+ payload.getContentMetadata().setExpires(new Date(expiresMillis));
object.setPayload(payload);
object.getInfo().setName("foo");
object.getInfo().getMetadata().putAll(ImmutableMap.of("foo", "bar"));
@@ -67,6 +71,8 @@ public class BindSwiftObjectMetadataToRequestTest extends CommonSwiftClientTest
BindSwiftObjectMetadataToRequest binder = injector.getInstance(BindSwiftObjectMetadataToRequest.class);
assertEquals(binder.bindToRequest(request, object), HttpRequest.builder().method("PUT")
+ .addHeader("X-Delete-At", String.valueOf(
+ MILLISECONDS.toSeconds(expiresMillis)))
.endpoint("http://localhost").addHeader("X-Object-Meta-foo", "bar").build());
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftBlobSignerExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftBlobSignerExpectTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftBlobSignerExpectTest.java
index b2be6eb..6508e1d 100644
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftBlobSignerExpectTest.java
+++ b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftBlobSignerExpectTest.java
@@ -78,7 +78,9 @@ public class SwiftBlobSignerExpectTest extends BaseBlobSignerExpectTest {
.endpoint("http://storage/container/name")
.addHeader("ETag", "00020408")
.addHeader("Expect", "100-continue")
- .addHeader("X-Auth-Token", "testtoken").build();
+ .addHeader("X-Auth-Token", "testtoken")
+ .addHeader("X-Delete-At", "1")
+ .build();
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftKeystoneBlobSignerExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftKeystoneBlobSignerExpectTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftKeystoneBlobSignerExpectTest.java
index 01c21a7..476962a 100644
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftKeystoneBlobSignerExpectTest.java
+++ b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/SwiftKeystoneBlobSignerExpectTest.java
@@ -73,7 +73,9 @@ public class SwiftKeystoneBlobSignerExpectTest extends BaseBlobSignerExpectTest
.endpoint("https://objects.jclouds.org/v1.0/40806637803162/container/name")
.addHeader("ETag", "00020408")
.addHeader("Expect", "100-continue")
- .addHeader("X-Auth-Token", "Auth_4f173437e4b013bee56d1007").build();
+ .addHeader("X-Auth-Token", "Auth_4f173437e4b013bee56d1007")
+ .addHeader("X-Delete-At", "1")
+ .build();
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds/blob/3321506c/providers/hpcloud-objectstorage/src/test/java/org/jclouds/hpcloud/objectstorage/blobstore/HPCloudObjectStorageBlobSignerExpectTest.java
----------------------------------------------------------------------
diff --git a/providers/hpcloud-objectstorage/src/test/java/org/jclouds/hpcloud/objectstorage/blobstore/HPCloudObjectStorageBlobSignerExpectTest.java b/providers/hpcloud-objectstorage/src/test/java/org/jclouds/hpcloud/objectstorage/blobstore/HPCloudObjectStorageBlobSignerExpectTest.java
index 1da4b72..f95d10b 100644
--- a/providers/hpcloud-objectstorage/src/test/java/org/jclouds/hpcloud/objectstorage/blobstore/HPCloudObjectStorageBlobSignerExpectTest.java
+++ b/providers/hpcloud-objectstorage/src/test/java/org/jclouds/hpcloud/objectstorage/blobstore/HPCloudObjectStorageBlobSignerExpectTest.java
@@ -76,7 +76,9 @@ public class HPCloudObjectStorageBlobSignerExpectTest extends BaseBlobSignerExpe
.endpoint("https://objects.jclouds.org/v1.0/40806637803162/container/name")
.addHeader("ETag", "00020408")
.addHeader("Expect", "100-continue")
- .addHeader("X-Auth-Token", "Auth_4f173437e4b013bee56d1007").build();
+ .addHeader("X-Auth-Token", "Auth_4f173437e4b013bee56d1007")
+ .addHeader("X-Delete-At", "1")
+ .build();
}
@Override