312 Commits

Author SHA1 Message Date
Adrian Cole
100d43360a JCLOUDS-150 clear remaining async stuff from aws 2014-10-05 22:32:27 -07:00
Adrian Cole
044223efcb Rather than rely on or work around JRE behavior based, lock S3ClientMockTest using OkHttp. 2014-10-05 20:14:45 -07:00
Adrian Cole
99e217b720 Move off confusing test names. 2014-10-05 17:22:18 -07:00
Adrian Cole
cacc986dc4 JCLOUDS-40 Remove AsyncBlobStore references from s3 api 2014-10-05 13:18:12 -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
58438d7d1e Address Checkstyle violations 2014-09-04 17:24:27 -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
195998b3b6 Miscellaneous FindBugs fixes 2014-08-30 14:33:10 -07:00
Andrew Gaul
df996f3231 Set Content-MD5 only if ETag has correct format
Previously this check was more lenient than it should have been.
2014-08-28 21:50:57 -07:00
Andrew Gaul
1b824afbfc Remove redundant modifiers from interfaces 2014-08-26 17:34:13 -07:00
Andrew Gaul
480f0e883d Prevent instantiation of utility classes
Also prevent extension.
2014-08-26 12:23:36 -07:00
Andrew Gaul
80a4430035 JCLOUDS-679: Use HEAD for S3 bucketExists
This method costs 0.4 cents per 10,000 requests instead of 0.5 cents
per 1,000 requests:

http://aws.amazon.com/s3/pricing/

API reference:

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html
2014-08-20 12:44:20 -07:00
Jeremy Daggett
e711275fb1 Prefer isEmpty() for collections rather than size() 2014-08-20 11:07:48 -07:00
Andrew Gaul
95cfc0d950 JCLOUDS-653: Address Guava 18 deprecations
Mostly renaming Objects.toStringHelper to MoreObjects.toStringHelper.
2014-08-08 11:12:21 -07:00
Andrew Gaul
59462747e7 Reset StringBuilder instead of creating new ones
This avoids unneeded garbage, especially during XML parsing.  Replaced
with:

find -name \*.java | xargs sed -i 's/^\( *[^ ]*\) = new StringBuilder();$/\1.setLength(0);/'
2014-08-06 11:22:49 -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 Phillips
eba727fef7 'iso8601DateParseWithOptionalTZ' -> 'iso8601DateOrSecondsDateParse' in DateService
Follow-up to d57bbebe
2014-07-28 12:20:49 -04:00
Shri Javadekar
d57bbebe7e Try iso8601SecondsDateParse if iso8601DateParse fails.
S3 compatible blobStores sometimes return date in the format:
"2014-07-23T20:53:17+0000" instead of the more common
"2014-07-23T18:09:39.944Z". This caused jclouds to barf with an
IllegalArgumentException.

This commit tries to parse both the formats for S3. The exception
is thrown if both fail.

Added unit tests for the same.
2014-07-26 22:19:54 -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
05c37c2c77 Consistently use Square's mockwebserver
Google mockwebserver merged into OkHttp as per:

https://code.google.com/p/mockwebserver/
2014-07-03 14:39:07 -04: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
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
67c2b5f6b9 Enable whitespace around Checkstyle rule 2014-05-08 18:31:47 -07:00
Andrew Gaul
2d88f5164e Enforce that all commas have trailing whitespace 2014-05-08 18:28:08 -07:00
Andrew Bayer
c1ee11d9bd Updating to 1.8.0-SNAPSHOT 2013-12-17 11:31:56 -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
cb98a47173 Correct jcloud -> jclouds typos
Corrected with:

find -name pom.xml | xargs sed -i 's/jcloud\>/jclouds/'
2013-12-01 11:21:26 -08:00
Andrew Gaul
6c5effcdb1 Address error-prone empty statement warnings 2013-11-05 16:22:44 -08:00
Andrew Gaul
17ce72794c Enable RedundantModifier for Checkstyle 2013-10-31 10:23:30 -07:00
Niraj Tolia
53146fb7bb [JCLOUD 301]: Make increased use of Invokable params cache
This patch moves the Invokable Parameter cache to Reflection2 and adds
a convenience method for it to allow it to be shared by multiple
callers. The subsequent ability of S3Utils to use this cache results
in a ~40% improvement in performance for generating signed GETs and
PUTs for S3. This commit also converts a few others calls to
Invokable.getParameters() but the observed benefit from those was
small in microbenchmarks.
2013-10-14 17:44:03 -07:00
Andrew Gaul
f1fc63ab76 Add whitespace around keywords and braces 2013-09-30 09:39:29 -07:00
Andrew Gaul
06b8cd7ac5 JCLOUDS-305. Disable S3 virtual host buckets for generic S3
Not all S3-compatible providers support virtual host buckets and thus
we should disable this feature by default.  Continue to enable virtual
host buckets for AWS-S3 which supports this although this feature
suffers from DNS settling issues.  Ran ran integration tests against
AWS-S3 and Scality using its S3 API.
2013-09-27 16:22:42 -07:00
Niraj Tolia
e8ef5c0665 [JCLOUDS-301] Reduce reflection overhead of Invokable.getParameters()
By caching the results from Invokable.getParameters(), this commit
improves request signing performance (GETs and PUTs) for S3 by >
3X. These performance problems were seen in production and diagnosed
using the YourKit profiler.
2013-09-27 07:49:09 -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
15d9abead0 Skip testDirectory on S3
This test cannot succeed due to the way directories are implemented as
prefix pseudo-files in S3.
2013-08-27 23:01:04 -07:00
Andrew Phillips
f6b5b67b5b JCLOUDS-200: Consolidate all feature-specific in the AWS provider
Follow-up to c64c7423
2013-07-26 15:03:12 -04:00
Diwaker Gupta
c64c7423cd AWS-S3 configurable temporary signed URL support
Introduces AWSS3BlobRequestSigner, which reuses the
RequestAuthorizeSignature filter for most of the heavy lifting.
Other implementation details based on [1].

Tested with AWSS3BlobSignerLiveTest, in particular,
testSign(Get|Put)UrlWithTime.

Closes JCLOUDS-200

[1] http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html
2013-07-24 15:22:45 -07:00
Andrew Bayer
75385ee57d JCLOUDS-100. Add AWSServerErrorRetryHandler, with an increased back
off time.
2013-06-17 16:48:15 -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
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
fff2fa6e05 Address Checkstyle violations
This commit requires temporarily disabling some checks.
2013-04-17 16:21:21 -07:00
Andrew Phillips
282f3e2a37 Trying to get the test to *pass* now 2013-04-10 13:04:44 +02:00
Andrew Phillips
52301e0a86 Fixing S3ClientMockTest hanging on Java 7 since 843ed57 2013-04-10 12:03:34 +02:00
adriancole
f56da43db1 deprecated blobstore interfaces that imply complex internal code 2013-04-09 14:37:34 -07:00