Commit Graph

219 Commits

Author SHA1 Message Date
Andrew Gaul 86f47394bf Correct FindBugs violations 2015-07-31 14:53:58 -07:00
Timur Alperovich 2c1ca89e1a JCLOUDS-929: Add delimiter support to Azure.
Plumb the delimiter option to the Azure blob store.
2015-07-13 14:35:00 -07:00
Timur Alperovich a29d75a5d1 JCLOUDS-929: Implement generic delimiter support.
The patch adds delimiter option support in the generic blob store
interface. A live integration test is added to verify that jclouds
correctly lists objects separated by a delimiter.
2015-07-13 14:34:58 -07:00
Timur Alperovich 841a184898 Azure Blob: do not filter out prefixes.
We should not filter out prefixes when listing containers, similarly
to the way swift behaves. This makes the marker blobs apparently to
the user.
2015-07-07 16:33:44 -07:00
Timur Alperovich 497a013c8a JCLOUDS-930: Plumb prefix support down to Azure.
Plumbs support for the prefix query option in the Azure provider. This
option is not compatible with the "directory" list option and an
exception is thrown if both are set.
2015-06-29 17:31:56 -07:00
Timur Alperovich 7c7d2e2df6 JCLOUDS-930: Add the prefix option.
Add a prefix option to the ListContainerOptions class.
2015-06-29 17:31:55 -07:00
Andrew Gaul 794b385c98 JCLOUDS-894: Add portable multipart upload for Azure 2015-06-06 16:32:16 -07:00
Andrew Gaul 4e3776a099 JCLOUDS-894: Expose Azure multipart operations 2015-05-01 13:32:29 -07:00
Andrew Gaul 09b54eb03f List both committed and uncommitted Azure blocks 2015-05-01 13:32:28 -07:00
Andrew Gaul a761f4cfa1 JCLOUDS-651: Azure copy object content metadata 2015-04-08 17:58:46 -07:00
Andrew Gaul 31369ae590 JCLOUDS-651: Add Azure server-side copyBlob 2015-04-02 15:36:53 -07:00
Andrew Gaul f57ccadce8 JCLOUDS-871: Azure Copy Blob support
API reference:

http://msdn.microsoft.com/en-us/library/dd894037.aspx
2015-03-31 11:13:16 -07:00
Andrew Gaul 967f08a8f2 Return ETag from Azure setBlobMetadata
Also fix up live tests.
2015-03-31 11:03:04 -07:00
Andrew Gaul 9cf97f3117 JCLOUDS-867: Azure support for Content-Disposition
Enabled by Azure API version 2013-08-15.
2015-03-31 10:53:32 -07:00
Andrew Gaul 8617c75b7e JCLOUDS-867: Use Azure API version 2013-08-15
This changes the format of EnumerationResults.
2015-03-31 10:53:32 -07:00
Andrew Gaul ac0e5c2439 JCLOUDS-183: Enable Azure testGetIfModifiedSince
Also comment on why we skip other tests.
2015-03-30 13:07:35 -07:00
Ignasi Barrera f469cf8b51 Next development version 2.0.0-SNAPSHOT 2015-03-24 10:52:01 +01:00
Ignasi Barrera bb41ed4341 Apache jclouds 1.9.0 release 2015-03-24 10:35:42 +01:00
Andrew Gaul 019ae75a61 JCLOUDS-732: Azure portable object ACLs
Azure does not implement support for these:

