Commit Graph

677 Commits

Author SHA1 Message Date
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 04fad88fd3 Remove duplicate Utils getters
Rename callers as required.
2013-04-12 16:24:37 -07:00
adriancole fbe9f945e7 rename bindMappedApi -> bindSyncToAsyncApi 2013-04-10 08:57:32 -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 f56da43db1 deprecated blobstore interfaces that imply complex internal code 2013-04-09 14:37:34 -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 15f4d041b4 Parameterize max errors for clear container
Also use setter injection for max request time.
2013-03-29 13:36:57 -07:00
Andrew Gaul 371db8d18f Address Xlint warnings 2013-03-13 22:23:19 -07:00
Adrian Cole fb69ae0fa9 bump master to 1.7.0-SNAPSHOT 2013-03-08 23:02:40 -08: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
Adrian Cole 941612ad09 add name to blobs in BlobMap tests 2013-03-02 09:16:26 -08:00
Andrew Gaul faf6b2f39e Prohibit null and empty blob names in BlobBuilder 2013-02-27 11:36:29 -08:00
Andrew Gaul ec4cdfda05 Address FindBugs complaints 2013-02-22 09:29:22 -08:00
Andrew Gaul b51ce5994a Expose resource creation date 2013-02-18 11:26:44 -08:00
Andrew Gaul 3734fe8100 Replace unneeded Function with imperative approach
The latter is more concise, faster, and compact.  .class size in bytes
before:

LocalAsyncBlobStore$5.class      1883
LocalAsyncBlobStore.class       20743

and after:

LocalAsyncBlobStore.class       21041
2013-02-05 10:20:24 -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 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 40d9f8bfe7 changes that facilitate synchronous fallbacks and http invocation 2013-01-29 04:09:45 -08:00
Andrew Gaul 60a7d1b4f8 Call BlobUtils.clearContainer directly
BaseAsyncBlobStore.clearContainer returns a Future which we previously
did not manage correctly, hanging when deleting non-existent
containers.  Call BlobUtils.clearContainer directly to address this.
2013-01-23 22:27:18 -08:00
Andrew Gaul bd7300ad92 Dynamically generate base blobstore input
This removes a single large image from the source tree.
2013-01-22 10:57:14 -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
Adrian Cole b890e1d36b Merge pull request #1218 from maginatics/delete-container-skip-exponential-backoff
Skip exponential backoff if we exceed maxErrors
2013-01-21 19:59:44 -08:00
Andrew Gaul 25b012587d Skip exponential backoff if we exceed maxErrors 2013-01-21 18:22:41 -08:00
Adrian Cole 37e587ee51 changes related to centralizing construction of invokables 2013-01-19 17:17:30 -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
Adrian Cole a49a060152 There can be only one retryable predicate; use Predicates2.retry decorator 2013-01-13 20:30:34 -08:00
Adrian Cole 3962b30808 updated to use standard guava Futures and ListenableFuture 2013-01-13 09:31:10 -08:00
Adrian Cole 015fbf22a2 removed redundant retrying assertion code 2013-01-12 14:04:47 -08:00
Adrian Cole 47c215c63c removed custom guava code for scoped binding and type params 2013-01-08 22:48:10 -08:00
Adrian Cole 2480481835 dependent changes on tests and internal classes 2013-01-08 00:32:45 -08:00
Adrian Cole 3089111621 refactored internal code and tests to use FunctionalReflection 2013-01-07 00:36:31 -08:00
Adrian Cole 42c7037a59 removed unused code or duplicated code; moved code only used once to where its used 2013-01-01 00:08:34 -08:00
Adrian Cole 9745e9dc2f fixed covariance and warnings on ApiMetadata subclasses 2012-12-31 19:40:49 -08:00
Adrian Cole bb953c981e fix issue #1101: Move to Guava 14 BaseEncoding and Hashing 2012-12-31 14:48:31 -08:00
Adrian Cole cddd35bc51 removed unnecessary generic types and made RestAnnotationProcessor immutable 2012-12-30 23:18:59 -08:00
Adrian Cole 2523ab54ac removed use of static fields to share type mapping info 2012-12-30 17:22:03 -08:00
Adrian Cole 13d8b9c402 replaced @Timeout w/explicit properties 2012-12-30 12:31:43 -08:00
Adrian Cole 9b1872c6ff removed custom code that duplicates functionality of guava fallbacks 2012-12-27 16:54:31 -08:00
Andrew Gaul 60d61ceb91 Add more logging to DeleteAllKeysInList
This allows monitoring of progress of long deletes via debug logs.
2012-12-26 21:27:13 -08:00
Adrian Cole 20c3426fc8 replaced jersey w/Uris & UriTemplates; removed complexity in url encoding and edge cases like matrix params 2012-12-24 14:32:59 -08:00
Everett Toews 3d83d788af Fixed issue where an Accept header is required when doing HEAD requests to Cloud Files. 2012-12-14 16:50:47 -06:00
Adrian Cole 878ec1bcab undid Serializable and added checkstyle InterfaceIsType:allowMarkerInterfaces=false 2012-11-18 09:23:44 -08:00
Andrew Gaul b16ca139a4 Honor PROPERTY_REQUEST_TIMEOUT in clearContainer 2012-11-13 13:27:18 -08:00
Andrew Gaul 3ad36d25d5 Enforce no unnecessary parentheses via Checkstyle 2012-11-10 13:22:12 -08:00
Adrian Cole c7c27e12e2 improved javadoc including where to look for alternative syntax 2012-11-07 12:02:52 -03:00
Andrew Gaul 3d191253ec Enforce use of Collection helpers via Checkstyle
This ensures that we do not repeat the type name.  Some instances remain
due to auto-generated code in dmtf/cim/Cim*.
2012-11-04 20:45:49 -08:00
Adrian Cole beb36eac75 Merge pull request #940 from andrewgaul/checkstyle-misc
Miscellaneous Checkstyle fixes
2012-11-04 08:50:47 -08:00
Andrew Gaul 38b95f5ad9 Miscellaneous Checkstyle fixes
Nothing can extend a byte[] and remove a previous hidden unused import.
2012-11-01 19:11:59 -07:00
Andrew Gaul 76a5538229 Cancel Futures in clearContainer
This prevents Futures from hanging around on exceptional code paths like
interrupts and timeouts.
2012-11-01 17:18:38 -07:00
Adrian Cole 5da5161485 Merge pull request #909 from andrewgaul/clear-container-timeout-exception
Throw TimeoutException from awaitCompletion
2012-10-30 08:57:20 -07:00
Andrew Gaul 93d69ece2b Enforce newline at end of file via Checkstyle
Also address all warnings, via:

