Commit Graph

1367 Commits

Author SHA1 Message Date
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 3e5aa78521 Upgrade to Guava 15.0
Release notes:

https://code.google.com/p/guava-libraries/wiki/Release15
2013-09-09 10:54:43 -07:00
Andrew Gaul 310a898bc3 Upgrade to Guava 15.0-rc1
Release notes:

https://code.google.com/p/guava-libraries/wiki/Release15
2013-09-04 19:56:00 -07:00
Andrew Gaul d8490f872d Enable some Xlint warnings
Also address a handful of warnings.
2013-09-04 19:45:44 -07:00
Andrew Gaul 5261f760b7 Support Integer.MAX_VALUE size PUTs
Previously jclouds enforced Integer.MAX_VALUE - 1 size.  Tested
against Atmos Online.
2013-08-28 13:52:06 -07:00
Diwaker Gupta 12f29fd8a9 JCLOUDS-217: Only decode strings that are actually encoded.
* Update HttpRequestTests to account for change in urlDecode.
* Related to JCLOUDS-200
2013-08-27 22:03:48 -04:00
Diwaker Gupta 622aec5566 Modify Strings2.urlDecode to input a string.
This is consistent with urlEncode.  Also consistently use urlDecoder in
DecodingMultimap for values.
2013-08-22 20:43:32 -04:00
Ignasi Barrera d8fe0c9c21 Added method to generate the AuthorizationException with only a message 2013-08-07 00:09:04 +02:00
Ignasi Barrera 4621176516 Generalized the Arg0ToPagedIterable to propagate all args
Generalized the Arg0ToPagedIterable to allow to propagating
all arguments. This will help building PagedIterables for
api methods that require more than one argument to be invoked.
2013-07-25 10:31:09 +02:00
Andrew Gaul ac58a70e32 Do not eagerly check for existence in FilePayload
This is a TOCTOU violation and FilePayload.getInput already propagates
this.  This commit allows external callers like jclouds-cli to
introspect on the exception type, returning a more friendly error
message in some situations.
2013-07-15 23:34:12 -07:00
Diwaker Gupta d52f460562 Introduce StripExpectHeader filter and a property to control it.
Some providers (specifically HP Cloud and Google Cloud Storage) do not
properly support Expect: 100-continue headers. JDK7 is stricter in its
handling of the Expect header than JDK6 -- in particular, it expects
servers to properly respond to an expect header and times out only if a
prior timeout did not exist on the underlying HTTP connection. As a
result, JDK7 tests against these providers hang and fail.

This commit introduces a new filter -- appropriate called
StripExpectHeader -- that is controlled by the property
jclouds.strip-expect-header. The property defaults to false to preserve
existing behavior but allows applications to tweak Expect header
handling.

Tested by running HPCS live tests with JDK7 -- previously most of these
tests would fail with timeouts.

Closes JCLOUDS-181
2013-07-11 15:04:05 -07:00
zack-shoylev 1178f47cd7 Upgrade to gson 2.2.4
https://issues.apache.org/jira/browse/JCLOUDS-117
2013-07-11 13:52:32 -07:00
Andrew Gaul 60e9062894 Checkstyle fixes 2013-07-09 14:09:44 -07:00
JoshVote 8db0218cf7 JCLOUDS-126 - Support and tests for region selection in swift-keystone BlobStore 2013-07-03 13:44:46 -07:00
Andrew Bayer 5f524ee6c9 JCLOUDS-101 - Add SecurityGroupExtension for compute
- Adds the SecurityGroupExtension to compute, with tests and stub
support.
- Gets everything else to actually build against this.
- Unifies on compute's IpPermission/IpProtocol, eliminating EC2's.
- Converters from EC2/Nova/CloudStack SecurityGroup (and rules, for
the latter two) to the compute SecurityGroup (and rules, etc).
- EC2SecurityGroupExtension and tests.
- AWSEC2SecurityGroupExtension and tests - depends on JCLOUDS-99.
2013-06-26 14:59:01 -07:00
Andrew Gaul 1a6be0eb67 Do not repeat array type in initializers 2013-06-18 21:02:50 -07:00
Anton Panasenko ff3405c967 JCLOUDS-127: Added a method to check if the context is open
- Added isOpen in Context interface
- Refactoring Closer class:
  - method close can only call once
  - method close is threadsafe
  - added method getState