https://msdn.microsoft.com/library/azure/dd179354.aspx
2015-02-21 10:28:01 -08:00
Andrew Gaul bc81919c58 Add @Beta annotations to BlobStore ACL methods
Also add missing @Override annotations.
2015-02-21 10:18:57 -08:00
Andrew Gaul d701f6a127 JCLOUDS-660: Azure portable container ACLs 2015-02-12 17:26:47 -08:00
Andrew Gaul 3ab2716a7a Skip tests which cannot run on Azure 2015-01-24 13:42:27 -08:00
Andrew Gaul c770ffbeb0 Use sorted set to order relative paths correctly 2015-01-22 11:37:46 -08:00
Andrew Gaul fae097e144 JCLOUDS-654: Add object size to StorageMetadata
This allows callers to read the content length during container
listing.  Tested against: atmosonline, aws-s3, azureblob, filesystem,
and transient.  Intentionally not implemented for legacy swift
provider.
2015-01-09 22:34:56 -08:00
Andrew Gaul 317089c77e Remove tests duplicated by testPut 2015-01-09 21:59:25 -08:00
Andrew Gaul 91c47bfd92 JCLOUDS-801: Add portable multipart upload tests
Exercise both repeatable and non-repeatable payloads.  Tested against
AWS-S3, Azure, and legacy Swift.  Skipped on all other providers.
2015-01-09 21:59:25 -08:00
Andrew Gaul 57a1f0e986 Bind Azure content metadata in multipart upload 2015-01-09 21:59:25 -08:00
Andrew Gaul fdec63fe47 Use LinkedHashSet for BoundedHashSet
This allows enumerating Azure containers in the same order as the
service provides.  This more closely matches PageSet and the Atmos
implementation of BoundedSet.
2015-01-09 17:51:23 -08:00
Andrew Gaul 35d6313e63 JCLOUDS-660: Implement AzureBlob set ACL
Reference:

http://msdn.microsoft.com/en-us/library/azure/dd179391.aspx
2015-01-09 14:05:05 -08:00
Jeremy Daggett d3c1e2eab4 Use AutoService to generate service loader metadata 2015-01-09 11:22:12 -08:00
Andrew Gaul 1c781cc5fa JCLOUDS-391: Azure multipart putBlob user metadata 2014-12-22 15:58:49 -08:00
Andrew Gaul 1663e0911e JCLOUDS-671: test putBlob with large multi-part InputStream 2014-12-06 13:52:27 -08:00
Eric Jutrzenka 66c4963b49 JCLOUDS-671: Use Iterable payload slicer for Azure
Payload slicer has a method that returns an iterable of payloads that
works on non-repeatable InputStreams that was introduced to fix
multi-part uploads in Swift (JCLOUDS-356). This commit applies the
same method to fix multi-part uploads for Azure blob store.
2014-12-06 13:52:27 -08:00
Adrian Cole 02801321a2 JCLOUDS-410 note that ByteArrayPayload needs to handle offsets. 2014-10-29 10:20:39 -07:00
Adrian Cole 1702bddffa Revert "Replace uses of ByteArrayPayload"
This reverts commit bd5b6853ee.
2014-10-29 10:20:38 -07:00
kstyrc b220d889ca JCLOUDS-184: Improving AzureBlob unit tests 2014-10-21 10:10:49 -05:00
Adrian Cole b9525a0877 JCLOUDS-40 unasync Fallback 2014-10-06 13:14:59 -07:00
Adrian Cole 99e217b720 Move off confusing test names. 2014-10-05 17:22:18 -07:00
Adrian Cole dfb583b67a JCLOUDS-40 remove all implementations of AsyncBlobStore except Submission in preparation for complete removal. 2014-10-05 08:49:38 -07:00
Adrian Cole c13220dc93 JCLOUDS-40 missing azure-common reference from azureblob. 2014-10-03 23:13:46 -07:00
Adrian Cole 4c95a57880 JCLOUDS-40 unasync azureblob; plus fold otherwise unused azure-common into it. 2014-10-03 22:15:01 -07:00
Andrew Gaul bd5b6853ee Replace uses of ByteArrayPayload
Prefer ByteSourcePayload which offers a superset of its functionality.
Note that ByteArrayPayload implicitly set the contentLength while
users of ByteSourcePayload must do so explicitly.
2014-09-07 07:43:14 -07:00
Andrew Gaul 975c1325bc JCLOUDS-706: Upgrade Azure API to 2012-02-12
This will allow use of Azure after August 2015:

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/08/05/microsoft-azure-storage-service-version-removal.aspx
2014-09-05 16:35:31 -07:00
Andrew Gaul 0b89b1fd10 Ensure that Content-MD5 has 128 bits
Update many tests Content-MD5 headers and ETag responses.
2014-09-04 16:57:48 -07:00
Andrew Gaul 34cfdbe266 Enforce Override annotation via Checkstyle
Also remove bogus inheritDoc on base and static methods.
2014-08-31 19:37:50 -07:00
Andrew Gaul 1b824afbfc Remove redundant modifiers from interfaces 2014-08-26 17:34:13 -07:00
Jeremy Daggett e711275fb1 Prefer isEmpty() for collections rather than size() 2014-08-20 11:07:48 -07:00
Andrew Gaul 59462747e7 Reset StringBuilder instead of creating new ones
This avoids unneeded garbage, especially during XML parsing.  Replaced
with:

