Andrew Gaul
49d7d9d3b7
Reorder list option handling for local blobstores
...
We should apply the prefix first, recursive second, marker third, and
max keys last. Also add some fixes to pass delimiter tests.
2015-01-22 11:37:46 -08:00
Andrew Gaul
da3e7463fd
Add more tests for delimiter, prefixes, and marker
...
s3-tests uncovered interactions between these options which existing
tests do not exercise.
2015-01-22 11:37:46 -08:00
Ka-Hing Cheung
3cabb196ce
fix usermetadata check on OS X
...
Java on OS X does not support extended attributes, which the
filesystem blobstore uses to implement user metadata. This disable
the relevant test on OS X
2015-01-20 17:33:22 -08:00
Andrew Gaul
0512fc6e35
Add @Nullable attribute to BlobStore methods
...
blobMetadata and getBlob return null when a blob does not exist and
callers should check for this.
2015-01-16 15:06:16 -08:00
Andrew Gaul
9542fa5d31
Do not check object counts in multi-part tests
...
Some providers, e.g., GCS and Swift, create multi-part blobs with a
manifest pointing to other blobs. Thus a container will have
additional objects in its listing.
2015-01-16 05:45:27 -08:00
Andrew Gaul
8c5391505d
JCLOUDS-805: Allow overriding addContentMetadata
...
For symmetry with checkContentMetadata.
2015-01-16 05:12:00 -08:00
Andrew Gaul
58612bc473
Expand pagination test and enable for Atmos
...
Tested against atmos, aws-s3, azureblob, filesystem,
google-cloud-storage, rackspace-cloudfiles-us, and transient.
2015-01-12 17:43:42 -08:00
Andrew Gaul
fae097e144
JCLOUDS-654: Add object size to StorageMetadata
...
This allows callers to read the content length during container
listing. Tested against: atmosonline, aws-s3, azureblob, filesystem,
and transient. Intentionally not implemented for legacy swift
provider.
2015-01-09 22:34:56 -08:00
Andrew Gaul
91c47bfd92
JCLOUDS-801: Add portable multipart upload tests
...
Exercise both repeatable and non-repeatable payloads. Tested against
AWS-S3, Azure, and legacy Swift. Skipped on all other providers.
2015-01-09 21:59:25 -08:00
Ka-Hing Cheung
b7ab8b18a0
support directory blobs
...
make the filesystem blob store distinguish between a/ and a. a/
must be a directory blob with no content and only metadata
on listing, only directories with md5 attribute is considered a
blob and returned
2015-01-09 16:28:16 -08:00
Andrew Gaul
77eaa2c1f9
Add container creation date to local blobstores
2015-01-09 14:10:33 -08:00
Jeremy Daggett
d3c1e2eab4
Use AutoService to generate service loader metadata
2015-01-09 11:22:12 -08:00
Andrew Gaul
d6d06b71f4
Handle listing with marker after the last key
...
Also handle zero maxResults. Found with Ceph s3-tests and s3proxy.
2015-01-08 16:28:02 -08:00
Adrian Cole
8d0c7f9a6c
JCLOUDS-534 Folded overly explicit use of HostAndPort, which is also incompatible with guava 16.
2014-10-29 17:01:26 -07:00
Adrian Cole
177fd6d37f
Do not require Guava ByteSource in order to create a payload.
2014-10-29 10:20:39 -07:00
Adrian Cole
1702bddffa
Revert "Replace uses of ByteArrayPayload"
...
This reverts commit bd5b6853ee
.
2014-10-29 10:20:38 -07:00
Adrian Cole
2933a78a6b
Revert "Prefer ByteSource payload"
...
This reverts commit 0e3d1475ab
.
2014-10-25 10:29:22 -07:00
Adrian Cole
0a801d2ad2
Revert "JCLOUDS-652: Require JDK 7"
...
This reverts commit 5e8bd02c93
.
2014-10-25 10:28:34 -07:00
Adrian Cole
b9525a0877
JCLOUDS-40 unasync Fallback
2014-10-06 13:14:59 -07:00
Andrew Phillips
ffc0df11c9
Restoring BlobStoreUtils.parseDirectoryFromPath
...
Removed in 56a2a8b
but used in downstream repos, e.g. jclouds-karaf
2014-10-06 09:50:24 -04:00
Adrian Cole
99e217b720
Move off confusing test names.
2014-10-05 17:22:18 -07:00
Adrian Cole
a4e3c1a2f8
JCLOUDS-40 Remove AsyncBlobStore
2014-10-05 13:17:54 -07:00
Adrian Cole
56a2a8bf4a
JCLOUDS-40 Remove internal usage of AsyncBlobStore.
2014-10-05 08:49:54 -07:00
Adrian Cole
dfb583b67a
JCLOUDS-40 remove all implementations of AsyncBlobStore except Submission in preparation for complete removal.
2014-10-05 08:49:38 -07:00
Adrian Cole
b6497556f6
JCLOUDS-150 add SubmissionAsyncBlobStore; unasync s3 and aws-s3
2014-10-03 13:18:29 -07:00
Andrew Gaul
0e3d1475ab
Prefer ByteSource payload
...
Also use randomByteSource for test input.
2014-09-09 15:32:39 -07:00
Andrew Gaul
bd5b6853ee
Replace uses of ByteArrayPayload
...
Prefer ByteSourcePayload which offers a superset of its functionality.
Note that ByteArrayPayload implicitly set the contentLength while
users of ByteSourcePayload must do so explicitly.
2014-09-07 07:43:14 -07:00
Andrew Gaul
0b89b1fd10
Ensure that Content-MD5 has 128 bits
...
Update many tests Content-MD5 headers and ETag responses.
2014-09-04 16:57:48 -07:00
Andrew Gaul
34cfdbe266
Enforce Override annotation via Checkstyle
...
Also remove bogus inheritDoc on base and static methods.
2014-08-31 19:37:50 -07:00
Andrew Gaul
550018a68d
Use randomByteSource to generate test data
...
This avoids buffering the entire bolus of data in-memory.
2014-08-27 15:59:36 -07:00
Andrew Gaul
60e3763999
Throw ContainerNotFoundException from removeBlob
...
This makes removeBlob consistent with all other user-facing methods.
2014-08-21 16:18:12 -07:00
Jeremy Daggett
e711275fb1
Prefer isEmpty() for collections rather than size()
2014-08-20 11:07:48 -07:00
John Walker
e5283df995
JCLOUDS-676: Fix reflection warnings / Clojure
...
JCLOUDS-676: Fix reflection warnings / Clojure
Also fixed a typo in a doc string
2014-08-17 12:03:30 -07:00
Andrew Gaul
20bc145284
JCLOUDS-650: ContainerNotFoundException on putBlob
...
Found with Ceph s3-tests and s3proxy.
2014-08-09 00:25:10 -07:00
Andrew Phillips
e3d9851216
Up to 2.0.0-SNAPSHOT after the 1.8.0 release
2014-08-05 09:10:24 +02:00
Andrew Gaul
9c82ded343
Correct comment
2014-07-27 21:25:35 -07:00
Andrew Gaul
7f31cd6051
Handle possibly null message from IOException
2014-07-27 19:41:45 -07:00
Andrew Gaul
1e1eb5a092
Add deleteContainerIfEmpty to BlobStore
...
This matches how most blobstores operate: delete container is a single
operation, not a compound operation which recursively deletes blobs.
Azure is the only provider which allows deleting a non-empty
container.
2014-07-25 23:02:39 -07:00
Andrew Phillips
5732bdcd94
Escaping regex special chars (esp. '\') in delimiter matching
...
Uncovered by 370194b
2014-07-22 13:35:52 -04:00
Andrew Gaul
f17c876d8d
Replace const.txt file input with synthetic inputs
...
This commit replaces file resource-based test inputs with in-memory
equivalents. This is more consistent and efficient than the previous
approach. Also resized some test inputs to be partSize + 1 instead of
2 * partSize. Tested against aws-s3, blobstore, core, cloudfiles-us,
and filesystem.
2014-07-19 18:35:25 -07:00
Andrew Gaul
dd3dc9790e
Close streams in integration tests
...
Also remove bogus delete workaround. Previously unclosed
FileInputStream caused test failures on Windows which cannot delete
open files. Found with Kohsuke's file-leak-detector.
2014-07-19 05:25:20 -07:00
Andrew Gaul
fb60d76704
JCLOUDS-622: Remove most vestiges of InputSupplier
...
Guava 16 deprecated InputSupplier and a future release will remove it.
2014-07-16 16:07:59 -07:00
Andrew Gaul
a8b106c2bb
JCLOUDS-622: remove calls to InputSupplier methods
...
Guava 16 deprecated these methods and Guava 18 will remove them.
2014-07-15 03:09:58 -07:00
Andrew Gaul
75928795f3
Address Checkstyle violations
2014-07-15 03:07:29 -07:00
Andrew Gaul
bdb5cbcbe7
Improve use of ByteSource with test resources
...
This commit ensures proper resource cleanup, simplifies
initialization, and paves the way for purely synthetic inputs in a
subsequent commit.
2014-07-11 09:10:51 -07:00
Andrew Gaul
cf830af4d2
Remove unneeded InputSupplier helper
...
Also convert byte[] to HashCode.
2014-07-10 22:36:32 -07:00
Andrew Gaul
f4eca0422d
Enforce correct MD5 for local blobstores
...
Matches behavior of real blobstores.
2014-07-10 22:19:42 -07:00
Andrew Gaul
66dab8d96e
JCLOUDS-410: Remove InputStreamSupplierPayload
...
ByteSourcePayload replaces this. jclouds 1.7 deprecated
InputStreamSupplierPayload and Guava 16 deprecated InputSupplier
itself.
2014-07-10 20:43:08 -07:00
Andrew Gaul
8fa209b15e
Use more specific testng asserts where possible
...
These asserts yield more informative error messages. Found with:
grep -rI 'assertTrue(.* =='
grep -rI 'assertTrue(.* !='
grep -rI 'assertTrue(.*\.equals('
2014-06-24 13:54:01 -07:00
Chris Custine
309c053c77
JCLOUDS-584: HP Cloud Object Storage Fixes for 13.5
2014-06-24 12:01:51 -07:00
Andrew Gaul
e799a7409c
JCLOUDS-597: HashCode methods for Content-MD5
...
This works more naturally with Guava Hashing methods and immutability
provides better safety guarantees. Also deprecate existing byte[]
methods.
2014-06-12 15:29:17 -07:00
Andrew Gaul
9cdd53b0b7
JCLOUDS-546: Remove Javadoc @author annotations
...
Annotations removed with:
find -name \*.java | xargs sed -i /@author/d
Empty Javadoc removed with multiple iterations of:
find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:44:54 -07:00
Andrew Gaul
da8517f295
Increase timeouts for signed URL tests
...
Clock skew between the client and blobstore can cause these tests to
spuriously fail. This commit allows 5 seconds skew in either
direction.
2014-05-30 14:58:40 -07:00
Andrew Gaul
2342abd3c5
Address Checkstyle violations
2014-05-30 11:10:14 -07:00
Andrew Gaul
186f052022
Remove BlobBuilder and Payloads.calculateMD5
...
Callers should instead explicitly set contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers. Further it removes a dangerous
rebuffering of arbitrarily-large non-repeatable Payloads.
2014-05-28 12:54:18 -07:00
Andrew Gaul
c6d4e6645c
JCLOUDS-402: Allow Guava MediaType Content-Type
...
This promotes type-safety. Keep the String interface for unknown
content types.
2014-05-28 11:45:00 -07:00
Andrew Gaul
70cf3e1f7c
Make constants final classes instead of interfaces
...
This commit prohibits implementation of the empty interface and
instantiation of the class. Refer to _Effective Java_ item 19 for
more background.
2014-05-16 09:45:52 -07:00
Andrew Gaul
8d51ad6f87
Prefer Guava HttpHeaders over JAX-RS
...
jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.
2014-05-15 01:55:51 -07:00
Andrew Gaul
7f28dcef07
Remove deprecation from getConsistencyModel
...
This method informs callers of the expected blobstore behavior,
avoiding unnecessary work for providers which support strict
consistency (Azure, mock blobstores).
2014-05-09 13:20:42 -07:00
Andrew Gaul
2d88f5164e
Enforce that all commas have trailing whitespace
2014-05-08 18:28:08 -07:00
Andrew Gaul
a45124c51a
JCLOUDS-505: Remove unused ObjectMD5
...
The only users of this seem to be
org.jclouds.atmos.blobstore.strategy.FindMD5InUserMetadata and
org.jclouds.azureblob.blobstore.strategy.FindMD5InBlobProperties which
are themselves unused.
2014-05-07 10:16:18 +02:00
Shri Javadekar
c6cb169dee
Creating a separate function to delete directories
...
Small refactoring to reuse some code.
2014-04-22 11:22:13 +02:00
Andrew Gaul
d0bd30cc15
Address several Guava InputSupplier deprecations
...
Many remain due to Payload implementing InputSupplier<InputStream>. Guava 18
will remove InputSupplier.
2014-04-12 12:02:26 -07:00
Shri Javadekar
655aa444d7
JCLOUDS-510 Delete objects in a container efficiently.
...
The existing approach for deleting objects in a container suffers
from a head-of-line blocking problem. This commit implements a better
scheme which does not have that problem. This scheme uses a counting
semaphore for making sure that a certain number of futures are
issued in parallel. As each of these futures is completed, one
permit of the semaphore is released.
Added unit tests for testing this new scheme.
2014-03-26 13:48:28 -07:00
Andrew Gaul
d7e0b3b10c
Remove WriteTo
...
Guava helpers capture this functionality in a more idiomatic way.
2014-02-21 17:13:31 -08:00
Andrew Gaul
9a1aae8cfc
JCLOUDS-410: Remove StreamingPayload
...
Only two tests use this class. Callers should use ByteSourcePayload
or InputStreamPayload instead.
2014-02-19 21:27:31 -08:00
Andrew Gaul
f5c9a72243
Add ByteSource Payload support for Clojure
2014-02-19 21:09:55 -08:00
Andrew Gaul
266d7f847b
Prefer ByteSource over deprecated InputSupplier
2014-02-18 22:35:10 -08:00
Andrew Gaul
9416416ff4
Address Checkstyle violations
2014-01-19 20:51:51 -08:00
Andrew Gaul
c7b0f66544
Replace calls to Closeables.closeQuietly
...
Guava 16 removes this API. Replace with Closeables2.closeQuietly.
References JCLOUDS-413 and JCLOUDS-415.
2013-12-21 12:30:59 -08:00
Andrew Bayer
c1ee11d9bd
Updating to 1.8.0-SNAPSHOT
2013-12-17 11:31:56 -08:00
Andrew Gaul
d25e972344
JCLOUDS-401. Make BlobName Function type-safe
2013-12-16 15:04:14 -08:00
Andrew Gaul
ac06e32e72
JCLOUDS-399: Deprecate BlobBuilder.calculateMD5
...
Callers should instead call BlobBuilder.contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers.
2013-12-16 13:40:38 -08:00
Andrew Gaul
e48d4985ea
JCLOUDS-410. Add support for ByteSource Payloads
...
Also deprecate byte[], File, InputSupplier<InputStream>, and String
Payloads. Callers should instead provide a ByteSource via
ByteSource.wrap(byte[]) and Files.asByteSource(File)
2013-12-16 13:06:30 -08:00
Andrew Gaul
ac1f05ffac
Remove unneeded calls to ByteSources.asByteSource
2013-12-15 22:57:32 -08:00
Andrew Gaul
828d8790c2
Enforce no unused imports via Checkstyle
...
Removed with:
mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | while read i; do echo $i | sed -n 's/\([^:]*\):\([^:]*\):.*/sed -i \2d \1/p' | bash; done
2013-12-11 17:27:43 -08:00
Andrew Gaul
4cef85d1cd
Address Checkstyle violations in tests
2013-12-09 14:40:07 -08:00
Andrew Gaul
6c5effcdb1
Address error-prone empty statement warnings
2013-11-05 16:22:44 -08:00
Zack Shoylev
cb9a6b9413
Reduces parallelism to make test work better with slower connections Adjusts test timing to work properly and reliably
2013-10-30 10:33:15 -05:00
Andrew Phillips
f196ee3b6b
Move Expect: 100 stripping after asserts against the request
...
Follow-up to e30f86521
2013-10-19 20:05:42 -07:00
Andrew Gaul
e30f865215
Work around CloudFiles test failures
...
Java helpfully interprets Expect: 100-continue instead of returning
the response code. This commit reverts
100afba1d8
.
2013-10-17 13:08:02 -07:00
Zack Shoylev
7593935380
JCLOUDS-332 Skips tests broken on windows
2013-10-08 15:07:35 -05:00
Andrew Gaul
7d20658b02
JCLOUDS-334. Return URI only if container created
...
This allows us to honor the BlobStore.createContainerInLocation
interface and gives consistency with other providers.
2013-10-08 13:03:55 -07:00
Andrew Gaul
f1fc63ab76
Add whitespace around keywords and braces
2013-09-30 09:39:29 -07:00
Andrew Gaul
5f8961723f
Remove BlobStore Map abstractions
...
These provide little end-user benefit and make evolving the core API
more difficult. We deprecated these in 1.6.0.
2013-09-25 20:46:31 -07:00
Andrew Gaul
94452a97cd
Skip unimplemented test with transient blobstore
2013-09-16 02:48:57 -07:00
Andrew Gaul
6cc8e36f43
Add test for correct and incorrect contentMD5
...
Tested against atmos (skipped), aws-s3, azureblob, cloudfiles-us, and
filesystem (skipped).
2013-09-11 16:10:45 -07:00
Andrew Gaul
8bdded3222
Delete containers after integration tests
...
Also return newly allocated containers to the pool.
2013-09-09 16:47:40 -07:00
Andrew Gaul
0d6ef06076
Reduce testFileGetParallel input size to ~160 KB
...
Previously this test downloaded 45 MB in 30 seconds which failed on
slower connections, causing spurious test failures. The larger input
size provides no benefit.
2013-09-04 19:49:46 -07:00
Andrew Gaul
3ad6b275d4
Run some filesystem integration tests
...
Previously no integration tests ran, now we see:
Tests run: 43, Failures: 0, Errors: 0, Skipped: 8
2013-09-04 13:26:46 -07:00
Andrew Gaul
e27ae6117c
Reduce testPutFileParallel input size to ~160 KB
...
Previously this test uploaded ~10 MB in 30 seconds which failed on
slower connections, causing spurious test failures. The larger input
size provides no benefit.
2013-09-02 19:33:15 -07:00
Andrew Gaul
607b178c6b
Simplify testPutFileParallel
...
Create only one temporary file and use explicit delete instead
finalization to remove it.
2013-08-27 23:06:18 -07:00
Andrew Gaul
4ca531aa98
Allocate new container name using prefix
...
Before we used the previous container name, which kept appending and
hit S3 limits during integration tests like:
Caused by: java.lang.IllegalArgumentException: Object 'gaul-blobstore27-4348532805015069992-1155797412711190448-1465016400636204031' doesn't match S3 bucket virtual host naming convention. Reason: Can't be null or empty. Length must be 3 to 63 symbols.. For more info, please refer to http://docs.amazonwebservices.com/AmazonS3/latest/index.html?BucketRestrictions.html
2013-08-27 23:02:55 -07:00
Andrew Gaul
d387a25113
Enforce a non-negative content length
2013-08-26 20:20:49 -04:00
Francis Devereux
d60d2681d1
JCLOUDS-251: Swift: Delete chunks when deleting a multipart blob
...
Also:
- Make SwiftBlobIntegrationLiveTest.testMultipartChunkedFileStream more realistic by uploading a file large enough to be split into parts.
- JavaDoc fixes for SwiftBlobStore: don't reference nonexistent methods.
2013-08-25 10:20:22 -05:00
Andrew Gaul
1a6be0eb67
Do not repeat array type in initializers
2013-06-18 21:02:50 -07:00
Andrew Gaul
86147cd961
Remove AsyncBlobStore from DeleteAllKeysInList
...
We deprecated AsyncBlobStore in 1.6.0. Subsequent commits will
require the caller to provide an ExecutorService.
2013-06-05 10:41:55 -07:00
Andrew Gaul
64e9a4e4c6
Remove Strings2.replaceAll(String, char, String)
...
String.replace(String, String) serves this purpose better.
2013-06-03 14:41:18 -07:00
adriancole
ed2f18a1af
JCLOUDS-31. updated to ASF headers via mvn com.mycila.maven-license-plugin:maven-license-plugin:format
2013-05-16 21:30:37 -07:00
adriancole
fa10fc4838
JCLOUDS-31. remove malformed, duplicate, or unnecessary headers
2013-05-16 21:30:32 -07:00
Andrew Bayer
7923009eb5
JCLOUDS-37. Fix RAT violations in incubator-jclouds, master branch
2013-05-13 19:17:50 -07:00
Andrew Bayer
446ac67884
JCLOUDS-30. Switch to 2 space indents for POM files.
2013-05-13 12:04:43 -07:00
Andrew Bayer
259b04ff1c
JCLOUDS-16. Switch groupId to org.apache.jclouds, change parent POM, remove old distributionManagement content, add ASF repos.
2013-05-13 12:04:42 -07:00
Andrew Gaul
04fad88fd3
Remove duplicate Utils getters
...
Rename callers as required.
2013-04-12 16:24:37 -07:00
adriancole
fbe9f945e7
rename bindMappedApi -> bindSyncToAsyncApi
2013-04-10 08:57:32 -07:00
adriancole
61067d3683
Deprecated remaining code related to RestContext, RestApiMetadata, and RestClientModule for ApiContext, HttpApiMetadata, HttpApiModule
2013-04-09 22:07:43 -07:00
adriancole
f56da43db1
deprecated blobstore interfaces that imply complex internal code
2013-04-09 14:37:34 -07:00
Andrew Gaul
648e6c2a8a
Remove InputSuppliers.of(InputStream)
...
This method breaks the contract of an InputSupplier since every call
to getInput returns the same InputStream instance. This is
particularly dangerous when one of the callers mutates or closes the
InputStream which causes all others callers to fail.
2013-04-03 13:19:42 -07:00
Andrew Gaul
15f4d041b4
Parameterize max errors for clear container
...
Also use setter injection for max request time.
2013-03-29 13:36:57 -07:00
Andrew Gaul
371db8d18f
Address Xlint warnings
2013-03-13 22:23:19 -07:00
Adrian Cole
fb69ae0fa9
bump master to 1.7.0-SNAPSHOT
2013-03-08 23:02:40 -08:00
adriancole
c31145e42e
[maven-release-plugin] prepare for next development iteration
2013-03-04 06:13:59 -08:00
adriancole
0eb3ee8091
[maven-release-plugin] prepare release jclouds-1.6.0-alpha.4
2013-03-04 06:13:57 -08:00
Adrian Cole
941612ad09
add name to blobs in BlobMap tests
2013-03-02 09:16:26 -08:00
Andrew Gaul
faf6b2f39e
Prohibit null and empty blob names in BlobBuilder
2013-02-27 11:36:29 -08:00
Andrew Gaul
ec4cdfda05
Address FindBugs complaints
2013-02-22 09:29:22 -08:00
Andrew Gaul
b51ce5994a
Expose resource creation date
2013-02-18 11:26:44 -08:00
Andrew Gaul
3734fe8100
Replace unneeded Function with imperative approach
...
The latter is more concise, faster, and compact. .class size in bytes
before:
LocalAsyncBlobStore$5.class 1883
LocalAsyncBlobStore.class 20743
and after:
LocalAsyncBlobStore.class 21041
2013-02-05 10:20:24 -08:00
adriancole
89fda8ee28
[maven-release-plugin] prepare for next development iteration
2013-02-04 17:30:46 -08:00
adriancole
2b0ad28f26
[maven-release-plugin] prepare release jclouds-1.6.0-alpha.2
2013-02-04 17:30:44 -08:00
adriancole
267069755e
[maven-release-plugin] prepare for next development iteration
2013-02-02 08:41:53 -08:00
adriancole
7c924b312f
[maven-release-plugin] prepare release jclouds-1.6.0-alpha.1
2013-02-02 08:41:51 -08:00
adriancole
40d9f8bfe7
changes that facilitate synchronous fallbacks and http invocation
2013-01-29 04:09:45 -08:00
Andrew Gaul
60a7d1b4f8
Call BlobUtils.clearContainer directly
...
BaseAsyncBlobStore.clearContainer returns a Future which we previously
did not manage correctly, hanging when deleting non-existent
containers. Call BlobUtils.clearContainer directly to address this.
2013-01-23 22:27:18 -08:00
Andrew Gaul
bd7300ad92
Dynamically generate base blobstore input
...
This removes a single large image from the source tree.
2013-01-22 10:57:14 -08:00
Andrew Gaul
af963df92d
Use Map.entrySet where possible
...
Improves run-time efficiency and addresses FindBugs warnings.
2013-01-21 23:59:42 -08:00
Adrian Cole
b890e1d36b
Merge pull request #1218 from maginatics/delete-container-skip-exponential-backoff
...
Skip exponential backoff if we exceed maxErrors
2013-01-21 19:59:44 -08:00
Andrew Gaul
25b012587d
Skip exponential backoff if we exceed maxErrors
2013-01-21 18:22:41 -08:00
Adrian Cole
37e587ee51
changes related to centralizing construction of invokables
2013-01-19 17:17:30 -08:00
Adrian Cole
4980367991
centralize TypeToken creation
2013-01-19 11:31:55 -08:00
adriancole
dc4ca1efbd
removed deprecated methods which were easy to do
2013-01-19 08:32:45 -08:00
adriancole
04fe89b75a
update to guava 14.0-rc2
2013-01-18 16:02:25 -08:00
Adrian Cole
a49a060152
There can be only one retryable predicate; use Predicates2.retry decorator
2013-01-13 20:30:34 -08:00
Adrian Cole
3962b30808
updated to use standard guava Futures and ListenableFuture
2013-01-13 09:31:10 -08:00
Adrian Cole
015fbf22a2
removed redundant retrying assertion code
2013-01-12 14:04:47 -08:00
Adrian Cole
47c215c63c
removed custom guava code for scoped binding and type params
2013-01-08 22:48:10 -08:00
Adrian Cole
2480481835
dependent changes on tests and internal classes
2013-01-08 00:32:45 -08:00
Adrian Cole
3089111621
refactored internal code and tests to use FunctionalReflection
2013-01-07 00:36:31 -08:00
Adrian Cole
42c7037a59
removed unused code or duplicated code; moved code only used once to where its used
2013-01-01 00:08:34 -08:00
Adrian Cole
9745e9dc2f
fixed covariance and warnings on ApiMetadata subclasses
2012-12-31 19:40:49 -08:00
Adrian Cole
bb953c981e
fix issue #1101 : Move to Guava 14 BaseEncoding and Hashing
2012-12-31 14:48:31 -08:00
Adrian Cole
cddd35bc51
removed unnecessary generic types and made RestAnnotationProcessor immutable
2012-12-30 23:18:59 -08:00
Adrian Cole
2523ab54ac
removed use of static fields to share type mapping info
2012-12-30 17:22:03 -08:00
Adrian Cole
13d8b9c402
replaced @Timeout w/explicit properties
2012-12-30 12:31:43 -08:00
Adrian Cole
9b1872c6ff
removed custom code that duplicates functionality of guava fallbacks
2012-12-27 16:54:31 -08:00
Andrew Gaul
60d61ceb91
Add more logging to DeleteAllKeysInList
...
This allows monitoring of progress of long deletes via debug logs.
2012-12-26 21:27:13 -08:00
Adrian Cole
20c3426fc8
replaced jersey w/Uris & UriTemplates; removed complexity in url encoding and edge cases like matrix params
2012-12-24 14:32:59 -08:00
Everett Toews
3d83d788af
Fixed issue where an Accept header is required when doing HEAD requests to Cloud Files.
2012-12-14 16:50:47 -06:00
Adrian Cole
878ec1bcab
undid Serializable and added checkstyle InterfaceIsType:allowMarkerInterfaces=false
2012-11-18 09:23:44 -08:00
Andrew Gaul
b16ca139a4
Honor PROPERTY_REQUEST_TIMEOUT in clearContainer
2012-11-13 13:27:18 -08:00
Andrew Gaul
3ad36d25d5
Enforce no unnecessary parentheses via Checkstyle
2012-11-10 13:22:12 -08:00
Adrian Cole
c7c27e12e2
improved javadoc including where to look for alternative syntax
2012-11-07 12:02:52 -03:00
Andrew Gaul
3d191253ec
Enforce use of Collection helpers via Checkstyle
...
This ensures that we do not repeat the type name. Some instances remain
due to auto-generated code in dmtf/cim/Cim*.
2012-11-04 20:45:49 -08:00
Adrian Cole
beb36eac75
Merge pull request #940 from andrewgaul/checkstyle-misc
...
Miscellaneous Checkstyle fixes
2012-11-04 08:50:47 -08:00
Andrew Gaul
38b95f5ad9
Miscellaneous Checkstyle fixes
...
Nothing can extend a byte[] and remove a previous hidden unused import.
2012-11-01 19:11:59 -07:00
Andrew Gaul
76a5538229
Cancel Futures in clearContainer
...
This prevents Futures from hanging around on exceptional code paths like
interrupts and timeouts.
2012-11-01 17:18:38 -07:00
Adrian Cole
5da5161485
Merge pull request #909 from andrewgaul/clear-container-timeout-exception
...
Throw TimeoutException from awaitCompletion
2012-10-30 08:57:20 -07:00
Andrew Gaul
93d69ece2b
Enforce newline at end of file via Checkstyle
...
Also address all warnings, via:
find -name \*.java | while read i; do if [ x`tail -c 1 $i` != x"" ]; then echo >> $i; fi; done
2012-10-29 22:12:44 -07:00
Andrew Gaul
709ca69a2d
Enforce that all imports are used via Checkstyle
...
Also remove all unused imports, via:
mvn checkstyle:checkstyle -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | awk -v FS=: '/warning/{print "sed -i " $2 "d " $1}' | while read i; do $i; done
2012-10-29 17:11:08 -07:00
Andrew Gaul
336ccfa2e6
Throw TimeoutException from awaitCompletion
...
This is a common error that callers should interpret correctly. For
DeleteAllKeysInList, we integrate into its retry and backoff logic,
and for other callers, we continue to propagate RuntimeException.
2012-10-25 13:50:29 -07:00
Andrew Gaul
28d7a6f143
Prefer immutable over empty collections
...
The former does not create an object when calling iterator(), as
discussed here:
https://groups.google.com/d/msg/jclouds-dev/l7BviKDXreA/mP6Ow_RYxIgJ
2012-10-20 15:35:29 -07:00
Adrian Cole
9e8b4756c2
Merge pull request #894 from andrewgaul/files-tostring
...
Prefer Files.toString over FileInputStream
2012-10-11 02:05:46 -07:00
Andrew Gaul
2b8b72758f
Prefer Files.toString over FileInputStream
2012-10-10 21:33:22 -07:00
Andrew Gaul
331c3be2e8
Retry each operation up to maxErrors times
...
Previously we only allowed maxErrors per directory, which tended to
fail with large directories. Also rename counter to something more
intuitive.
2012-10-10 17:54:38 -07:00
Adrian Cole
ffa9cd3bb0
corrected guice bindings for swift-based blob signatures and backfilled expect tests
2012-10-10 12:03:23 +02:00
Andrew Gaul
9f6b9d4d8a
Rename to LocalBlobRequestSigner
...
Missing commit from the Filesystem and Transient unification.
2012-10-07 22:54:03 -07:00
Adrian Cole
a77a80f030
Issue 1092: fix hostname when path-based buckets are used in non-default location
2012-09-25 21:22:17 -07:00
Andrew Gaul
ad87c596d9
Avoid Futures.getUnchecked in DeleteAllKeysInList
...
This masks InterruptedException. We should rework the logic in
execute to unwind the stack on errors; currently we only return from
the leaf method.
2012-09-19 15:54:31 -07:00
Adrian Cole
28d766b9df
bumped to 1.6.0-SNAPSHOT
2012-09-17 01:43:52 -07:00
Andrei Savu
080d142ae1
Generic support for Swift TempUrl middleware
2012-09-16 21:46:51 +03:00
Andrei Savu
327066acd7
Added @Beta annotations on the new methods in BlobRequestSigner
2012-09-11 23:55:21 +03:00
Andrei Savu
49bde19fa0
Add support for Swift TempURL Middleware
2012-09-10 13:45:55 +03:00
Adrian Cole
c7f35d3bb1
removed invalid @Nullable usage and also usage of javax package usage
2012-08-11 20:59:16 -07:00
Andrew Gaul
8ed0e28e68
Spelling corrections
2012-07-26 22:39:35 -07:00
Adrian Cole
92f9cc4c0c
Merge pull request #756 from andrewgaul/reorder-strategy
...
Shuffle strategy methods into consistent order
2012-07-26 17:04:39 -07:00
Andrew Gaul
f5548f3a94
Shuffle strategy methods into consistent order
...
Group by container, blob, and miscellaneous methods. Within these
groups, sort by by exists, getter, setter, and remove. Code movement
only; no functional changes.
2012-07-26 13:52:23 -07:00
Andrew Gaul
ead8748199
Avoid unneeded branch in LocalAsyncBlobStore
2012-07-26 13:44:14 -07:00
Andrew Gaul
6b8a2a73d4
Add missing @Override in TransientStorageStrategy
2012-07-23 13:31:21 -07:00
Andrew Gaul
562f8277d3
Introduce LocalAsyncBlobStore
...
This commit unifies the filesystem and transient blobstores.
2012-07-23 09:20:41 -07:00
Andrew Gaul
756e46333f
Miscellaneous local blobstore cleanups
...
There are no more functional differences between the filesystem and
transient blobstores. This is the last commit before introducing a
unified LocalAsyncBlobStore class.
2012-07-23 08:06:36 -07:00
Adrian Cole
b890765e9e
Merge pull request #738 from andrewgaul/local-blobstore-move-helper-method
...
Move helper method to TransientStorageStrategy
2012-07-23 07:37:30 -07:00
Adrian Cole
d5f9bb3172
Merge pull request #739 from andrewgaul/prefer-valueof
...
Prefer valueOf over explicit object creation
2012-07-22 22:00:09 -07:00
Andrew Gaul
985cccff9a
Prefer valueOf over explicit object creation
...
This allows use of cached values. Patched with:
find -name \*.java | xargs sed -i 's/new Boolean(false)/Boolean.FALSE/g'
find -name \*.java | xargs sed -i 's/new Boolean(true)/Boolean.TRUE/g'
find -name \*.java | xargs sed -i 's/new Boolean(/Boolean.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Integer(/Integer.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Long(/Long.valueOf(/g'
2012-07-22 21:01:46 -07:00
Andrew Gaul
22da88d2ae
Move helper method to TransientStorageStrategy
...
Also move etag generation since we cannot reuse Payloads in the
general case.
2012-07-22 20:02:59 -07:00
Andrew Gaul
0bc5c69a4f
Move copy(MutableBlobMetadata) to BlobStoreUtils
2012-07-22 17:37:18 -07:00
Andrew Gaul
870ed0cdb3
Shuffle blobstore parameters to match superclass
...
Also remove unused injected parameter.
2012-07-19 07:17:02 -07:00
Adrian Cole
70fa74df1a
Merge pull request #731 from andrewgaul/input-supplier
...
Prefer InputSupplier helpers
2012-07-19 04:34:25 -07:00
Andrew Gaul
a40983a39d
Prefer InputSupplier helpers
...
These ensure that inputs are closed properly.
Updated with: find -name \*.java | xargs sed -i
's/toStringAndClose(\(.*\)\.getInput())/toString(\1)/'
2012-07-18 17:42:48 -07:00
Andrew Gaul
a2d5a48f3f
Inject TransientStorageStrategy
...
Remove some unneeded checkNotNull as Guice does not inject null
parameters.
2012-07-18 16:02:07 -07:00
Andrew Gaul
8a9265f015
Tie up odds and ends from LocalStorageStrategy
...
Use LocalStorageStrategy instead of TransientStorageStrategy and
handle IOExceptions. Aso use dummy location in filesystem blobstore.
2012-07-18 09:45:23 -07:00
Andrew Gaul
c30c2c4809
Introduce LocalStorageStrategy
...
This commit will allow eventual unification of the filesystem and
transient blobstores. No functional changes -- rename
FilesystemStorageStrategy to LocalStorageStrategy and implement it in
FilesystemStorageStrategyImpl and TransientStorageStrategy.
2012-07-17 23:11:10 -07:00
Adrian Cole
007eba6d7c
Merge pull request #723 from andrewgaul/filesystem-transient-input-supplier
...
Ensure we close streams via InputSupplier methods
2012-07-17 15:23:47 -07:00
Andrew Gaul
bd5bf0dad2
Ensure we close streams via InputSupplier methods
2012-07-17 11:46:10 -07:00
Andrew Gaul
d89153ed1f
Reduce filesystem and transient differences
2012-07-17 09:50:47 -07:00
Andrew Gaul
02203afb07
Harmonize filesystem and transient putBlob
2012-07-16 22:02:00 -07:00
Adrian Cole
05fd64af44
cleaned up http builders and expect tests
2012-07-15 01:50:38 -07:00
Adrian Cole
74b404eab8
Issue 1008:aws-s3 could not get location for region eu-west-1 error
2012-07-07 17:28:44 -07:00
Andrew Gaul
932b738026
Eliminate unlikely transient blobstore TOCTOU bug
2012-06-19 15:20:39 -07:00
Andrew Gaul
227dbf777a
Correct spelled from delimeter to delimiter
2012-06-14 10:05:13 -04:00
Adrian Cole
92d1f1b471
moved to explicitly adding clojure projects
2012-06-03 17:28:56 -07:00