find -name \*.java | while read i; do if [ x`tail -c 1 $i` != x"" ]; then echo >> $i; fi; done
2012-10-29 22:12:44 -07:00
Andrew Gaul 709ca69a2d Enforce that all imports are used via Checkstyle
Also remove all unused imports, via:

mvn checkstyle:checkstyle -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | awk -v FS=: '/warning/{print "sed -i " $2 "d " $1}' | while read i; do $i; done
2012-10-29 17:11:08 -07:00
Andrew Gaul 336ccfa2e6 Throw TimeoutException from awaitCompletion
This is a common error that callers should interpret correctly.  For
DeleteAllKeysInList, we integrate into its retry and backoff logic,
and for other callers, we continue to propagate RuntimeException.
2012-10-25 13:50:29 -07:00
Andrew Gaul 28d7a6f143 Prefer immutable over empty collections
The former does not create an object when calling iterator(), as
discussed here:

https://groups.google.com/d/msg/jclouds-dev/l7BviKDXreA/mP6Ow_RYxIgJ
2012-10-20 15:35:29 -07:00
Adrian Cole 9e8b4756c2 Merge pull request #894 from andrewgaul/files-tostring
Prefer Files.toString over FileInputStream
2012-10-11 02:05:46 -07:00
Andrew Gaul 2b8b72758f Prefer Files.toString over FileInputStream 2012-10-10 21:33:22 -07:00
Andrew Gaul 331c3be2e8 Retry each operation up to maxErrors times
Previously we only allowed maxErrors per directory, which tended to
fail with large directories.  Also rename counter to something more
intuitive.
2012-10-10 17:54:38 -07:00
Adrian Cole ffa9cd3bb0 corrected guice bindings for swift-based blob signatures and backfilled expect tests 2012-10-10 12:03:23 +02:00
Andrew Gaul 9f6b9d4d8a Rename to LocalBlobRequestSigner
Missing commit from the Filesystem and Transient unification.
2012-10-07 22:54:03 -07:00
Adrian Cole a77a80f030 Issue 1092: fix hostname when path-based buckets are used in non-default location 2012-09-25 21:22:17 -07:00
Andrew Gaul ad87c596d9 Avoid Futures.getUnchecked in DeleteAllKeysInList
This masks InterruptedException.  We should rework the logic in
execute to unwind the stack on errors; currently we only return from
the leaf method.
2012-09-19 15:54:31 -07:00
Adrian Cole 28d766b9df bumped to 1.6.0-SNAPSHOT 2012-09-17 01:43:52 -07:00
Andrei Savu 080d142ae1 Generic support for Swift TempUrl middleware 2012-09-16 21:46:51 +03:00
Andrei Savu 327066acd7 Added @Beta annotations on the new methods in BlobRequestSigner 2012-09-11 23:55:21 +03:00
Andrei Savu 49bde19fa0 Add support for Swift TempURL Middleware 2012-09-10 13:45:55 +03:00
Adrian Cole c7f35d3bb1 removed invalid @Nullable usage and also usage of javax package usage 2012-08-11 20:59:16 -07:00
Andrew Gaul 8ed0e28e68 Spelling corrections 2012-07-26 22:39:35 -07:00
Adrian Cole 92f9cc4c0c Merge pull request #756 from andrewgaul/reorder-strategy
Shuffle strategy methods into consistent order
2012-07-26 17:04:39 -07:00
Andrew Gaul f5548f3a94 Shuffle strategy methods into consistent order
Group by container, blob, and miscellaneous methods.  Within these
groups, sort by by exists, getter, setter, and remove.  Code movement
only; no functional changes.
2012-07-26 13:52:23 -07:00
Andrew Gaul ead8748199 Avoid unneeded branch in LocalAsyncBlobStore 2012-07-26 13:44:14 -07:00
Andrew Gaul 6b8a2a73d4 Add missing @Override in TransientStorageStrategy 2012-07-23 13:31:21 -07:00
Andrew Gaul 562f8277d3 Introduce LocalAsyncBlobStore
This commit unifies the filesystem and transient blobstores.
2012-07-23 09:20:41 -07:00
Andrew Gaul 756e46333f Miscellaneous local blobstore cleanups
There are no more functional differences between the filesystem and
transient blobstores.  This is the last commit before introducing a
unified LocalAsyncBlobStore class.
2012-07-23 08:06:36 -07:00
Adrian Cole b890765e9e Merge pull request #738 from andrewgaul/local-blobstore-move-helper-method
Move helper method to TransientStorageStrategy
2012-07-23 07:37:30 -07:00
Adrian Cole d5f9bb3172 Merge pull request #739 from andrewgaul/prefer-valueof
Prefer valueOf over explicit object creation
2012-07-22 22:00:09 -07:00
Andrew Gaul 985cccff9a Prefer valueOf over explicit object creation
This allows use of cached values.  Patched with:

find -name \*.java | xargs sed -i 's/new Boolean(false)/Boolean.FALSE/g'
find -name \*.java | xargs sed -i 's/new Boolean(true)/Boolean.TRUE/g'
find -name \*.java | xargs sed -i 's/new Boolean(/Boolean.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Integer(/Integer.valueOf(/g'
find -name \*.java | xargs sed -i 's/new Long(/Long.valueOf(/g'
2012-07-22 21:01:46 -07:00
Andrew Gaul 22da88d2ae Move helper method to TransientStorageStrategy
Also move etag generation since we cannot reuse Payloads in the
general case.
2012-07-22 20:02:59 -07:00
Andrew Gaul 0bc5c69a4f Move copy(MutableBlobMetadata) to BlobStoreUtils 2012-07-22 17:37:18 -07:00
Andrew Gaul 870ed0cdb3 Shuffle blobstore parameters to match superclass
Also remove unused injected parameter.
2012-07-19 07:17:02 -07:00
Adrian Cole 70fa74df1a Merge pull request #731 from andrewgaul/input-supplier
Prefer InputSupplier helpers
2012-07-19 04:34:25 -07:00
Andrew Gaul a40983a39d Prefer InputSupplier helpers
These ensure that inputs are closed properly.

Updated with: find -name \*.java | xargs sed -i
's/toStringAndClose(\(.*\)\.getInput())/toString(\1)/'
2012-07-18 17:42:48 -07:00
Andrew Gaul a2d5a48f3f Inject TransientStorageStrategy
Remove some unneeded checkNotNull as Guice does not inject null
parameters.
2012-07-18 16:02:07 -07:00
Andrew Gaul 8a9265f015 Tie up odds and ends from LocalStorageStrategy
Use LocalStorageStrategy instead of TransientStorageStrategy and
handle IOExceptions.  Aso use dummy location in filesystem blobstore.
2012-07-18 09:45:23 -07:00
Andrew Gaul c30c2c4809 Introduce LocalStorageStrategy
This commit will allow eventual unification of the filesystem and
transient blobstores.  No functional changes -- rename
FilesystemStorageStrategy to LocalStorageStrategy and implement it in
FilesystemStorageStrategyImpl and TransientStorageStrategy.
2012-07-17 23:11:10 -07:00
Adrian Cole 007eba6d7c Merge pull request #723 from andrewgaul/filesystem-transient-input-supplier
Ensure we close streams via InputSupplier methods
2012-07-17 15:23:47 -07:00
Andrew Gaul bd5bf0dad2 Ensure we close streams via InputSupplier methods 2012-07-17 11:46:10 -07:00
Andrew Gaul d89153ed1f Reduce filesystem and transient differences 2012-07-17 09:50:47 -07:00
Andrew Gaul 02203afb07 Harmonize filesystem and transient putBlob 2012-07-16 22:02:00 -07:00
Adrian Cole 05fd64af44 cleaned up http builders and expect tests 2012-07-15 01:50:38 -07:00
Adrian Cole 74b404eab8 Issue 1008:aws-s3 could not get location for region eu-west-1 error 2012-07-07 17:28:44 -07:00
Andrew Gaul 932b738026 Eliminate unlikely transient blobstore TOCTOU bug 2012-06-19 15:20:39 -07:00
Andrew Gaul 227dbf777a Correct spelled from delimeter to delimiter 2012-06-14 10:05:13 -04:00
Adrian Cole 92d1f1b471 moved to explicitly adding clojure projects 2012-06-03 17:28:56 -07:00
Ioannis Canellos b078adc3ce Removed fragments and dynamic imports. Added centralized control of the maven-bundle-plugin. 2012-06-03 19:41:54 +03:00
Aled Sage ffe783d92b Issue 936: fixes async multi-part upload of small blob
Previously, the upload did not start...
2012-05-21 15:39:27 +01:00
Aled Sage cd9c830c5a Issue 647: store Expires as Date; added ContentMetadataCodec for converting to/from HTTP headers 2012-05-17 11:24:50 +01:00
Aled Sage 9aedf7b6f6 Issue 647: added "Expires" header for ContentMetadata 2012-05-17 11:24:45 +01:00
Aled Sage 1b2eb74604 Issue 656: failing test, demonstrating failures when non-default aws-s3 location is specified 2012-05-14 23:18:30 -07:00
Andrew Gaul f55231d607 Tolerate oversized ranges in getBlob 2012-05-14 15:16:32 -07:00
Andrew Gaul a30aad05ed Harmonize filesystem and transient getBlob
This commit also simplifies HTTP range logic calculations, sets the
correct Content-Length, and avoids an unneeded copy.
2012-05-14 11:02:03 -07:00
Andrew Phillips 29e7e7e85e Revert "Merge pull request #617 from andrewgaul/filesystem-transient-remove-copy"
This reverts commit 0fe120d659, reversing
changes made to 5033b98252.
2012-05-08 23:37:19 -07:00
Andrew Gaul d13e8aec4a Remove unused copy method
Also make second copy method private access.
2012-05-08 21:08:03 -07:00
Adrian Cole 5033b98252 NPE guard 2012-05-08 17:50:07 -07:00
Andrew Gaul 4ac7629f44 Delegate blob storage to TransientStorageStrategy
This further minimizes the drift between the filesystem and transient
blobstores.  We also now require that users keep the BlobStoreContext
open instead of using ConcurrentMap singletons.  Finally we remove the
"stub" container.
2012-05-08 14:11:32 -07:00
Andrew Gaul 442c51eb3c Introduce TransientStorageStrategy
This allows code from the filesystem blobstore to be more similar to
the transient blobstore.  This commit also corrects a bug where
blobExists did not throw an exception when the container did not
exist.
2012-05-07 16:52:31 -07:00
Andrew Gaul 3a0c15b345 Reduce filesystem and transient differences
These providers have a similar lineage but many gratuitous
differences.  This commit reduces the diff between them and is a
prerequisite for upcoming changes to make them more similar to each
other and real providers.  Some future commit might unify these in
some smarter way, e.g., having a TransientStrategy to match
FilesystemStrategy.
2012-05-07 15:55:05 -07:00
Adrian Cole 19390ea87d Merge pull request #602 from andrewgaul/propagate-or-null
Eliminate Throwables2.propagateOrNull
2012-05-02 15:21:30 -07:00
Andrew Gaul 74440a7a87 Eliminate Throwables2.propagateOrNull
Throwables.propagate always propagates the Throwable; there is no need
to return null.
2012-05-02 13:51:36 -07:00
Andrew Gaul 646f8d8b13 Improve use of Throwables.propagate
Throwing the return value removes some unneeded asserts and return
statements.  Also remove some useless and misspelled propogate
wrappers.
2012-05-02 11:05:22 -07:00
Andrew Gaul 755d51ad27 Remove unused transient blobstore methods
Also make some helpers private.  Generally, make the transient
blobstore more similar to others.
2012-05-01 22:37:01 -07:00
Adrian Cole 09e8ff1d8e Merge pull request #597 from andrewgaul/simplify-transient-blobstore
Simplify transient blobstore logic
2012-05-01 18:48:39 -07:00
Andrew Gaul 253fd1f608 Simplify transient blobstore logic
Many more simplifications remain.
2012-05-01 14:17:00 -07:00
Andrew Gaul 519a3ac193 Recurse in subdirectories before deleting blobs
This ensures that we have at most one PageSet of Futures awaiting
completion.
2012-05-01 11:18:24 -07:00
Adrian Cole 8ab9904481 added tests 2012-05-01 08:22:56 -07:00
Andrew Gaul c7dc1213f0 Do not set member until we completely validate it 2012-04-30 15:09:37 -07:00
Andrew Gaul e4514240e0 Optimize clearContainer for large folders
Previously we built up a list of all blobs then executed removeBlob on
all of them simultaneously.  For sufficiently large folders this would
cause an OutOfMemoryError.  There are cleaner ways to write this but
this approach mimimizes the patch.  I will continue working on this in
subsequent commits, including optimizing for deep subdirectories.