find -name \*.java | xargs sed -i 's/^\( *[^ ]*\) = new StringBuilder();$/\1.setLength(0);/'
2014-08-06 11:22:49 -07:00
Andrew Phillips e3d9851216 Up to 2.0.0-SNAPSHOT after the 1.8.0 release 2014-08-05 09:10:24 +02:00
Andrew Gaul 1e1eb5a092 Add deleteContainerIfEmpty to BlobStore
This matches how most blobstores operate: delete container is a single
operation, not a compound operation which recursively deletes blobs.
Azure is the only provider which allows deleting a non-empty
container.
2014-07-25 23:02:39 -07:00
Andrew Gaul f17c876d8d Replace const.txt file input with synthetic inputs
This commit replaces file resource-based test inputs with in-memory
equivalents.  This is more consistent and efficient than the previous
approach.  Also resized some test inputs to be partSize + 1 instead of
2 * partSize.  Tested against aws-s3, blobstore, core, cloudfiles-us,
and filesystem.
2014-07-19 18:35:25 -07:00
Andrew Gaul fb60d76704 JCLOUDS-622: Remove most vestiges of InputSupplier
Guava 16 deprecated InputSupplier and a future release will remove it.
2014-07-16 16:07:59 -07:00
Andrew Gaul 9cdd53b0b7 JCLOUDS-546: Remove Javadoc @author annotations
Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:44:54 -07:00
Andrew Gaul 186f052022 Remove BlobBuilder and Payloads.calculateMD5
Callers should instead explicitly set contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers.  Further it removes a dangerous
rebuffering of arbitrarily-large non-repeatable Payloads.
2014-05-28 12:54:18 -07:00
Andrew Gaul 26b53e52b7 Use ByteSource methods to create test input
Also avoids excessive system calls due to unbuffered writes.  Finally
migrate repeatingArrayByteSource to ByteSources.
2014-05-22 10:43:57 -07:00
Andrew Gaul 8d51ad6f87 Prefer Guava HttpHeaders over JAX-RS
jclouds code contains more instances of the former and Guava has
additional constants like CONTENT_MD5.
2014-05-15 01:55:51 -07:00
Andrew Gaul 2d88f5164e Enforce that all commas have trailing whitespace 2014-05-08 18:28:08 -07:00
Andrew Gaul a45124c51a JCLOUDS-505: Remove unused ObjectMD5
The only users of this seem to be
org.jclouds.atmos.blobstore.strategy.FindMD5InUserMetadata and
org.jclouds.azureblob.blobstore.strategy.FindMD5InBlobProperties which
are themselves unused.
2014-05-07 10:16:18 +02:00
Andrew Gaul d0bd30cc15 Address several Guava InputSupplier deprecations
Many remain due to Payload implementing InputSupplier<InputStream>.  Guava 18
will remove InputSupplier.
2014-04-12 12:02:26 -07:00
Bhathiya90 c308bb9bcb Supporting uppercase user names in Azure blob live tests 2014-04-02 01:43:55 +02:00
Andrew Gaul 266d7f847b Prefer ByteSource over deprecated InputSupplier 2014-02-18 22:35:10 -08:00
Andrew Bayer c1ee11d9bd Updating to 1.8.0-SNAPSHOT 2013-12-17 11:31:56 -08:00
Andrew Gaul ac1f05ffac Remove unneeded calls to ByteSources.asByteSource 2013-12-15 22:57:32 -08:00
Andrew Gaul 828d8790c2 Enforce no unused imports via Checkstyle
Removed with:

mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | while read i; do echo $i | sed -n 's/\([^:]*\):\([^:]*\):.*/sed -i \2d \1/p' | bash; done
2013-12-11 17:27:43 -08:00
Andrew Gaul 4cef85d1cd Address Checkstyle violations in tests 2013-12-09 14:40:07 -08:00
Andrew Gaul 6c5effcdb1 Address error-prone empty statement warnings 2013-11-05 16:22:44 -08:00
Andrew Gaul 17ce72794c Enable RedundantModifier for Checkstyle 2013-10-31 10:23:30 -07:00
Andrew Gaul f1fc63ab76 Add whitespace around keywords and braces 2013-09-30 09:39:29 -07:00
Andrew Gaul 5f8961723f Remove BlobStore Map abstractions
These provide little end-user benefit and make evolving the core API
more difficult.  We deprecated these in 1.6.0.
2013-09-25 20:46:31 -07:00
Andrew Gaul 342ae65974 [JCLOUDS-279] Remove spurious executable bit 2013-09-11 15:54:48 -07:00
Andrew Gaul 5b719900a0 [trivial] Remove unused variables 2013-09-09 22:38:41 -07:00
Andrew Gaul 435103eb35 Add live test for JCLOUDS-233 2013-08-06 11:53:48 -07:00
Tom Manville 19f79145fc Handle multiple of MAX_BLOCK_SIZE for Azure MPU
Currently files are not properly uploaded if they are a multiple of
MAX_BLOCK_SIZE.  Fixes JCLOUDS-233.
2013-08-06 11:46:53 -07:00
Andrew Phillips c6facc13d6 Follow-up to Azureblob cleanup
See discussion at https://github.com/jclouds/jclouds/pull/66
2013-07-17 10:32:05 -07:00
John Kew 865b910637 Cleanup of Azureblob code; as per pull request review. Additional items
not covered here are assigned specific bug ids.
2013-07-16 18:08:49 -07:00
John Kew 1b2fb8259f JCLOUDS-161: large blob support for Azure
Large blob support for AzureClient; the next step of this is to
support PutOptions.multipart and digest a blob into 4M parts. This
just implements the Azure interaction.
2013-07-10 16:04:51 -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 fa10fc4838 JCLOUDS-31. remove malformed, duplicate, or unnecessary headers 2013-05-16 21:30:32 -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
adriancole f56da43db1 deprecated blobstore interfaces that imply complex internal code 2013-04-09 14:37:34 -07:00
adriancole 053197fe61 deprecated all top-level Async apis and clients 2013-04-09 10:18:31 -07:00
adriancole 0c09140f54 azureblob does not support expires header 2013-03-21 09:07:23 -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
adriancole 1e98bc51ab azureblob: explicitly set Expect header on methods that need it 2013-03-03 21:09:53 -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 c517fad22d issue #1184 add named for Azure commands 2013-02-02 18:46:48 -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 a51e6a8323 issue #1089 removed default timeout values so that those not using async will have simpler debugging 2013-01-29 04:19:00 -08:00
adriancole 40d9f8bfe7 changes that facilitate synchronous fallbacks and http invocation 2013-01-29 04:09:45 -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 04fe89b75a update to guava 14.0-rc2 2013-01-18 16:02:25 -08:00
Adrian Cole 3962b30808 updated to use standard guava Futures and ListenableFuture 2013-01-13 09:31:10 -08:00
Adrian Cole 47c215c63c removed custom guava code for scoped binding and type params 2013-01-08 22:48:10 -08:00