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