2013-06-18 00:31:51 +02:00
Andrew Bayer 32ea520f34 Add license headers to src/test/resources where possible, more fine-grained RAT exclusions 2013-06-12 16:45:29 -07:00
Andrew Gaul d113b0ba63 Remove Strings2.replaceAll(String, Pattern, String)
Replace with direct calls to
Pattern.matcher(String).replaceAll(String).
2013-06-03 14:41:27 -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
Ignasi Barrera 334bd36730 JCLOUDS-82: Added method to get the underlying Api from a View 2013-05-27 22:13:25 +02:00
Andrew Phillips 653c946ec2 JCLOUDS-75: Support '-incubating' release versions 2013-05-21 13:49:31 -04: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 Phillips 7cf8d611af JCLOUDS-52: Updating JcloudsVersion to search under org.apache.jclouds
Group ID changed from org.jclouds with JCLOUDS-15
2013-05-16 13:37:13 -04: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 ddfb8e58a5 JCLOUDS-27: Allow repeatable Payload with InputSupplier input
This allows HTTP retries to work.  Also remove duplicated calls to
ByteStreams.slice.
2013-05-10 15:48:03 -07:00
Everett Toews 2bbd03939f Removed trystack-nova provider. 2013-04-26 10:54:49 -05:00
Andrew Gaul fff2fa6e05 Address Checkstyle violations
This commit requires temporarily disabling some checks.
2013-04-17 16:21:21 -07:00
Andrew Gaul 04fad88fd3 Remove duplicate Utils getters
Rename callers as required.
2013-04-12 16:24:37 -07:00
Andrew Gaul 4037585e42 Deprecate ExecutorService getters 2013-04-12 14:08:52 -07:00
adriancole fbe9f945e7 rename bindMappedApi -> bindSyncToAsyncApi 2013-04-10 08:57:32 -07:00
adriancole 7db3af1b1e renamed ignored exception to ignored 2013-04-10 08:15:57 -07:00
adriancole 5bc0678a1c naming convention and warning feedback from issue #1511 2013-04-10 08:13:13 -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 053197fe61 deprecated all top-level Async apis and clients 2013-04-09 10:18:31 -07:00
adriancole 36dd831b84 moved all code off use of RestContext except CloudStackContext, which will use it until 1.7 2013-04-09 09:23:31 -07:00
adriancole 8771f75d50 added apiVersion field to BaseContextLiveTest so that CloudStack tests don't need to rely on as much injection 2013-04-09 09:23:30 -07:00
adriancole 4d0e6ae699 added type token means for buildApi() as it is in fact used 2013-04-09 09:23:26 -07:00
adriancole 8f68de0018 added temporary workaround for AutoCloseable which will be deleted in jclouds 1.7 2013-04-08 17:11:33 -07:00
adriancole 88871c9fe9 issue #1501: add Closeable annotation to all top-level apis 2013-04-08 16:13:09 -07:00
adriancole 4ced43566b issue #1501: allow Closeable, top-level apis to be used as opposed to RestContext 2013-04-08 15:14:59 -07:00
Ioannis Canellos a03d4183ae Add @Inject to the Compute class. 2013-04-05 01:51:43 +03:00
Adrian Cole 3e9c3dc6e6 Merge pull request #1490 from maginatics/do-slice-string-cast
Cast String Payloads to String
2013-04-03 17:56:45 -07:00
Adrian Cole 0f1675cc18 Merge pull request #1489 from maginatics/remove-input-suppliers
Remove InputSuppliers.of(String)
2013-04-03 17:55:25 -07:00
Adrian Cole 366a728b08 Merge pull request #1480 from maginatics/http-put-zero-content-length
Emit Content-Length: 0 for empty PUTs
2013-04-03 17:21:20 -07:00
Andrew Gaul be1da2501e Remove InputSuppliers.of(String)
Callers rarely want this functionality and should call
ByteStreams.newInputStreamSupplier when they do.
2013-04-03 15:52:43 -07:00
Andrew Gaul 10d29f5ef2 Cast String Payloads to String 2013-04-03 15:51:44 -07:00
Adrian Cole d938349229 Merge pull request #1488 from maginatics/remove-input-suppliers-of-input-stream
Remove InputSuppliers.of(InputStream)
2013-04-03 15:39:58 -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 843ed57c8a Emit Content-Length: 0 for empty PUTs
HttpUrlConnection reverts Content-Length: 0 on PUT without
doOutput(true), similar to POST.  This commit allows Azure container
create to succeed.  Closes #1420.
2013-04-01 13:42:59 -07:00
Andrew Phillips db4e4af931 Not making methods of core Java classes accessible in Reflection2 2013-03-30 17:00:43 -04:00
Andrew Gaul eb2a9b6ed5 Correct HttpAsyncClient.put Javadoc 2013-03-27 12:44:29 -07:00
Everett Toews 870c7d8450 PaginatedCollection for Rackspace style pagination. 2013-03-25 14:22:32 -05:00
adriancole cd79a9d876 HttpUrlConnection reverts Content-Length=0 on POST unless doOutput is set to true 2013-03-24 20:58:29 -07:00
Adrian Cole 254aafb157 Merge pull request #1449 from zack-shoylev/windows-fix
Fixes running maven tests on windows.
2013-03-22 15:18:26 -07:00
zack-shoylev b19b4d701a Fixes running maven tests on windows. The tests and the private key
builder code were not all properly using
System.getProperty("line.separator") and were instead in some cases just
using "\n"

lineSeparator variable shortened
jclouds formatting applied

reverts and refixes formatting changes