This commit also fixes a bug in the transient blobstore where deleting
elements while reading a directory resulted in NoSuchElementException.
2012-04-28 17:11:13 -07:00
Adrian Cole ba7ba36d20 switched to buildView 2012-04-24 12:26:37 -07:00
Adrian Cole df7d2acbb4 wrapper -> view 2012-04-23 19:14:36 -07:00
Adrian Cole 886d2cafb9 created base Context class with ProviderMetadata and Identity 2012-04-23 16:16:51 -07:00
Adrian Cole 5ea29cbbb7 Merge pull request #560 from danikov/covariant-future-iterables
covariant compatible version of futureIterables
2012-04-18 07:35:23 -07:00
danikov fff1c7dc2d make FutureIterables covariant compatible + update tests 2012-04-18 13:06:54 +01:00
Adrian Cole 0b59dea073 removed ContextBuilder subclasses; added unwrap; undid generic params 2012-04-16 00:44:20 -07:00
Adrian Cole c56c2d2f72 Issue 897: moved clojure off Factory -> Builder 2012-04-12 17:07:13 -06:00
Adrian Cole 23cb01f977 refactor PropertiesBuilder and related types into ApiMetadata and ProviderMetadata, and update all usage 2012-04-11 19:47:09 -06:00
Andrew Gaul b47860afc1 Use inference to elide duplicated type parameters
Found with:
grep 'Builder.*<.*>.*Immutable.*<.*>.*builder();'
2012-04-08 22:32:04 -07:00
Adrian Cole 764e0907f7 Issue 657:ApiMetadata 2012-04-01 18:43:31 -07:00
Adrian Cole 5c6ce9f081 organize imports 2012-03-28 03:37:48 -04:00
Ioannis Canellos 5490b3068c [842] Added required import packages to cloudfiles api bundle. Improved import packages in all bundles. 2012-02-17 00:49:39 +02:00
Adrian Cole ed7b8895e6 Issue 840:remove compute.clj and blobstore.clj 2012-02-15 14:55:26 +01:00
Adrian Cole fe4d148528 updated current version to 1.5.0-SNAPSHOT 2012-02-04 11:06:07 -08:00
Adrian Cole c388fc41b4 Issue 826: removed eager supplier of @Provider endpoint 2012-02-03 13:51:26 -08:00
Adrian Cole bdd739ad04 Issue 826:support api-generated location metadata across service types, note this ensures authenticationexceptions propagate even after context creation 2012-02-03 00:27:29 -08:00
Adrian Cole 3df052565f updated current version to 1.4.0-SNAPSHOT 2012-01-16 13:08:32 -08:00
Adrian Cole 2dfdbb4b56 fixed url for blobstore copy and improved code 2012-01-15 14:31:05 -08:00
Adrian Cole 2bff310db2 fixed thread safety in test 2012-01-11 20:12:44 -08:00
Aled Sage 86929f91f6 Issue-572: added @Beta to ListAllOptions 2012-01-12 00:39:27 +00:00
Adrian Cole 8f5b46d50a Merge pull request #310 from aledsage/Issue-572-BlobStore-listAll-Options
Issue-572: added ListAllOptions for configuring BlobStores.listAll as eager
2012-01-11 16:06:38 -08:00
Aled Sage 657c268db7 Issue-572: added ListAllOptions for configuring BlobStores.listAll as eager 2012-01-11 21:00:03 +00:00
andreisavu f90a2bd039 Issue 681. Enhance jcloud to support aws-s3 Reduce Redundancy Storage (RRS) 2012-01-11 22:18:28 +02:00
Adrian Cole e46ee9fbc4 Issue 807:update license headers 2012-01-09 10:54:57 -08:00
Adrian Cole add431a329 missing build property commit 2012-01-08 00:04:04 -08:00
Adrian Cole f390f314ee Issue 803: changes needed when guice is in production mode 2012-01-07 06:08:32 -08:00
Adrian Cole f06e6982eb Issue 800:introduce property for build version 2012-01-05 17:51:55 -08:00
Adrian Cole 42137677da Issue 801:fix inconsistency in test property test.provider.apiversion set in pom.xml -> api-version 2012-01-05 13:09:45 -08:00
Adrian Cole 43d15301c3 removed deprecated newBlob 2011-12-18 18:35:18 -08:00
Adrian Cole 9899372737 Merge pull request #247 from aledsage/Issue-572-BlobStore-listAll
Issue 572: added BlobStores.listAll for a lazy iterable
2011-12-15 11:38:17 -08:00
Aled Sage 82bfcbfbfa Issue 572: added BlobStores.listAll for a lazy iterable 2011-12-15 18:12:14 +00:00
Aled Sage 80ed183ca4 Issue 572: ListContainerOptions.equals/hashCode to aid testing with mocks 2011-12-14 23:47:43 +00:00
Andrew Gaul 4c7637bcac Clean up DeleteAllKeysInList.execute
Simplify control flow and execute getResourcesToDelete after
imposeBackoffExponentialDelay.  Impose backoff only on unexceptional
path.  Do not concatenate exceptions with toDelete since
getResourcesToDelete will pick these up.  Prefer isEmpty over size.
2011-12-14 13:40:58 -08:00
Mattias Holmqvist 9865616c2c Issue 772: Fix clojure tests when running with Clojure 1.3.0. Added ^:dynamic to Vars to support Clojure 1.3.0. Also cleaned up tests a bit, not using earmuffs when inappropriate. 2011-12-08 01:12:52 +01:00
Ioannis Canellos 70bb4a17e2 Updated fragment declarations so that they can comply with OSGi 4.3 specification. 2011-11-23 19:03:51 +02:00
Adrian Cole 69467b04e3 Issue 752:move off deprecated systemProperties to systemPropertyVariables in surefire 2011-11-14 19:25:45 +02:00
Andrew Gaul 665d5df938 Propagate exceptions
Caught TransientAsyncBlobStore errors by visual inspection, the rest
with grep.
2011-11-09 18:21:00 -08:00
Adrian Cole 5d252e6fd5 removed throws clauses to UnsupportedEncodingException where they aren't thrown 2011-10-28 15:00:56 +02:00
Adrian Cole 552242e863 moved to 1.3.0-SNAPSHOT 2011-10-16 12:26:31 -07:00
Andrew Gaul 48ee511275 Fix createContainerInLocation return value.
Previously it always returned true.  Addresses issue 629.
2011-10-11 11:26:40 -07:00
Andrew Gaul 49d07239d2 Configurable endpoint for transient blobstore
Fixes issue 569.
2011-10-10 11:35:29 -07:00
Alex Heneveld 9d30fde375 issue 704, clojure 1.3 compatibility: removed uses of clojure-contrib, bringing in preferred modular dependencies where needed (tools.logging and core.incubator), adding the map-str function (that is all that was missing from clojure-contrib string), changing uses of "condition" to be java.lang.Exception, and changing the reference to private type byte-array-type to be the class directly in its own extend-protocol block since private type isn't liked under clojure 1.3; also removed clojure 1.1 build profile 2011-10-03 11:17:16 +01:00
Guillaume Nodet 87dd23551c Avoid using a non official jsr and use our own annotations 2011-09-16 17:52:12 +02:00
Adrian Cole 2a4e89912b Merge branch 'master' of git://github.com/castlabs/jclouds
* 'master' of git://github.com/castlabs/jclouds:
  added test for range requests with filesystem backend and corrected behavior
  Improve Range handling. * allowing to GET last n bytes. * start from GET range now spec conform (to field empty instead of Long.MAX_VALUE)
