Commit Graph

412 Commits

Author SHA1 Message Date
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 11e9728dd5 [maven-release-plugin] prepare for next development iteration 2012-07-17 23:32:35 -04:00
Adrian Cole c3697ebbae [maven-release-plugin] prepare release jclouds-1.5.0-beta.7 2012-07-17 23:32:32 -04:00
Adrian Cole 00d2ac2df7 Merge branch 'master' of https://github.com/jclouds/jclouds into 1.5.x
* 'master' of https://github.com/jclouds/jclouds:
  Issue 1024:Not possible to create hvm Linux nodes on Amazon
  Remove duplicated hexadecimal conversion code
  Ensure we close streams via InputSupplier methods
  Reduce filesystem and transient differences
  expect tests: removing requirement that requests are unique (so orderedRequestsSendResponses can tee up different responses for the same request when testing functions)
  Initial implementation of controlling SmartOS over SSH connection.
  Harmonize filesystem and transient putBlob
  remove stray @Test on base class as it's causing warnings due to its public non-test methods
  Issue 1011: remove PagedIterator
  Added optional timeout to EC2 listNodes strategy and made awaitCompletion update latch in finally block
  added concat to PagedIterable
2012-07-17 23:17:46 -04: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 e4545fe5fa Merge branch 'master' of github.com:jclouds/jclouds into 1.5.x
* 'master' of github.com:jclouds/jclouds: (30 commits)
  Issue 1011: introducing PagedIterable
  Transform to work with SaxParser
  added @Transform
  disabled test that broke cloudbees build
  Issue 1022:Move naming convention to Api from Client or Services:: cdmi
  merged cdmi changes and fixed classpath issues
  Issue 1022:Move naming convention to Api from Client or Services:: glesys jenkins openstack-* opsource-servers savvis-symphonyvpdc cloudwatch cloudidentity rackspace-cloudidentity aws-cloudwatch rackspace-cloudservers-us hpcloud-compute rackspace-cloudservers-us trystack-nova
  Issue 1022: naming conventions
  cloudstack: removing unnecessary (and in some cases misleading Named annotations). Also removing CloudstackParserModule - handling deserialization in constructors marked with ConstructorProperties annotation
  Issue 1022:Move naming convention to Api from Client or Services:: carrenza-vcloud-director
  Issue 1022:Move naming convention to Api from Client or Services:: joyent-cloudapi joyentcloud
  Issue 1022:Move naming convention to Api from Client or Services:: vcloud-director
  cleaned up http builders and expect tests
  Fix infinite loops, found by FindBugs
  Log hostnames only if they differ
  vcloud tidies
  nodepool progress and AdminAccessBuilderSpec
  Issue 1022: updated aws-elb aws-iam aws-rds iam elb rds to new naming conventions
  Issue 1022: added BaseRestApiExpectTest
  swift keystone 2.0: applying defaultProperties()
  ...
2012-07-15 23:46:35 -07:00
Adrian Cole 05fd64af44 cleaned up http builders and expect tests 2012-07-15 01:50:38 -07:00
Adrian Cole a14b940060 [maven-release-plugin] prepare for next development iteration 2012-07-10 12:22:44 -07:00
Adrian Cole fd69ec5249 [maven-release-plugin] prepare release jclouds-1.5.0-beta.6 2012-07-10 12:22:42 -07:00
Adrian Cole 1f085e9e1d merge 2012-07-09 18:14:52 -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
Adrian Cole d284839a83 [maven-release-plugin] prepare for next development iteration 2012-07-03 22:58:26 -07:00
Adrian Cole e96803862f [maven-release-plugin] prepare release jclouds-1.5.0-beta.5 2012-07-03 22:58:21 -07:00
Adrian Cole 44d6a4ea2b [maven-release-plugin] prepare for next development iteration 2012-06-19 19:01:10 -06:00
Adrian Cole 35d704e3a4 [maven-release-plugin] prepare release jclouds-1.5.0-beta.4 2012-06-19 19:01:04 -06:00
Adrian Cole 0c54dbcb47 Merge branch 'master' of github.com:jclouds/jclouds into 1.5.x
* 'master' of github.com:jclouds/jclouds:
  Issue 988:Extra port added to swift url
  consistent ordering of hardware
  fixed missing provider name on ninefold test
  Eliminate unlikely transient blobstore TOCTOU bug
2012-06-19 18:36:50 -06:00
Andrew Gaul 932b738026 Eliminate unlikely transient blobstore TOCTOU bug 2012-06-19 15:20:39 -07:00
Adrian Cole 66d23889ce [maven-release-plugin] prepare for next development iteration 2012-06-16 19:36:59 -04:00
Adrian Cole daa041d76f [maven-release-plugin] prepare release jclouds-1.5.0-beta.3 2012-06-16 19:36:55 -04:00
Adrian Cole 8900413995 merge 2012-06-16 19:06:26 -04:00
Andrew Gaul 227dbf777a Correct spelled from delimeter to delimiter 2012-06-14 10:05:13 -04:00
Adrian Cole ef10cf29ee [maven-release-plugin] prepare for next development iteration 2012-06-12 10:19:07 -07:00
Adrian Cole b00929f901 [maven-release-plugin] prepare release jclouds-1.5.0-beta.2 2012-06-12 10:19:04 -07: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