Commit Graph

1422 Commits

Author SHA1 Message Date
Shri Javadekar af245d67fe JCLOUDS-334. Return correct status while creating containers in Swift.
BlobStore.createContainerInLocation is supposed to return True if the
container was newly created and False if the container already
existed. This commit makes that happen for Swift blobstores.
2013-10-07 21:48:57 -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 73464c3877 [JCLOUDS-302] Remove unnecessary String construction in HttpUtils 2013-09-27 16:15:20 -07:00
Adrian Cole 9f12b6309d JCLOUDS-303. unwrap should permit subtypes 2013-09-27 15:58:25 -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 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
Andrew Phillips 4c5cef1be4 Updated implementation comment in Reflection2 2013-01-24 21:41:09 -05:00
Andrew Gaul fb93f774aa Remove unneeded Predicate
Inspired by:
https://code.google.com/p/guava-libraries/wiki/FunctionalExplained#Caveats
2013-01-24 16:55:01 -08:00
Adrian Cole 92c64bc856 Merge pull request #1230 from jclouds/use-system-line-sep-in-tests
Making core tests run on Windows
2013-01-24 08:20:19 -08:00
Andrew Phillips 66bab1342c Using checkArgument instead of throwing an IllegalArgException directly 2013-01-24 02:00:32 -05:00
Andrew Phillips 93e2f24c62 Ignoring synthetic methods to always return the nearest method with the most specific return type from Reflection2.method 2013-01-24 01:59:01 -05:00
Adrian Cole cafd3f9b08 Merge pull request #1232 from dkoper/master
makes fgcp live tests (at least most of them) pass again, and added @Named annotation on async api methods
2013-01-23 10:20:18 -08:00
Dies Koper 494adcaeda Fgcp: changed broken base64 logic and added unit tests 2013-01-23 18:29:40 +11:00
Andrew Phillips 5914436ae0 Making test assertions use the system line separator rather than always '\n' 2013-01-22 21:37:35 -05:00
adriancole 2aea1355a1 added ability to set field exclusion policies for json serialization 2013-01-22 17:12:08 -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
adriancole 847561ee00 ensure identity/credential properties are not needed when using credential supplier 2013-01-21 10:02:46 -08:00
Adrian Cole d5f7f8b07e refactored json internals to use Reflections2 2013-01-20 23:13:22 -08:00
Adrian Cole a625127fd2 added ability to look up constructors as Invokables 2013-01-20 23:13:22 -08:00
Everett Toews 242d3e07be The Connection API for Rackspace Cloud Load Balancers. 2013-01-20 19:51:06 -06:00
Andrew Gaul 70af02d9d9 Space optimize Strings2.toStringAndClose
Avoid creating a byte array before creating a String.  This reduces
peak memory usage when parsing large JSON responses such as listing a
container.
2013-01-19 22:57:01 -08:00
Adrian Cole 58a986997b removed all compile warnings in core except json package 2013-01-19 20:39:47 -08:00
Adrian Cole c5e3b24d3e decoupled ProxyConfig and introduced PROPERTY_PROXY_TYPE 2013-01-19 20:06:18 -08:00
Adrian Cole e27d9e94fe fix issue #1205: removed copied in tests from Suppliers.memoize as current code is no longer a derivative of that 2013-01-19 19:49:00 -08:00
Adrian Cole 58f0f577d0 centralize construction of invokables 2013-01-19 17:17:06 -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
adriancole b3901deeb9 rewrote aws config to use standard op names 2013-01-16 10:54:17 -08:00
adriancole 95b1849199 process timeouts based on @Named annotations 2013-01-16 10:54:00 -08:00
Adrian Cole a7e4564c8e support changing credentials at runtime 2013-01-15 22:26:24 -08:00
Adrian Cole b07984435f unwound a few stack traces by making DelegatesToInvocationFunction an invocation handler directly 2013-01-13 22:41:06 -08:00
Adrian Cole f18d3b433f Merge pull request #1177 from jclouds/retryablepredicate-highlander
There can be only one retryable predicate; use Predicates2.retry
2013-01-13 22:07:42 -08:00
Adrian Cole 3ac6f475e7 unwound dependencies relating to ssh keys and crypt 2013-01-13 20:53:59 -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 6a8ac673aa fixed hanging test 2013-01-13 20:27:44 -08:00
Adrian Cole 713a498c22 removed custom version of guava Futures, awkward DescribedFuture, and migrated to native ListenableFuture 2013-01-13 09:29:24 -08:00
Adrian Cole 547f574eea got rid of custom MoreExecutors.sameThreadExecutor 2013-01-12 15:47:58 -08:00
Adrian Cole f1819fe8b9 decorating cacheloader only used in s3 2013-01-12 15:47:51 -08:00
Adrian Cole 45bb35971e replaced usage of checkNotEmpty with checkNotNull(emptyToNull 2013-01-12 15:20:11 -08:00
Adrian Cole 0e4c10e29f PasswordGenerator only used in scriptbuilder 2013-01-12 14:09:58 -08:00
Adrian Cole 015fbf22a2 removed redundant retrying assertion code 2013-01-12 14:04:47 -08:00
Adrian Cole cca73d8a69 removed function only used once and only accessing a single if branch 2013-01-12 13:47:07 -08:00
Adrian Cole 60ab6d8e26 Merge pull request #1169 from jclouds/ucdetector
cleaned up code references detected as unnecessary by UEC plugin
2013-01-12 13:11:47 -08:00
Adrian Cole d57197c103 cleaned up code references detected as unnecessary by UEC plugin 2013-01-12 12:31:00 -08:00
Adrian Cole 2f5e38d237 equals doesn't check null 2013-01-12 08:01:31 -08:00
Adrian Cole 21f6431f50 masked field 2013-01-12 07:55:49 -08:00
Adrian Cole a7389ac9eb equals on different types 2013-01-12 07:49:01 -08:00
Adrian Cole 202b9be5e5 refactored tests and internal code due to removing custom guava code 2013-01-08 22:23:47 -08:00
Adrian Cole d38ae1420d Updated invokable to include enclosing type and started refactoring SyncProxy 2013-01-08 00:32:17 -08:00
Adrian Cole 3089111621 refactored internal code and tests to use FunctionalReflection 2013-01-07 00:36:31 -08:00