2011-08-19 14:38:21 -07:00
Adrian Cole 960bfe709f Issue 663:Update license headers to jclouds, Inc. and setup NOTICE file 2011-08-16 18:14:30 -07:00
Sebastian Annies 173592f7d5 added test for range requests with filesystem backend and corrected behavior 2011-08-12 13:48:32 +02:00
Sebastian Annies 5843d5fee9 Improve Range handling.
* allowing to GET last n bytes.
* start from GET range now spec conform (to field empty instead of Long.MAX_VALUE)
2011-08-09 16:15:54 +02:00
Adrian Cole 0a8f38b90e bumped snapshot version to 1.2.0-SNAPSHOT 2011-08-05 04:09:23 +01:00
Ben Mabey 19339b807a fixes clojure's blobstore clear-container wrapper fn 2011-07-12 16:46:54 -06:00
Ben Mabey 98ffa9c4b5 fixes typo in clj blobstores to allow for blob-last-modified accessors 2011-06-17 09:35:52 -06:00
Andrew Phillips 7d2fb23119 Master version is now 1.1.0-SNAPSHOT (= next feature version) now that 1.0.0 is out 2011-06-05 11:17:43 +04:00
Adrian Cole 1f535ebb6f Issue 80: public acl for atmos 2011-06-03 02:07:12 -07:00
Dmitri Babaev e1f0cdcfa5 Merge commit '6d187ed9baaad1e00dbe65b36ea2989c951a5a28', ssh client patch is reverted due to massive changes in code
Conflicts:
	drivers/jsch/src/main/java/org/jclouds/ssh/jsch/JschSshClient.java
2011-06-03 03:50:47 +04:00
Adrian Cole a68640351f better error when last-modified header not found 2011-06-02 13:51:49 -07:00
Dmitri Babaev 0fedf6e467 Merge commit '7d0248c5dd972287e51ad1971d61a6ddc8bdcdf5' 2011-06-01 20:37:49 +04:00
Gustavo Morozowski 557c0d75fe moved maven-bundle-plugin instructions to top project pom 2011-05-16 09:14:12 -03:00
Adrian Cole ddc514d602 Issue 42: added osgi fragment plugin to poms 2011-05-15 12:08:53 -07:00
David Santiago 6a3ce93d26 Clean up a comment on the blobstore2/blob function. For realsies. 2011-04-21 14:05:51 -05:00
David Santiago 29744fddda Clean up a comment on the blobstore2/blob function. 2011-04-21 11:36:47 -05:00
David Santiago 6152de91c5 Small enhancements to blobstore2_test.
Made each test clause insert a uniquely named blob, to reduce risk that an
earlier correct result masquerades as a success in a later clause.
2011-04-21 11:32:42 -05:00
David Santiago cea0e7d7ad Update blobstore2 to have a convenience protocol for building blob payloads.
* Added PayloadSource protocol with a number of implementations, including
  all currently covered classes.
