Commit Graph

1525 Commits

Author SHA1 Message Date
Ignasi Barrera 958d09ecbd JCLOUDS-753: Make ConnectionSpec configurable in the OkHttp driver 2014-12-02 18:17:17 +01:00
Ignasi Barrera 902f1b4105 JCLOUDS-744: Upgrade to OkHttp 2.1.0 and use its native API 2014-11-27 18:44:08 +01:00
Adrian Cole a449b24e7d JCLOUDS-480 support version 4 signatures for aws-ec2. 2014-11-22 08:08:37 -08:00
Adrian Cole 6f974f34b5 JCLOUDS-780 Remove vcloud. 2014-11-17 08:18:39 -08:00
Adrian Cole d8cb6958f0 JCLOUDS-774 cleanup derived location suppliers and backfill test for inconsistent region and zone mappings. 2014-11-16 13:38:48 -08:00
Adrian Cole 90a6bb19f4 Finished partial fix in 91f405c9fe. 2014-11-16 10:37:31 -08:00
Zack Shoylev 91f405c9fe Small cleanup of how RegionToEndpoint checks arguments. 2014-11-13 04:37:07 -06:00
Adrian Cole 4b3fa75a68 Implicitly create a json response parser when using @Transform. 2014-11-10 06:57:45 -08:00
Adrian Cole d8d7b130a3 fixed javadoc typo. 2014-11-02 08:14:45 -08:00
Adrian Cole 45fd59f4b7 JCLOUDS-750 Revert 5b6f1e929e in favor of tighter contract on @SerializedNames. 2014-11-01 10:56:04 -07:00
Adrian Cole 1e35c0fe19 Use type adapter factory to hard-set serialization of Credentials. 2014-10-30 10:02:27 -07:00
Adrian Cole e21cbd09cb JCLOUDS-750 support serializing auto-value types without custom type adapters. 2014-10-30 07:19:01 -07:00
Adrian Cole 0012e6f950 JCLOUDS-534 Avoid runtime incompatibility introduced by Guava's closeQuietly. 2014-10-29 17:01:26 -07:00
Adrian Cole 02801321a2 JCLOUDS-410 note that ByteArrayPayload needs to handle offsets. 2014-10-29 10:20:39 -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 035d9d1ed7 Revert "Remove ByteArrayPayload"
This reverts commit ac22383648.
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
Andrew Phillips ae8b7636df Moving Guava version config into <dependencyManagement>
- Follow-up to c426e7e: allows overriding of the Guava version
  in modules that inherit from core
- Also consolidating dependency versions
2014-10-28 23:16:19 -04:00
Adrian Cole c50e32c116 Accidentally set limited json fallback field naming to an enum. 2014-10-28 00:19:58 -07:00
Andrew Phillips 2a5928b55d Re-adding Reflection2.constructor
Removed in 671749d but used downstream in jclouds-labs
2014-10-26 19:18:39 -04:00
Andrew Phillips c426e7ec24 Extracting Guava version into a property
This allows it to be overridden in CI jobs etc.
2014-10-26 18:31:37 -04:00
Adrian Cole c0e6a2c51c Fixed bug found in docker provider where deserialization constructors don't handle json null. 2014-10-26 12:31:06 -07:00
Adrian Cole 5b6f1e929e JCLOUDS-750 allow apis to bind FieldNamingPolicy, which controls fallback naming policy of serialized fields. 2014-10-26 12:31:06 -07:00
Adrian Cole 0b88dadb8f JCLOUDS-750 Added @SerializedNames which can apply to either a constructor or factory method to capture the corresponding json field names.
Removed wildly confusing mixed naming of constructor params feature.
2014-10-26 12:31:05 -07:00
Adrian Cole 671749d6b7 JCLOUDS-750 Allow abstract value types to be constructed from json using static factory methods. 2014-10-26 12:31:05 -07:00
Adrian Cole f3f8f0e010 JCLOUDS-264 Conditionally allow default http driver to support sending >2GB payloads without chunked encoding. 2014-10-25 10:29:09 -07:00
Adrian Cole 99d54c6631 Revert "JCLOUDS-264: Allow payloads greater than 2 GB"
This reverts commit 7e4cacf9ea.
2014-10-25 10:28:56 -07:00
Adrian Cole 0785d80827 Revert "Remove Java 6 litter"
This reverts commit a10bf3e9c5.
2014-10-25 10:28:46 -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 0339cd2fd0 JCLOUDS-653 revert guava 18. 2014-10-24 10:46:09 -07:00
Adrian Cole 3980cd791b Revert "JCLOUDS-653: Address Guava 18 deprecations"
This reverts commit 95cfc0d950.

