Commit Graph

199 Commits

Author SHA1 Message Date
Andrew Gaul 1a6be0eb67 Do not repeat array type in initializers 2013-06-18 21:02:50 -07: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
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 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
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 ff42fdfa13 Address FindBugs warnings 2013-02-24 20:17:50 -08:00
Andrew Gaul ac9acb8808 Dynamically generate filesystem blobstore input
This removes several large images from the source tree.
2013-01-22 10:57:11 -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 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 2523ab54ac removed use of static fields to share type mapping info 2012-12-30 17:22:03 -08:00
Adrian Cole 878ec1bcab undid Serializable and added checkstyle InterfaceIsType:allowMarkerInterfaces=false 2012-11-18 09:23:44 -08:00
Adrian Cole 64a8fd0cbb Merge pull request #961 from andrewgaul/checkstyle-collection-helpers
Enforce use of Collection helpers via Checkstyle
2012-11-05 11:38:49 -08: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
Andrew Gaul ffc2fb0eb4 Ensure that callers get a well-behaving Set
Returning a container with a custom add method could confuse callers.
Provide same functionality via Function.
2012-11-04 19:31:31 -08:00
Andrew Gaul b3da8e4603 Remove filesystem dependency on Apache commons-io 2012-10-30 20:48:58 -07:00
Adrian Cole 7a46979e66 Merge pull request #922 from andrewgaul/checkstyle-newline-eof
Enforce newline at end of file via Checkstyle
2012-10-30 08:55:16 -07:00
Andrew Gaul fd26ba0d40 Simplify FilesystemAsyncBlobStoreTest.tearDown
We should not swallow an IOException and resourcesToBeDeleted only ever
has one file.
2012-10-30 03:01:44 -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 9f6b9d4d8a Rename to LocalBlobRequestSigner
Missing commit from the Filesystem and Transient unification.
2012-10-07 22:54:03 -07:00
Andrew Gaul 02e1a54220 Improve use of File constructor 2012-10-06 19:28:27 -07:00
Adrian Cole 5da084d6c4 Merge pull request #868 from andrewgaul/filesystem-get-all-container-names
Simplify filesystem blobstore getAllContainerNames
2012-10-05 10:10:57 -07:00
Andrew Gaul b8cd2b9ead Simplify filesystem blobstore getAllContainerNames
This commit removes the dangerous behavior of calling File.delete in
Iterator.remove and helps migrate away from Apache commons-io.
2012-10-05 09:34:33 -07:00
Andrew Gaul ceb203c10a Improve use of InputSupplier helpers 2012-10-02 18:18:51 -07:00
Andrew Gaul 0140020c0e Use Iterator for IMAGE_RESOUCE
Also ensure immutability.  Remove some unused members.
2012-10-02 09:45:46 -07:00
Andrew Gaul 34b9106b6d Handle InputStreamPayload in filesystem putBlob
We must save input to subsequently calculate its MD5.  Also tidy up
testWritePayloadOnFile.  Closes #1093.  Test case written by Tom
Manning.
2012-09-29 11:52:52 -07:00
Andrew Gaul 44a8ed155c Prefer Guava InputSupplier methods over IOUtils 2012-09-25 11:44:10 -07:00
Adrian Cole dcca748a79 unused imports 2012-09-15 23:48:35 -07:00
Andrew Gaul 577cde0a02 Denormalize path when removing subtree
This commit improves filesystem blobstore compatibility on Windows.
This partially reverts cfe3169.  Tested on Ubuntu 12.04 and Windows 7.
References #737.  Closes #912.
2012-07-30 14:42:44 -07:00
Andrew Gaul e253f539d6 Prefer string replacement over regular expression
Previously this method threw an PatternSyntaxException due to a
missing level of escaping.  Also remove bogus test.
2012-07-30 13:36:43 -07:00
Andrew Gaul 8ed0e28e68 Spelling corrections 2012-07-26 22:39:35 -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 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
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
Andrew Gaul 736554d049 Correct spelling errors 2012-06-14 10:03:39 -04:00
Adrian Cole 5a3f6011a2 removed junit test dependency 2012-06-03 17:26:57 -07:00
Aled Sage 2637a4b6e9 Issue 647: DateCodec impl delegates to DateService 2012-05-17 11:25:13 +01:00
Andrew Gaul dbb56e64da Remove quirky isSame method
Use safer InputSupplier instead.
2012-05-15 11:37:22 -07:00
Andrew Gaul f55231d607 Tolerate oversized ranges in getBlob 2012-05-14 15:16:32 -07:00
Andrew Gaul 9b6cf5ea21 Hamonize filesystem and transient copyBlob 2012-05-14 13:36:21 -07:00
Andrew Gaul 1199c54f67 Harmonize filesystem and transient loadBlob
Move getBlob into FilesystemStorageStrategyImpl, similar to
TransientStorageStrategy.
2012-05-14 13:06:19 -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
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
Adrian Cole 39e6f84f4b Merge pull request #612 from andrewgaul/transient-storage-strategy
Introduce TransientStorageStrategy
2012-05-07 17:14:10 -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
Adrian Cole 015a89cdcd Merge pull request #611 from andrewgaul/reduce-filesystem-transient-diff
Reduce filesystem and transient differences
2012-05-07 16:29:33 -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
Andrew Gaul 7cbfd42736 Do not check for equality on overwrites
Firstly, this check never triggered because Payload.equals always
returns false for File objects.  Secondly, this would not reduce IO
even if it worked since the common case is not overwriting a file with
the same contents.  Lastly, simplify a cast.
2012-05-07 13:35:02 -07:00
Andrew Gaul 0903d8522a Close streams in filesystem tests
Windows cannot delete open files and this may have caused test
failures.  References #912.
2012-05-03 09:22:53 -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
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 cedd906bdb Merge pull request #566 from andrewgaul/length-typo
Correct typo
2012-04-16 01:12:55 -07:00
Adrian Cole 0b59dea073 removed ContextBuilder subclasses; added unwrap; undid generic params 2012-04-16 00:44:20 -07:00
Andrew Gaul 40bb12d410 Correct typo 2012-04-13 15:29:51 -07: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
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
Adrian Cole 65b75ecb64 filesystem related changes for Issue 826 2012-02-03 00:29:39 -08:00
Adrian Cole add431a329 missing build property commit 2012-01-08 00:04:04 -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 4a5af1e7a5 Issue 441: added new type: LoginCredentials, and (jclouds|provider).image.(login-user|authenticate-sudo) context properties 2011-11-21 11:00:12 +02:00
Andrew Gaul 322d37897e Close OutputStream during filesystem putBlob 2011-11-09 10:20:51 -08:00
Andrew Phillips cfe31695c0 [issue 737] Modified apis/filesystem tests to skip tests that are known not to work on Windows 2011-10-29 11:53:25 -04:00
Adrian Cole 868b9ba93e fixed filesystem test case 2011-10-11 10:37:13 -07:00
Andrew Gaul a7fbb97cd9 Reuse transient signer with filesystem blobstore
Addresses issue 648.
2011-10-11 10:11:26 -07: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
Adrian Cole 6b9c68039b Issue 635:filesystem provider does not return md5 or etag on getBlob 2011-07-23 23:21:06 +10:00
Adrian Cole 9e94fc6fc9 updated license headers 2011-04-09 03:20:17 -07:00
Adrian Cole 2bfc84beeb Issue 430: PutOptions.multipart() 2011-04-05 12:26:16 -07:00
Adrian Cole d69d31a5d2 expose constructor for blobbuilderimpl 2011-04-04 22:35:22 -07:00
Adrian Cole 53c735fdff enforced blobs must have uri, container, and can have publicAccess 2011-04-03 18:15:09 -07: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
Adrian Cole 95a19b99fd Issue 430:large blob support on aws-s3 2011-02-24 21:46:14 -08: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 675563c96a Issue 418: updated location object to include metadata and iso3166codes 2011-01-31 01:00:20 -08:00
Adrian Cole c33ba61037 added filesystem to api project 2011-01-02 10:14:20 +01:00