This should fix some missing changes
2013-03-22 21:15:56 +00:00
Dies Koper 7a5cc9e2af add PROPERTY_PROXY_FOR_SOCKETS constant to allow ssh connections to bypass HTTP proxies 2013-03-19 18:16:05 +11:00
Andrew Gaul 9132c7880c Upgrade to Guava 14.0.1
Release notes:
https://code.google.com/p/guava-libraries/wiki/Release14
2013-03-15 21:20:23 -07:00
adriancole 6f9794dedb correct order of List<Byte> gson registration and filled missing test 2013-03-14 09:44:28 -07:00
Andrew Gaul 371db8d18f Address Xlint warnings 2013-03-13 22:23:19 -07:00
Adrian Cole 168121f9b3 Merge pull request #1422 from maginatics/filebackedoutputstream-reset
Call FileBackedOutputStream.reset on InputStream.close
2013-03-13 18:21:22 -07:00
adriancole ef2718629f make it possible to deserialize into ctors that have immutable collection parameters 2013-03-13 12:22:41 -07:00
adriancole 8932e9fd81 pass absent instead of null to ctor parameters of type Optional 2013-03-13 11:07:17 -07:00
Andrew Gaul 2d44332559 Call FileBackedOutputStream.reset on InputStream.close
This ensures that we delete temporary files created by Wire logging.
2013-03-13 10:43:41 -07:00
adriancole 92bfb8224f fix issue #1409: regression where we broke streaming payloads 2013-03-12 11:35:31 -07:00
Adrian Cole d3bb6d6e69 Merge pull request #1406 from maginatics/null-http-response
Annotate possibly null return value
2013-03-11 15:47:24 -07:00
Adrian Cole e1b3ded0d0 Merge pull request #1408 from maginatics/null-payload
Annotate possibly null return value
2013-03-11 15:46:23 -07:00
Andrew Gaul 395116ebf1 Annotate possibly null return value 2013-03-10 15:59:19 -07:00
Andrew Gaul 5a69e01cfd Annotate possibly null return value 2013-03-10 15:43:49 -07:00
Adrian Cole fb69ae0fa9 bump master to 1.7.0-SNAPSHOT 2013-03-08 23:02:40 -08:00
Everett Toews 5ad9867e27 Initial commit for the Rackspace DNS API. 2013-03-06 16:02:39 -06:00
Everett Toews bbede1bd0a Updated Javadoc for PagedIterable. Removed example that was out-of-date. Changed example to something that actually returns PagedIterable. 2013-03-06 11:51:41 -06: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
adriancole 4f2c64681a do not send payload when method doesn't send payload 2013-03-03 17:22:23 -08:00
Adrian Cole 8e881bd5c2 remove default add of Expect 100 Continue header 2013-03-03 12:24:28 -08:00
Andrew Gaul ac60647057 Upgrade to Guava 14.0
Release notes:
https://code.google.com/p/guava-libraries/wiki/Release14
2013-02-26 10:07:53 -08:00
Adrian Cole d9c4cf2d39 consider @FormParam on @Delegate calls 2013-02-24 23:14:13 -08:00
Adrian Cole 1338daec50 added function to grab first arg during pagination 2013-02-24 12:34:00 -08:00
Adrian Cole 86d5d69128 Merge pull request #1344 from maginatics/findbugs
Address FindBugs complaints
2013-02-22 12:19:09 -08:00
Andrew Gaul ec4cdfda05 Address FindBugs complaints 2013-02-22 09:29:22 -08:00
Andrew Gaul 2b7d2ded4d Upgrade to Guava 14.0-rc3 2013-02-21 18:25:27 -08:00
adriancole ebf96596c5 @Delegate considers @PayloadParam 2013-02-21 11:44:03 -08:00
adriancole 67d74528db RedirectionRetryHandler ignored PROPERTY_MAX_REDIRECTS on backoff 2013-02-19 01:39:11 -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 6c658f6450 fix issue #1297 put with zero length payload 2013-02-04 10:32:03 -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 865005afd9 fix issue #1289 bug in zero length put 2013-02-01 15:09:31 -08:00
adriancole ece2c962a0 worked around issue where GET can become POST 2013-01-31 17:43:49 -08:00
Adrian Cole 6a80aa4313 unwrap UncheckedExecutionException 2013-01-31 11:55:36 -08:00
adriancole fd3a5a3b9a decoupled InvokeHttpMethod, which allows circular dependencies in cloudstack to resolve 2013-01-30 12:51:17 -08:00
Adrian Cole 55a10d4c5d allow SelectJson to specify multiple field names, in case the server renamed something 2013-01-30 09:03:50 -08:00
adriancole 878313582a issue #1089 synchronous commands no longer spawn threads unless a timeout is specified 2013-01-29 04:08:42 -08:00
Dies Koper 17451c3e49 Core, compute: improved poll retry timeout comments 2013-01-28 16:15:47 +11:00
Andrew Phillips 2a1fc363e0 Moving the complex test for 93e2f24c62 into a separate file and allowing it to run in parallel with other tests 2013-01-24 23:13:14 -05:00