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