* Added implementation for clojure.lang.IFn, so that you can pass in a closure.
* Updated blob function to pass the :payload argument through the payload
  protocol function.
* Added some tests for the payload protocol.
2011-04-21 04:03:58 -05:00
Adrian Cole 9e94fc6fc9 updated license headers 2011-04-09 03:20:17 -07:00
Adrian Cole 8d26999bc2 updated to surefire 2.8, and revised test annotations to be compatible with testng 5.14.10 2011-04-09 01:09:35 -07:00
Adrian Cole 5f43dbb6fa updated tests to include containercount parameter 2011-04-08 15:03:14 -07:00
Adrian Cole 25eb1581ea added parallel file upload test to blobstore 2011-04-07 12:26:47 -07:00
David Santiago a9f99f1b4e Update put-blob to new multipart API and add test.
How to do multipart on a put changed after the previous commit.
2011-04-06 02:53:19 -05:00
David Santiago 27189fba21 Add multipart? option to put-blob. 2011-04-06 00:29:22 -05:00
David Santiago aa89a53b86 Merge remote branch 'upstream/master' 2011-04-06 00:26:42 -05:00
David Santiago ee339e109b Update create-container to take more options.
* location is now optional, given through the :location keyword.
* public-read? option, can be set to true to create a publically readable
  container.
2011-04-05 18:57:28 -05:00
Adrian Cole 2bfc84beeb Issue 430: PutOptions.multipart() 2011-04-05 12:26:16 -07:00
David Santiago 793740b9be Merge remote branch 'upstream/master' 2011-04-05 02:48:48 -05:00
David Santiago ed90e29d68 Further refinements to blobstore2 in response to feedback on Github and IRC.
* Removed redundant functions, made others delegate to others instead
  of calling right into Java.
* Fixed typos, removed unused dependency references.
* Better naming for key functions: list-container -> blobs, list-blobs ->
  container-seq.
* Made blob fn no longer require a blobstore argument.
* Better comments, updated tests.
2011-04-05 02:42:45 -05:00
Adrian Cole b9f0cbcb89 crypto tuning 2011-04-04 23:37:00 -07:00
David Santiago 3011ffad23 Merge remote branch 'upstream/master' 2011-04-05 01:34:25 -05:00
Adrian Cole d69d31a5d2 expose constructor for blobbuilderimpl 2011-04-04 22:35:22 -07:00
David Santiago 1239e1a7c9 Merge remote branch 'upstream/master'
Conflicts:
	blobstore/src/test/clojure/org/jclouds/blobstore_test.clj
2011-04-04 19:04:46 -05:00
David Santiago 33150c40a2 Reduce the number of blobs to test in large-container-list-test. 2011-04-04 19:02:24 -05:00
Adrian Cole ab8a7e452c tuning so that we can reliably test multiple page lists in clj 2011-04-04 17:00:28 -07:00
David Santiago c85a7f7693 Merge remote branch 'upstream/master'
Conflicts:
	blobstore/src/test/clojure/org/jclouds/blobstore_test.clj
2011-04-04 17:27:15 -05:00
David Santiago 3d7033ad3d New Clojure blobstore API in blobstore2.clj
Updates to API include more regular function arguments, fewer compound
functions, and fewer arities of dubious quality. Tests also ported.
2011-04-04 17:23:56 -05:00
Adrian Cole c0a261334b added large container list test in clj 2011-04-04 14:37:46 -07:00
David Santiago 57f0dcaf15 Add another arity to list-blobs so that it can be called without the blobstore argument. Also add some basic tests for list-blobs-test. 2011-04-04 15:54:35 -05:00
Adrian Cole 53c735fdff enforced blobs must have uri, container, and can have publicAccess 2011-04-03 18:15:09 -07:00
Adrian Cole fc8bb96363 Merge branch 'master' of https://github.com/davidsantiago/jclouds
* 'master' of https://github.com/davidsantiago/jclouds:
  Additional refinements to blobstore.clj updates.
  Updates to improve blobstore.clj.
2011-04-02 00:34:14 -07:00
Adrian Cole e4b85db4b5 added md5 test 2011-04-02 00:30:57 -07:00
Adrian Cole a3a9bc3948 fixed usage statement 2011-04-02 00:30:49 -07:00
David Santiago 3459df3653 Additional refinements to blobstore.clj updates.
* Added an option to conditionally call calculateMD5() in blob2.
* Fixed a bug in md5-blob (which predated these changes).
* Added a direct test for blob2 and calculateMD5.
2011-04-02 02:26:45 -05:00
David Santiago 85d0474068 Merge remote branch 'upstream/master' 2011-04-02 02:26:15 -05:00
Adrian Cole 82d84b1ca1 added getoptions to blob request signer 2011-04-01 21:38:53 -07:00
David Santiago 2c74c70b1f Updates to improve blobstore.clj.
* New function blob2 exposes many more options for creating blobs.
* Updated functions that use blob to use blob2.
* New functions sign-get, sign-put, and sign-delete replace the
  functionality of sign-blob-request.
* Added tests.
* Deprecation metadata added to blob and sign-blob-request.
2011-04-01 23:32:07 -05:00
Adrian Cole 54ea98ba49 fixed typo in blob builder 2011-04-01 14:43:08 -07:00
Adrian Cole ddbd6fc1d8 allow usermetadata to be null 2011-04-01 13:52:43 -07:00
Adrian Cole 5ddf9aabca added forSigning to blobBuilder 2011-04-01 11:38:10 -07:00
Adrian Cole c352895ae2 Merge branch 'fix-list-blobs' of https://github.com/joodie/jclouds
* 'fix-list-blobs' of https://github.com/joodie/jclouds:
  make prefix optional for blobstore/list-blobs
  make blobstore/list-blobs actually lazy