Many conflicts due to duration between above commit and now
2014-10-24 10:45:58 -07:00
Andrew Gaul 489850d7db Fix GuiceAssistedInjectScoping error-prone warning 2014-10-12 15:47:30 -07:00
Adrian Cole d735a9fa21 JCLOUDS-40 clear remaining references to Async. 2014-10-12 09:05:35 -07:00
Adrian Cole b9525a0877 JCLOUDS-40 unasync Fallback 2014-10-06 13:14:59 -07:00
Adrian Cole 0a236f59ad JCLOUDS-153 remove IO Executor and usage of it. 2014-10-06 07:56:31 -07:00
Adrian Cole c349753624 JCLOUDS-152 remove RestContext and its dependencies. 2014-10-05 22:32:55 -07:00
Adrian Cole 99e217b720 Move off confusing test names. 2014-10-05 17:22:18 -07:00
Adrian Cole 1a54f0fb09 JCLOUDS-153 Remove deprecated ExecutorService and HttpAsyncClient accessors. 2014-10-05 16:16:28 -07:00
Andrew Gaul 2d70087bfa Add modernizer-maven-plugin to build
This plugin finds uses of legacy APIs:

https://github.com/andrewgaul/modernizer-maven-plugin
2014-09-22 21:57:55 -07:00
Andrew Gaul dc3011469b Prefer Charsets.UTF_8 over string literal
Found with modernizer-maven-plugin.
2014-09-20 18:31:24 -07:00
Jeremy Daggett 9f0b86ec1a JCLOUDS-719: Updgrade to Gson 2.3 2014-09-17 08:52:24 -07:00
Andrew Gaul ac22383648 Remove ByteArrayPayload
Callers should use ByteSourcePayload instead.
2014-09-07 07:43:14 -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 a4bc36dafa Add PayloadEnclosing.setPayload(ByteSource) 2014-09-06 22:27:22 -07:00
Andrew Gaul e1a5c521c5 Improve XML compatibility with trace-level logging
Some providers, notably Azure, include a byte-order mark in their XML
responses.  ParseSax.apply buffers these responses in a String when
users enable trace-level logging to include the response in any thrown
exceptions.  InputSource(InputStream) skips these byte-order marks
while InputSource(Reader) does not, yielding a SAXParseException.
2014-09-05 17:53:50 -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 8613967820 Remove ByteStreams2.asByteSource
This method is dangerous since all ByteSource should provide a new
InputStream on every call to openStream while the method returns the
same InputStream for non-repeatable Payloads.
2014-09-04 16:55:55 -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 5399cb6877 Avoid unnecessary boxing
Found with FindBugs.
2014-08-30 14:30:47 -07:00
Andrew Gaul 1b824afbfc Remove redundant modifiers from interfaces 2014-08-26 17:34:13 -07:00
Andrew Gaul 74fb8f0183 Add whitespace after semicolons
Also correct some bad line-wrapping.
2014-08-26 11:06:00 -07:00
Andrew Gaul 614f5194ef JCLOUDS-653: Upgrade to Guava 18.0
Release notes:

https://code.google.com/p/guava-libraries/wiki/Release18
2014-08-25 17:47:23 -07:00
Jeremy Daggett e711275fb1 Prefer isEmpty() for collections rather than size() 2014-08-20 11:07:48 -07:00
Jeremy Daggett 744cd5d7eb Prefer Regions to Zones in OpenStack APIs 2014-08-13 09:58:53 -07:00
Andrew Gaul 9009bb5268 JCLOUDS-658: use xattr only on supported systems
Mac OS X HFS+ does not support UserDefinedFileAttributeView:

https://bugs.openjdk.java.net/browse/JDK-8030048
2014-08-12 12:30:06 -07:00
Andrew Gaul f236e046e3 Merge identical tests 2014-08-11 12:45:28 -07:00
Andrew Gaul a10bf3e9c5 Remove Java 6 litter 2014-08-11 12:45:27 -07:00
Andrew Phillips a6412ad66b Addressing Checkstyle violation
Introduced in 7e4cacf
2014-08-09 09:12:43 -04:00
Andrew Gaul 7e4cacf9ea JCLOUDS-264: Allow payloads greater than 2 GB
Enabled by JDK 7.
2014-08-09 00:28:49 -07:00
Andrew Gaul 80a0256cc7 JCLOUDS-622: Remove last vestiges of InputSupplier
Guava 16 deprecated InputSupplier and a future release will remove it.
2014-08-08 15:40:33 -07:00
Andrew Gaul b219208d6c JCLOUDS-653: correct mock expectation 2014-08-08 15:21:58 -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 f26431b3e7 JCLOUDS-653: Upgrade to Guava 18.0-rc1
Release notes:

