Commit Graph

1428 Commits

Author SHA1 Message Date
Adrian Cole 00ff5b794a Accidentally set limited json fallback field naming to an enum. 2014-10-28 00:20:40 -07:00
Andrew Phillips 879355573e Re-adding Reflection2.constructor
Removed in 33ce3ee but used downstream in jclouds-labs
2014-10-26 19:14:49 -04:00
Andrew Phillips 62fe88a600 Extracting Guava version into a property
This allows it to be overridden in CI jobs etc.
2014-10-26 18:53:32 -04:00
Adrian Cole efd2beb4c5 Fixed bug found in docker provider where deserialization constructors don't handle json null. 2014-10-26 12:31:32 -07:00
Adrian Cole bfa91d5614 JCLOUDS-750 allow apis to bind FieldNamingPolicy, which controls fallback naming policy of serialized fields. 2014-10-26 12:31:32 -07:00
Adrian Cole e7271bc291 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:31 -07:00
Adrian Cole 33ce3eeb12 JCLOUDS-750 Allow abstract value types to be constructed from json using static factory methods. 2014-10-26 12:31:31 -07:00
Adrian Cole 6f1c6621a5 JCLOUDS-264 Conditionally allow default http driver to support sending >2GB payloads without chunked encoding. 2014-10-25 10:39:06 -07:00
Adrian Cole d6940dc295 Revert "Remove Java 6 litter"
This reverts commit a10bf3e9c5.
2014-10-25 10:38:58 -07:00
Andrew Phillips a4ca25e181 [maven-release-plugin] prepare for next development iteration 2014-10-10 01:06:02 -04:00
Andrew Phillips d17a590973 [maven-release-plugin] prepare release jclouds-1.8.1-rc1 2014-10-10 01:05:56 -04:00
Adrian Cole b42cda0a66 JCLOUDS-40 unasync Fallback 2014-10-06 13:15:39 -07:00
Adrian Cole 0a74e923d2 JCLOUDS-153 remove IO Executor and usage of it. 2014-10-06 08:07:29 -07:00
Adrian Cole 65d40b4435 JCLOUDS-152 remove RestContext and its dependencies. 2014-10-05 22:39:02 -07:00
Adrian Cole 2f0725c832 Move off confusing test names. 2014-10-05 17:23:18 -07:00
Adrian Cole aedf56d390 JCLOUDS-153 Remove deprecated ExecutorService and HttpAsyncClient accessors. 2014-10-05 16:16:46 -07:00
Andrew Gaul 5330699fe7 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:56:11 -07:00
Andrew Phillips 5d292f6485 Addressing Checkstyle violations 2014-08-08 20:32:48 -04:00
Andrew Phillips c1ddc74aae [maven-release-plugin] prepare for next development iteration 2014-07-29 16:50:39 -04:00
Andrew Phillips 1cc7fab483 [maven-release-plugin] prepare release jclouds-1.8.0-rc1 2014-07-29 16:50:31 -04: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