2011-03-31 10:03:52 -07:00
Adrian Cole 15d8aecdac Issue 488:add support for ninefold storage 2011-03-29 14:03:21 -07:00
Adrian Cole 5fd7e559f4 fixed so that you can pass properties into blobstore 2011-03-29 13:05:24 -07:00
Joost Diepenmaat 23e988ef5a make prefix optional for blobstore/list-blobs 2011-03-15 15:49:00 +01:00
Joost Diepenmaat 5983eb0402 make blobstore/list-blobs actually lazy 2011-03-15 15:34:54 +01:00
Adrian Cole f5fa2d983b added toString to common functions so that they are easier to see when debugging 2011-03-14 01:39:59 -07:00
Adrian Cole 9bdd97340b Issue 506:support hosteurope blobstore; break out scality-rs2 2011-03-12 12:14:11 -08:00
Adrian Cole e5af84ef0e Issue 486: moved netty to a driver and created a base payload slicer 2011-03-07 09:54:25 +01:00
Tibor Kiss ed27cbc7c0 AWS S3 sequential Multipart Upload strategy 2011-03-07 09:54:25 +01:00
Adrian Cole 897dc000d5 made blobmetadata parser name accessible for testing 2011-02-26 21:48:51 -08:00
Adrian Cole f38c8d5e56 Issue 475: removed builtin providers for ec2, s3, cloudservers, cloudfiles, and vcloudexpress 2011-02-15 17:51:40 +01:00
Adrian Cole 20c23e7962 Issue 462: corrected semantics of BlobMap when using inDirectory and added BlobBuilder 2011-02-13 22:32:31 +01:00
Adrian Cole 30ed6fd848 promote scaleup-storage 2011-01-31 10:20:17 -08:00
Adrian Cole c93186ef9d S3 acls are not portable, so let's not make them enums 2011-01-31 10:05:23 -08:00
Adrian Cole 675563c96a Issue 418: updated location object to include metadata and iso3166codes 2011-01-31 01:00:20 -08:00
Adrian Cole b62a6309be workaround to walrus not having NextMarker in bucket listing 2011-01-30 02:32:00 -08:00
Adrian Cole 142aec45cb walrus: workaroud date parse issue, more intelligently deduce containernotfoundexception when s3 is in 'path' mode, and adjust base test classes 2011-01-28 10:41:40 -08:00
Adrian Cole 094ed5c25c fixed integration test classes and demoted scaleup-storage to sandbox 2011-01-26 23:52:26 -08:00
Adrian Cole 02fffda058 fixed date parser when there's a wrong date format specified 2011-01-26 19:23:22 -08:00
Adrian Cole 1df15209ec fixed built-in http client 2011-01-25 10:23:58 -08:00
Adrian Cole a5211f523e switched to use eucalyptus partnercloud as community cloud hasn't enough resources to complete testing 2011-01-24 08:12:14 -08:00
Adrian Cole e00b465c78 Issue 440, 429: decoupled openstack swift from cloudfiles 2011-01-09 11:49:59 -08:00
Adrian Cole 3ca278723d Issue 440: added cloudservers and cloudfiles us and uk providers 2011-01-08 15:59:48 -08:00
Adrian Cole 2e436741bd Issue 440: split Eucalyptus Community Cloud (ecc-s3) into a provider, and moved walrus to be an api 2011-01-05 11:27:17 +01:00
Adrian Cole 90c5c40fbd moved provider agnostic location code to core 2011-01-02 12:58:35 +01:00
Adrian Cole 60b6b68556 code cleanup: http request immutability (except payload), builders, test backfill 2010-12-30 23:40:23 +01:00
Adrian Cole 9ff54e5956 worked around case problem in scaleup-storage 2010-11-30 16:06:06 +00:00
Adrian Cole 53ac4751f5 Issue 414: fixed length problem on string payload by eagerly encoding to UTF-8 2010-11-30 11:46:25 +00:00
Adrian Cole f4870b547c bad method mapping for count-blobs 2010-11-25 15:18:16 +01:00
Adrian Cole 9f51726239 Issue 413: removed use of guice internal @Nullable annotations 2010-11-24 10:43:54 +01:00
Adrian Cole 0c690f686f Issue 396: added peer1-storage provider 2010-11-06 09:44:05 +01:00
Adrian Cole fb93e81301 refactored to create typed contextspec objects 2010-10-24 22:59:01 -05:00
Adrian Cole 49b88183d2 refactored compute provider implementation 2010-10-17 18:17:24 -07:00
Adrian Cole a9de959146 Issue 377: refactored value classes and tests so that we could test and implement credential storage 2010-10-16 22:24:22 -07:00
Adrian Cole 0f0710e2f9 beta-7 regressions 2010-09-19 21:30:07 -07:00
Adrian Cole 1981b15837 regressions for beta-7 2010-09-19 19:12:44 -07:00
Adrian Cole 53f4bec356 Issue 361: normalize test properties 2010-09-19 13:30:11 -07:00
Hugo Duncan af094f6ffe Added sign-blob-request overload for default get request 2010-09-19 11:15:22 -04:00
Hugo Duncan b7307add04 added new header methods to sign-blob-request, and enabled sign-blob-request-test 2010-09-19 10:28:10 -04:00
Adrian Cole 226179869a Issue 353: updated and tested through s3, azureblob, cloudfiles, and synaptic 2010-09-19 03:37:41 -07:00
Adrian Cole 3639af0f12 Issue 353: refactored payload/blob so that contentMetadata is a type. 2010-09-19 02:15:03 -07:00
Adrian Cole ac9a642cd3 Issue 353: added disposition, encoding, language to blob and transient blobstore 2010-09-18 19:38:14 -07:00
Rainbowbreeze 4c2ff1ea63 Added futher implementation for content disposition 2010-09-17 18:05:13 +02:00
Adrian Cole 15c878c1bf updated pom and examples to include filesystem provider 2010-09-14 10:04:05 -07:00
Adrian Cole 0e5823afad Issue 352: added transient blob signing 2010-09-13 22:41:19 -07:00
Hugo Duncan 8088bdc1a1 Comment failing (new) tests 2010-09-13 23:43:04 -04:00
Hugo Duncan 754a511ec2 Added sign-blob-request method, and some tests (broken) 2010-09-13 23:30:13 -04:00
Adrian Cole f068a06354 Issue 352: refactored request signing 2010-09-13 18:24:16 -07:00
Adrian Cole 198eeec3d9 added volume to hardware object, added signed blob support, added example of how to use signed blobs with computeservice 2010-09-12 02:27:42 -07:00
Adrian Cole 462a6e5617 Issue 335: took initialization code out of injection providers and into memoized suppliers, this will allow us to tune caching and speed up injection as guice is single-threaded; fixed broken windows along the way 2010-08-17 02:08:39 -07:00
Adrian Cole 4b76982261 Issue 191: added in-memory chef-client; use provider: transientchef 2010-08-12 18:53:51 -07:00
Adrian Cole 420503d32e updated and corrected license headers 2010-08-12 16:04:26 -07:00
Adrian Cole 60908bfb6e Issue 191: added databag support 2010-08-11 18:34:50 -07:00
Adrian Cole 7a593a1630 added WriteTo interface for streaming puts 2010-08-11 02:13:28 -07:00
Adrian Cole 25bc2c0691 added get-blob-stream helper and corresponding test 2010-08-10 10:37:17 -07:00
Adrian Cole 6f180ddb4e Issu 301: refactored utilities that depend on guava. introduced Crypto, CryptoStreams, and more Payloads to help deal with encrypted payloads and headers 2010-08-01 02:07:53 -07:00
Adrian Cole a9a0c53fb2 Issue 191: added RSA PEM parsing to encryptionUtils 2010-07-30 23:58:31 -07:00
Adrian Cole 34518f54ba Issue 325: massive refactor in order to stop serializing native async http client requests 2010-07-30 01:26:55 -07:00
Andrew Phillips e1f5369243 Removed 1,000,000 redundant .gitignores (they're inherited) 2010-07-28 14:38:28 +02:00
Adrian Cole ca247efaed Issue 324: added properties for (jclouds|provider).modules, (jclouds|provider).credential.resource, and (jclouds|provider).credential.file in order to support rewiring jclouds http and other components via properties files, and extract out where credentials are obtained from 2010-07-28 00:41:13 -07:00
Adrian Cole 7c3518f7ff Issue 191: changed encryption service so that it can decode a PEM key. updated chef to work in google appengine 2010-07-22 15:35:03 -07:00
Adrian Cole 887bb7adfe Issue 316: refactored ssh to use Payload object; deprecated non-payload methods 2010-07-19 13:08:12 -07:00
Adrian Cole 1d0949dec5 Issue 315: added auto-deserialization of json into java objects and new @Unwrap annotation; Issue 311: fixed template parsing for new cluster instance in ec2; Issue 191: started adding node support to chef 2010-07-17 01:30:37 -05:00
Phil Hagelberg 328679799b Missed a layer of nesting. 2010-07-13 17:18:21 -07:00
Phil Hagelberg 3db58174bd Fix formatting of generateMD5BufferingIfNotRepeatable call. 2010-07-13 17:00:49 -07:00
Phil Hagelberg 2ad5df1d3c Use blobstore argument in md5-blob instead of dynamically-bound var. 2010-07-13 17:00:49 -07:00
Adrian Cole 41e3ec6709 Issue 27: got eucalyptus and walrus working, after refactoring error handling 2010-07-11 01:26:56 -07:00
Adrian Cole e8d0a11cda Issue 301: refactored http payload and rewrote crufty tests 2010-07-09 21:13:11 -07:00
Adrian Cole 31d2da3c6f Issue 301: removed encryption service dependency from blob and added helper methods to blobstore.clj 2010-07-08 10:42:18 -07:00
Adrian Cole da3baf523c Issue 301: refactored http payload data from blob -> core, added content length, type, md5; fixed length bug in ec2 and added more tests to ensure this doesn't happen again 2010-07-08 03:46:34 -07:00
Adrian Cole 204c093753 refactored encryption service and exposed sha256 routine 2010-07-06 18:21:11 -07:00
Adrian Cole 8703c4a7a4 Issue 199: ning examples 2010-07-06 14:37:40 -07:00
Adrian Cole e90857d7a4 added toString hashCode and equals to context objects 2010-07-06 13:32:13 -07:00
Adrian Cole 85b5bd48f1 loosened dependency on the GeneratedHttpRequest class 2010-07-02 16:47:46 -07:00
Adrian Cole 9bac52d315 Issue 298: fixed regression on authorizationexception not propagating, and also missing gogrid file 2010-07-02 12:05:41 -07:00
Adrian Cole 714a459796 Issue 297: exposed utilities like encryption, logging, date, threads, and ssh to context objects 2010-06-29 15:45:59 -07:00
Adrian Cole 7e28286dd0 Issue 293: normalized on provider vocab 2010-06-28 12:03:35 -07:00
Adrian Cole caceae90bd Issue 293: normalized on identity/credential vocab 2010-06-28 11:33:41 -07:00
Adrian Cole 27f4f69b4c Issue 293: refactored code to provide for api versions and coherent properties for authorization 2010-06-28 05:07:36 -07:00
Adrian Cole 055c56dc08 Issue 292: added simple http client 2010-06-25 10:45:15 -07:00
Adrian Cole b2141b0d59 Issue 271 updated to support google storage and eucalyptus 2010-06-15 17:05:55 -04:00
Adrian Cole 518b453c6d Issue 271 updated to support google storage 2010-06-15 17:04:01 -04:00
Adrian Cole cba3f660fb Issue 27: added 'walrus' blobstore and 'eucalyptus' compute providers 2010-06-15 15:22:32 -04:00
Adrian Cole f25100fe9b Issue 191: corrected multipart form and added cookbook signing to chef client 2010-06-12 17:17:42 -07:00