https://code.google.com/p/guava-libraries/wiki/Release18
2014-08-08 11:08:09 -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 Gaul 9e9acf1f3e Address Checkstyle violations 2014-08-05 17:13:29 -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
Zack Shoylev 231a60675e Adds support for ImmutableMap in jclouds gson 2014-07-29 12:36:53 -05: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 5c8bdcdfbb Remove ByteSources.asByteSource
This method breaks the contract of ByteSource which specifies that
openStream can produce multiple independent streams.
2014-07-24 13:02:13 -07: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 0df905a870 JCLOUDS-622: add Strings2.toString(InputSupplier)
We did not deprecate this in 1.7.x as previously thought.
2014-07-18 21:48:08 -07:00
Aled Sage 1fb286809e JCLOUDS-549: Fix NPE in LoginCredentials.toString
- also deprecates LoginCredentails.get(Password|PrivateKey)
- use getOptionalPassword and getOptionalPrivateKey instead
2014-07-18 14:09:18 +01: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 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 de68449cde JCLOUDS-622: Deprecate Strings2.toString
Guava 16 deprecated InputSupplier.
2014-07-10 23:32:41 -07:00
Andrew Gaul 1d218b1705 JCLOUDS-417: Test closing a stream w/o reading it 2014-07-10 20:59:10 -07:00
Tom Manville afc0ca557d JCLOUDS-417: Remove ConsumeOnCloseInputStream
ConsumeOnCloseInputStream can potentially perform a copy in finalize()
if the stream was not closed properly.
2014-07-10 20:59:09 -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 66307d9816 Use consistent stage for the two-stage injection 2014-07-07 23:36:53 -07:00
Andrew Gaul 3fdb6d2e91 Avoid extra copy with Splitter result 2014-07-07 23:36:22 -07:00
Christopher Dancy 3659a5f583 JCLOUDS-607: ComputeService.createNodesInGroup throws NPE on FloatingIPApi.create() 2014-07-07 19:46:54 -04:00
Andrew Gaul f5244884a5 Avoid impossible UnsupportedEncodingException 2014-07-02 17:30:09 -07:00
Andrew Gaul d43c3ea3e0 Handle short reads in BasePayloadSlicer
InputStream.read(byte[]) can return fewer bytes than requested.
Specifically ByteSource.concat(ByteSource...).openStream() will only
return as many bytes as the current ByteSource contains.  Thus
ByteSources.repeatingArrayByteSource(byte[]).openStream() will return
short reads despite the byte[] input from its single logical
InputStream.
2014-07-02 15:13:20 -07:00
Ignasi Barrera b9029ea7a6 JCLOUDS-617: Use the configured JCE provider in the Cipher payloads 2014-07-02 00:27:08 +02:00
Andrew Gaul 77eff6fffb Close InputStream after use
Found with Kohsuke's file-leak-detector.
2014-06-30 18:26:55 -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
Andrew Gaul 5b5e713cba Avoid unnecessary object creation
Prefer StringBuffer.append(string, index1, index2) over
StringBuffer.append(String.substring(index1, index2).
2014-06-24 13:15:18 -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
Jeremy Daggett 446671a2a7 Improve readability of expect test output 2014-06-11 15:35:45 -05: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 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 bae4377dca Prefer File.delete over File.deleteOnExit
The former has deterministic behavior and avoids resource leaks.
2014-05-23 16:17:10 -07:00
Andrew Gaul 26b53e52b7 Use ByteSource methods to create test input
Also avoids excessive system calls due to unbuffered writes.  Finally
migrate repeatingArrayByteSource to ByteSources.
2014-05-22 10:43:57 -07:00
Andrew Gaul 4c265d3168 Prefer Guava Hashing over MessageDigest 2014-05-22 09:40:06 -07:00
Andrew Gaul 644fbf2052 Prefer ByteStreams over ByteArrayOutputStream 2014-05-22 00:40:21 -07:00
Andrew Gaul 11b778bbb9 Add missing @Override annotations 2014-05-20 21:23:30 -07:00