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 2017/11/25 05:17:03 UTC
[01/11] jclouds git commit: Allow lastModified to be null
Repository: jclouds
Updated Branches:
refs/heads/2.0.x f4ecb785d -> b7b67a0f6
Allow lastModified to be null
Follow on to ec932321bde5662d8ecbef7cf5428a6017b07dd0
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/d31dc941
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/d31dc941
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/d31dc941
Branch: refs/heads/2.0.x
Commit: d31dc9414987a712d2be25e38458e96d9e440c53
Parents: f4ecb78
Author: Andrew Gaul <ga...@apache.org>
Authored: Sun Mar 12 16:49:08 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 18:41:49 2017 -0800
----------------------------------------------------------------------
.../java/org/jclouds/s3/domain/ListMultipartUploadResponse.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d31dc941/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java b/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
index 8830317..58edc56 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
@@ -21,6 +21,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Date;
+import org.jclouds.javax.annotation.Nullable;
+
import com.google.auto.value.AutoValue;
import com.google.common.annotations.Beta;
import org.jclouds.javax.annotation.Nullable;
@@ -33,7 +35,7 @@ public abstract class ListMultipartUploadResponse {
public abstract String eTag();
public abstract long size();
- public static ListMultipartUploadResponse create(int partNumber, Date lastModified, String eTag, long size) {
+ public static ListMultipartUploadResponse create(int partNumber, @Nullable Date lastModified, String eTag, long size) {
checkArgument(partNumber > 0, "partNumber must be greater than zero, was: %s", partNumber);
checkNotNull(eTag, "eTag");
if (lastModified != null) {
[07/11] jclouds git commit: Add mtime support to Atmos directory
listing
Posted by ga...@apache.org.
Add mtime support to Atmos directory listing
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/b9580904
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/b9580904
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/b9580904
Branch: refs/heads/2.0.x
Commit: b95809046adc899f786ba03f9217758100d821ca
Parents: 28a70b7
Author: Andrew Gaul <ga...@apache.org>
Authored: Sun Oct 29 17:26:34 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:35 2017 -0800
----------------------------------------------------------------------
.../DirectoryEntryListToResourceMetadataList.java | 2 +-
.../org/jclouds/atmos/domain/DirectoryEntry.java | 15 +++++++++++++++
.../atmos/xml/ListDirectoryResponseHandler.java | 16 +++++++++++++++-
3 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/b9580904/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/DirectoryEntryListToResourceMetadataList.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/DirectoryEntryListToResourceMetadataList.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/DirectoryEntryListToResourceMetadataList.java
index f04100f..b14dd85 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/DirectoryEntryListToResourceMetadataList.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/DirectoryEntryListToResourceMetadataList.java
@@ -59,7 +59,7 @@ public class DirectoryEntryListToResourceMetadataList implements
.get(), null, null, null, null, ImmutableMap.<String, String>of());
else {
BlobMetadataImpl metadata = new BlobMetadataImpl(from.getObjectID(), from.getObjectName(), defaultLocation.get(),
- null, null, null, null, ImmutableMap.<String, String>of(), null,
+ null, null, null, from.getModifiedTime(), ImmutableMap.<String, String>of(), null,
null, new BaseMutableContentMetadata());
MutableBlobMetadataImpl mutable = new MutableBlobMetadataImpl(metadata);
mutable.setSize(from.getSize());
http://git-wip-us.apache.org/repos/asf/jclouds/blob/b9580904/apis/atmos/src/main/java/org/jclouds/atmos/domain/DirectoryEntry.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/domain/DirectoryEntry.java b/apis/atmos/src/main/java/org/jclouds/atmos/domain/DirectoryEntry.java
index b657973..40c2cdb 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/domain/DirectoryEntry.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/domain/DirectoryEntry.java
@@ -16,6 +16,10 @@
*/
package org.jclouds.atmos.domain;
+import java.util.Date;
+
+import org.jclouds.javax.annotation.Nullable;
+
import com.google.common.base.Objects;
/**
@@ -26,12 +30,19 @@ public class DirectoryEntry implements Comparable<DirectoryEntry> {
private final FileType type;
private final String objname;
private final long size;
+ @Nullable private final Date modifiedTime;
+ @Deprecated
public DirectoryEntry(String objectid, FileType type, String objname, long size) {
+ this(objectid, type, objname, size, null);
+ }
+
+ public DirectoryEntry(String objectid, FileType type, String objname, long size, Date modifiedTime) {
this.objectid = objectid;
this.objname = objname;
this.type = type;
this.size = size;
+ this.modifiedTime = modifiedTime != null ? (Date) modifiedTime.clone() : null;
}
public String getObjectID() {
@@ -50,6 +61,10 @@ public class DirectoryEntry implements Comparable<DirectoryEntry> {
return size;
}
+ public Date getModifiedTime() {
+ return modifiedTime != null ? (Date) modifiedTime.clone() : null;
+ }
+
public int compareTo(DirectoryEntry o) {
if (getObjectName() == null)
return -1;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/b9580904/apis/atmos/src/main/java/org/jclouds/atmos/xml/ListDirectoryResponseHandler.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/xml/ListDirectoryResponseHandler.java b/apis/atmos/src/main/java/org/jclouds/atmos/xml/ListDirectoryResponseHandler.java
index ffe1a4a..3109708 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/xml/ListDirectoryResponseHandler.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/xml/ListDirectoryResponseHandler.java
@@ -16,10 +16,14 @@
*/
package org.jclouds.atmos.xml;
+import java.util.Date;
import java.util.Set;
+import javax.inject.Inject;
+
import org.jclouds.atmos.domain.DirectoryEntry;
import org.jclouds.atmos.domain.FileType;
+import org.jclouds.date.DateService;
import org.jclouds.http.functions.ParseSax;
import com.google.common.collect.Sets;
@@ -37,12 +41,20 @@ public class ListDirectoryResponseHandler extends ParseSax.HandlerWithResult<Set
private FileType currentType;
private String currentFileName;
private long currentSize;
+ private Date currentModificationTime;
// metadata parsing
private String currentName;
private StringBuilder currentText = new StringBuilder();
+ private final DateService dateService;
+
+ @Inject
+ ListDirectoryResponseHandler(DateService dateService) {
+ this.dateService = dateService;
+ }
+
public Set<DirectoryEntry> getResult() {
return entries;
}
@@ -61,9 +73,11 @@ public class ListDirectoryResponseHandler extends ParseSax.HandlerWithResult<Set
} else if (qName.equals("Value")) {
if (currentName.equals("size")) {
currentSize = Long.parseLong(currentText.toString().trim());
+ } else if (currentName.equals("mtime")) {
+ currentModificationTime = dateService.iso8601DateOrSecondsDateParse(currentText.toString().trim());
}
} else if (qName.equals("DirectoryEntry")) {
- entries.add(new DirectoryEntry(currentObjectId, currentType, currentFileName, currentSize));
+ entries.add(new DirectoryEntry(currentObjectId, currentType, currentFileName, currentSize, currentModificationTime));
}
currentText.setLength(0);
}
[08/11] jclouds git commit: Implement partial prefix support for Atmos
Posted by ga...@apache.org.
Implement partial prefix support for Atmos
Atmos only supports listing by directories while other blobstores
allow listing via arbitrary prefixes. Allow requests which list
directories via both prefix and delimiter = "/" to succeed instead of
failing all requests. Also change a test which specified recursive to
instead be delimiter = "/". Fixes gaul/s3proxy#244.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/c61e8bc2
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/c61e8bc2
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/c61e8bc2
Branch: refs/heads/2.0.x
Commit: c61e8bc28b75687375c503de080498633e999856
Parents: b958090
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Oct 30 12:44:25 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:35 2017 -0800
----------------------------------------------------------------------
.../java/org/jclouds/atmos/blobstore/AtmosBlobStore.java | 9 ++++++++-
.../integration/AtmosContainerIntegrationLiveTest.java | 7 +------
.../integration/internal/BaseContainerIntegrationTest.java | 2 +-
3 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c61e8bc2/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 1550932..ca84fe8 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
@@ -220,8 +220,15 @@ public class AtmosBlobStore extends BaseBlobStore {
@Override
public PageSet<? extends StorageMetadata> list(String container,
org.jclouds.blobstore.options.ListContainerOptions options) {
- checkArgument(Strings.isNullOrEmpty(options.getPrefix()), "does not support prefixes");
+ // TODO: recursive?
+ if (!Strings.nullToEmpty(options.getDelimiter()).equals("/") && !Strings.isNullOrEmpty(options.getPrefix())) {
+ throw new IllegalArgumentException("Atmos can only list via prefix if delimiter is / and the prefix matches an existing directory");
+ }
container = AtmosUtils.adjustContainerIfDirOptionPresent(container, options);
+ if (!Strings.isNullOrEmpty(options.getPrefix())) {
+ // this only works when the prefix exactly matches a directory, the common usage
+ container += "/" + options.getPrefix();
+ }
ListOptions nativeOptions = container2ContainerListOptions.apply(options);
// until includeMeta() option works for namespace interface
PageSet<? extends StorageMetadata> list = container2ResourceList.apply(sync.listDirectory(container,
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c61e8bc2/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
index c29f80c..4814918 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
@@ -58,16 +58,11 @@ public class AtmosContainerIntegrationLiveTest extends BaseContainerIntegrationT
@Override
public void testContainerListWithPrefix() {
- throw new SkipException("Prefix option has not been plumbed down to Atmos");
+ throw new SkipException("Atmos can only list prefix which matches an existing directory");
}
@Override
public void testDelimiterList() {
throw new SkipException("Delimiter support is not yet implemented");
}
-
- @Override
- public void testListContainerPrefix() throws InterruptedException {
- throw new SkipException("Prefix support is not yet implemented");
- }
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c61e8bc2/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
index e6cb0ae..554c75a 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
@@ -310,7 +310,7 @@ public class BaseContainerIntegrationTest extends BaseBlobStoreIntegrationTest {
add15UnderRoot(containerName);
awaitConsistency();
PageSet<? extends StorageMetadata> container = view.getBlobStore().list(
- containerName, new ListContainerOptions().recursive().prefix(prefix));
+ containerName, new ListContainerOptions().prefix(prefix).delimiter("/"));
assert container.getNextMarker() == null;
assertEquals(container.size(), 10);
} finally {
[10/11] jclouds git commit: JCLOUDS-1358: Fix zero byte InputStream
test input
Posted by ga...@apache.org.
JCLOUDS-1358: Fix zero byte InputStream test input
Do not use ByteSource.empty() since it is backed by a
ByteArrayInputStream which supports reset.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/9a302453
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/9a302453
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/9a302453
Branch: refs/heads/2.0.x
Commit: 9a302453e01c3dfbd2279b3fa7e49d9a83b11ff3
Parents: 63e6450
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue Nov 21 10:49:53 2017 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 20:15:25 2017 -0800
----------------------------------------------------------------------
.../integration/internal/BaseBlobIntegrationTest.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/9a302453/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
index 23defff..e03b226 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
@@ -626,14 +626,19 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
@Test(groups = { "integration", "live" })
public void testPutZeroLengthByteSource() throws Exception {
long length = 0;
- Payload payload = new ByteSourcePayload(ByteSource.empty());
+ // do not use ByteSource.empty() since it is backed by a
+ // ByteArrayInputStream which supports reset
+ ByteSource byteSource = TestUtils.randomByteSource().slice(0, length);
+ Payload payload = new ByteSourcePayload(byteSource);
testPut(payload, null, payload, length, new PutOptions());
}
@Test(groups = { "integration", "live" })
public void testPutZeroLengthInputStream() throws Exception {
long length = 0;
- ByteSource byteSource = ByteSource.empty();
+ // do not use ByteSource.empty() since it is backed by a
+ // ByteArrayInputStream which supports reset
+ ByteSource byteSource = TestUtils.randomByteSource().slice(0, length);
Payload payload = new InputStreamPayload(byteSource.openStream());
testPut(payload, null, payload, length, new PutOptions());
}
[02/11] jclouds git commit: Handle empty prefix on Atmos
Posted by ga...@apache.org.
Handle empty prefix on Atmos
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/17c8e315
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/17c8e315
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/17c8e315
Branch: refs/heads/2.0.x
Commit: 17c8e315467bf31fa8e0c11e71cc6cdc1b60bd1d
Parents: 57dceaf
Author: Andrew Gaul <ga...@apache.org>
Authored: Sat Oct 28 11:06:25 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:34 2017 -0800
----------------------------------------------------------------------
.../src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java | 3 +++
.../blobstore/functions/BlobStoreListOptionsToListOptions.java | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/17c8e315/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 a75fee2..1550932 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
@@ -16,6 +16,7 @@
*/
package org.jclouds.atmos.blobstore;
+import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.atmos.options.PutOptions.Builder.publicRead;
@@ -58,6 +59,7 @@ import org.jclouds.http.options.GetOptions;
import org.jclouds.io.Payload;
import org.jclouds.io.PayloadSlicer;
+import com.google.common.base.Strings;
import com.google.common.base.Supplier;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
@@ -218,6 +220,7 @@ public class AtmosBlobStore extends BaseBlobStore {
@Override
public PageSet<? extends StorageMetadata> list(String container,
org.jclouds.blobstore.options.ListContainerOptions options) {
+ checkArgument(Strings.isNullOrEmpty(options.getPrefix()), "does not support prefixes");
container = AtmosUtils.adjustContainerIfDirOptionPresent(container, options);
ListOptions nativeOptions = container2ContainerListOptions.apply(options);
// until includeMeta() option works for namespace interface
http://git-wip-us.apache.org/repos/asf/jclouds/blob/17c8e315/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/BlobStoreListOptionsToListOptions.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/BlobStoreListOptionsToListOptions.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/BlobStoreListOptionsToListOptions.java
index b6a1e9d..13882f9 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/BlobStoreListOptionsToListOptions.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/functions/BlobStoreListOptionsToListOptions.java
@@ -23,6 +23,7 @@ import javax.inject.Singleton;
import org.jclouds.blobstore.options.ListContainerOptions;
import com.google.common.base.Function;
+import com.google.common.base.Strings;
@Singleton
public class BlobStoreListOptionsToListOptions implements
@@ -31,7 +32,7 @@ public class BlobStoreListOptionsToListOptions implements
public org.jclouds.atmos.options.ListOptions apply(ListContainerOptions from) {
checkNotNull(from, "set options to instance NONE instead of passing null");
org.jclouds.atmos.options.ListOptions httpOptions = new org.jclouds.atmos.options.ListOptions();
- if (from.getMarker() != null) {
+ if (!Strings.isNullOrEmpty(from.getMarker())) {
httpOptions.token(from.getMarker());
}
if (from.getMaxResults() != null) {
[03/11] jclouds git commit: Allow empty delimiters with
openstack-swift
Posted by ga...@apache.org.
Allow empty delimiters with openstack-swift
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/57dceaf5
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/57dceaf5
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/57dceaf5
Branch: refs/heads/2.0.x
Commit: 57dceaf56f11692de2362029e1d127b0e68419ba
Parents: 4765590
Author: Andrew Gaul <ga...@apache.org>
Authored: Thu Sep 7 12:28:41 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:34 2017 -0800
----------------------------------------------------------------------
.../swift/v1/blobstore/functions/ToListContainerOptions.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/57dceaf5/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToListContainerOptions.java
----------------------------------------------------------------------
diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToListContainerOptions.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToListContainerOptions.java
index 918a992..de06d14 100644
--- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToListContainerOptions.java
+++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/functions/ToListContainerOptions.java
@@ -21,6 +21,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
import org.jclouds.blobstore.options.ListContainerOptions;
import com.google.common.base.Function;
+import com.google.common.base.Strings;
public class ToListContainerOptions implements
Function<ListContainerOptions, org.jclouds.openstack.swift.v1.options.ListContainerOptions> {
@@ -45,7 +46,7 @@ public class ToListContainerOptions implements
} else if (!from.isRecursive()) {
options.delimiter('/');
}
- if (from.getDelimiter() != null) {
+ if (!Strings.isNullOrEmpty(from.getDelimiter())) {
if (from.getDelimiter().length() != 1) {
throw new IllegalArgumentException("Delimiter must be a single character");
}
[04/11] jclouds git commit: Remove duplicate Nullable import
Posted by ga...@apache.org.
Remove duplicate Nullable import
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/4765590b
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/4765590b
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/4765590b
Branch: refs/heads/2.0.x
Commit: 4765590bc93e51bc5a52eb65fca8715bffbc7f44
Parents: d31dc94
Author: Andrew Gaul <ga...@apache.org>
Authored: Sun Aug 6 18:38:52 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:34 2017 -0800
----------------------------------------------------------------------
.../java/org/jclouds/s3/domain/ListMultipartUploadResponse.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/4765590b/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java b/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
index 58edc56..debea17 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java
@@ -21,8 +21,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
import java.util.Date;
-import org.jclouds.javax.annotation.Nullable;
-
import com.google.auto.value.AutoValue;
import com.google.common.annotations.Beta;
import org.jclouds.javax.annotation.Nullable;
[05/11] jclouds git commit: Enable passing Atmos tests
Posted by ga...@apache.org.
Enable passing Atmos tests
Also clarify why we skip certain tests with SkipException.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/28a70b7f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/28a70b7f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/28a70b7f
Branch: refs/heads/2.0.x
Commit: 28a70b7fb4cad07aa11d3bb4efef5c7f7881daee
Parents: 48a8400
Author: Andrew Gaul <ga...@apache.org>
Authored: Sun Oct 29 13:43:10 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:35 2017 -0800
----------------------------------------------------------------------
.../AtmosContainerIntegrationLiveTest.java | 5 +++
.../integration/AtmosIntegrationLiveTest.java | 44 ++------------------
2 files changed, 8 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/28a70b7f/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
index 8561ecd..c29f80c 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosContainerIntegrationLiveTest.java
@@ -65,4 +65,9 @@ public class AtmosContainerIntegrationLiveTest extends BaseContainerIntegrationT
public void testDelimiterList() {
throw new SkipException("Delimiter support is not yet implemented");
}
+
+ @Override
+ public void testListContainerPrefix() throws InterruptedException {
+ throw new SkipException("Prefix support is not yet implemented");
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/28a70b7f/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 4f6e991..6ccdad2 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
@@ -42,39 +42,8 @@ public class AtmosIntegrationLiveTest extends BaseBlobIntegrationTest {
}
@Override
- @Test(enabled = false)
- public void testGetIfMatch() {
- // no etag support
- }
-
- @Override
- @Test(enabled = false)
- public void testGetIfModifiedSince() {
- // not supported
- }
-
- @Override
- @Test(enabled = false)
- public void testGetIfNoneMatch() {
- // no etag support
- }
-
- @Override
- @Test(enabled = false)
- public void testGetIfUnmodifiedSince() {
- // not supported
- }
-
- @Override
- @Test(enabled = false)
- public void testGetRange() {
- // TODO this should work
- }
-
- @Override
- @Test(enabled = false)
public void testGetTwoRanges() {
- // not supported
+ throw new SkipException("Atmos MIME-encodes multiple ranges");
}
// not supported
@@ -122,16 +91,9 @@ public class AtmosIntegrationLiveTest extends BaseBlobIntegrationTest {
throw new SkipException("Expiration not yet implemented");
}
- @Test(enabled = false)
- // problem with the stub and md5, live is fine
+ @Override
public void testMetadata() {
- // TODO
- }
-
- @Test(enabled = false)
- // problem with the stub and md5, live is fine
- public void testPutObject() throws Exception {
- // TODO
+ throw new SkipException("Atmos cannot overwrite blob when Content-MD5 is set");
}
@Override
[09/11] jclouds git commit: Address Checkstyle violation
Posted by ga...@apache.org.
Address Checkstyle violation
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/63e64505
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/63e64505
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/63e64505
Branch: refs/heads/2.0.x
Commit: 63e64505b2e897479c95d1982037fed82824d991
Parents: c61e8bc
Author: Andrew Gaul <ga...@apache.org>
Authored: Mon Oct 30 18:14:52 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:35 2017 -0800
----------------------------------------------------------------------
.../src/main/java/org/jclouds/atmos/blobstore/AtmosBlobStore.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/63e64505/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 ca84fe8..83079b3 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
@@ -16,7 +16,6 @@
*/
package org.jclouds.atmos.blobstore;
-import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.atmos.options.PutOptions.Builder.publicRead;
[11/11] jclouds git commit: JCLOUDS-1358: Handle 0-byte input with v4
signature
Posted by ga...@apache.org.
JCLOUDS-1358: Handle 0-byte input with v4 signature
Previously this failed due to use of mark and reset on the
InputStream.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/b7b67a0f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/b7b67a0f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/b7b67a0f
Branch: refs/heads/2.0.x
Commit: b7b67a0f6ab5d4dd0266abc3a3d59961c29e0267
Parents: 9a30245
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue Nov 21 11:36:11 2017 -0800
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 20:15:25 2017 -0800
----------------------------------------------------------------------
.../org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/b7b67a0f/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
index 258c3a7..2a1a290 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
@@ -169,8 +169,7 @@ public class Aws4SignerForAuthorizationHeader extends Aws4SignerBase {
protected String getPayloadHash(HttpRequest request) {
Payload payload = request.getPayload();
- if (payload == null) {
- // when payload is null.
+ if (payload == null || "0".equals(getContentLength(request))) {
return getEmptyPayloadContentHash();
}
return calculatePayloadContentHash(payload);
[06/11] jclouds git commit: Add parent to system metadata
Posted by ga...@apache.org.
Add parent to system metadata
Previously this caused spurious test failures.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/48a8400c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/48a8400c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/48a8400c
Branch: refs/heads/2.0.x
Commit: 48a8400c3fb6302bea0121e5c5f476bbb0c56d1a
Parents: 17c8e31
Author: Andrew Gaul <ga...@apache.org>
Authored: Sat Oct 28 11:06:38 2017 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Nov 24 19:25:35 2017 -0800
----------------------------------------------------------------------
.../org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/48a8400c/apis/atmos/src/main/java/org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java b/apis/atmos/src/main/java/org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java
index 615e68f..3615e56 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/functions/ParseUserMetadataFromHeaders.java
@@ -38,6 +38,7 @@ import com.google.common.collect.Maps;
public class ParseUserMetadataFromHeaders implements Function<HttpResponse, UserMetadata> {
private static final Set<String> SYS_KEYS = ImmutableSet.of(
"atime", "ctime", "gid", "itime", "mtime", "nlink",
+ "parent",
"policyname", "size", "uid", "content-md5", "objectid", "objname", "type");
public UserMetadata apply(HttpResponse from) {