JCLOUDS-651: Atmos support for conditional copies
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/cc8af838 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/cc8af838 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/cc8af838 Branch: refs/heads/master Commit: cc8af838e8427ec3d59afd091642877911dc7be0 Parents: 66609e6 Author: Andrew Gaul <[email protected]> Authored: Fri Feb 12 20:43:27 2016 -0800 Committer: Andrew Gaul <[email protected]> Committed: Tue Feb 16 16:29:54 2016 -0800 ---------------------------------------------------------------------- .../jclouds/atmos/blobstore/AtmosBlobStore.java | 13 +++++++++++ .../integration/AtmosIntegrationLiveTest.java | 24 ++++++++++++++++++++ 2 files changed, 37 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc8af838/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java ---------------------------------------------------------------------- diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java index 6516198..a263af9 100644 --- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java +++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java @@ -45,6 +45,7 @@ import org.jclouds.blobstore.domain.PageSet; import org.jclouds.blobstore.domain.StorageMetadata; import org.jclouds.blobstore.functions.BlobToHttpGetOptions; import org.jclouds.blobstore.internal.BaseBlobStore; +import org.jclouds.blobstore.options.CopyOptions; import org.jclouds.blobstore.options.CreateContainerOptions; import org.jclouds.blobstore.options.PutOptions; import org.jclouds.blobstore.strategy.internal.FetchBlobMetadata; @@ -334,4 +335,16 @@ public class AtmosBlobStore extends BaseBlobStore { public int getMaximumNumberOfParts() { throw new UnsupportedOperationException("Atmos does not support multipart uploads"); } + + @Override + public String copyBlob(String fromContainer, String fromName, String toContainer, String toName, + CopyOptions options) { + if (options.ifMatch() != null) { + throw new UnsupportedOperationException("Atmos does not support ifMatch"); + } + if (options.ifNoneMatch() != null) { + throw new UnsupportedOperationException("Atmos does not support ifNoneMatch"); + } + return super.copyBlob(fromContainer, fromName, toContainer, toName, options); + } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/cc8af838/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 f534787..640524f 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 @@ -164,4 +164,28 @@ public class AtmosIntegrationLiveTest extends BaseBlobIntegrationTest { public void testPutBlobAccessMultipart() throws Exception { super.testPutBlobAccessMultipart(); } + + @Override + @Test(groups = { "integration", "live" }, expectedExceptions = UnsupportedOperationException.class) + public void testCopyIfMatch() throws Exception { + super.testCopyIfMatch(); + } + + @Override + @Test(groups = { "integration", "live" }, expectedExceptions = UnsupportedOperationException.class) + public void testCopyIfMatchNegative() throws Exception { + super.testCopyIfMatchNegative(); + } + + @Override + @Test(groups = { "integration", "live" }, expectedExceptions = UnsupportedOperationException.class) + public void testCopyIfNoneMatch() throws Exception { + super.testCopyIfNoneMatch(); + } + + @Override + @Test(groups = { "integration", "live" }, expectedExceptions = UnsupportedOperationException.class) + public void testCopyIfNoneMatchNegative() throws Exception { + super.testCopyIfNoneMatchNegative(); + } }
