Updated Branches: refs/heads/master 6d9784c4b -> 05ec994f9
JCLOUDS-410. Deprecate Payload.getInput We plan to transition Payload to ByteSource in the next major release. Unfortunately Payload.getInput masks its checked exception and ByteSource.getInput is final so we cannot continue to mask the exceptions. Deprecation of getInput and addition openStream allows us to transition callers from the former to the latter. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/f3dcd3fe Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/f3dcd3fe Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/f3dcd3fe Branch: refs/heads/master Commit: f3dcd3fe862cd4c22b430786beb018fdfd967dc2 Parents: 6d9784c Author: Andrew Gaul <[email protected]> Authored: Mon Dec 16 11:21:32 2013 -0800 Committer: Andrew Gaul <[email protected]> Committed: Mon Dec 16 13:02:37 2013 -0800 ---------------------------------------------------------------------- core/src/main/java/org/jclouds/io/Payload.java | 9 +++++++++ .../org/jclouds/io/payloads/BaseCipherPayload.java | 2 +- .../main/java/org/jclouds/io/payloads/BasePayload.java | 11 +++++++++++ .../java/org/jclouds/io/payloads/ByteArrayPayload.java | 2 +- .../org/jclouds/io/payloads/DelegatingPayload.java | 8 ++++++++ .../main/java/org/jclouds/io/payloads/FilePayload.java | 11 +++-------- .../org/jclouds/io/payloads/InputStreamPayload.java | 2 +- .../io/payloads/InputStreamSupplierPayload.java | 13 ++++--------- .../java/org/jclouds/io/payloads/MultipartForm.java | 10 ++-------- .../java/org/jclouds/io/payloads/PhantomPayload.java | 2 +- .../java/org/jclouds/io/payloads/StreamingPayload.java | 9 +++++++++ .../java/org/jclouds/io/payloads/StringPayload.java | 2 +- .../org/jclouds/io/payloads/UrlEncodedFormPayload.java | 2 +- .../java/org/jclouds/http/apachehc/ApacheHCUtils.java | 7 ++----- 14 files changed, 54 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/Payload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/Payload.java b/core/src/main/java/org/jclouds/io/Payload.java index 30d7671..6d08ce7 100644 --- a/core/src/main/java/org/jclouds/io/Payload.java +++ b/core/src/main/java/org/jclouds/io/Payload.java @@ -18,6 +18,7 @@ package org.jclouds.io; import java.io.Closeable; import java.io.InputStream; +import java.io.IOException; import com.google.common.io.InputSupplier; @@ -29,6 +30,14 @@ public interface Payload extends InputSupplier<InputStream>, WriteTo, Closeable /** * Creates a new InputStream object of the payload. */ + InputStream openStream() throws IOException; + + /** + * Creates a new InputStream object of the payload. + * + * @deprecated see openStream + */ + @Deprecated InputStream getInput(); /** http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/BaseCipherPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/BaseCipherPayload.java b/core/src/main/java/org/jclouds/io/payloads/BaseCipherPayload.java index d802cec..b1bd930 100644 --- a/core/src/main/java/org/jclouds/io/payloads/BaseCipherPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/BaseCipherPayload.java @@ -44,7 +44,7 @@ public abstract class BaseCipherPayload extends DelegatingPayload { public abstract Cipher initializeCipher(Key key); @Override - public CipherInputStream getInput() { + public CipherInputStream openStream() { return new CipherInputStream(super.getInput(), initializeCipher(key)); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/BasePayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/BasePayload.java b/core/src/main/java/org/jclouds/io/payloads/BasePayload.java index dff3820..6fdd8e5 100644 --- a/core/src/main/java/org/jclouds/io/payloads/BasePayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/BasePayload.java @@ -25,6 +25,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import com.google.common.base.Throwables; + import org.jclouds.io.MutableContentMetadata; import org.jclouds.io.Payload; @@ -45,6 +47,15 @@ public abstract class BasePayload<V> implements Payload { this.contentMetadata = checkNotNull(contentMetadata, "contentMetadata"); } + @Override + public InputStream getInput() { + try { + return openStream(); + } catch (IOException ioe) { + throw Throwables.propagate(ioe); + } + } + /** * {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/ByteArrayPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/ByteArrayPayload.java b/core/src/main/java/org/jclouds/io/payloads/ByteArrayPayload.java index 539fcde..68aeaf7 100644 --- a/core/src/main/java/org/jclouds/io/payloads/ByteArrayPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/ByteArrayPayload.java @@ -41,7 +41,7 @@ public class ByteArrayPayload extends BasePayload<byte[]> { * {@inheritDoc} */ @Override - public InputStream getInput() { + public InputStream openStream() { return new ByteArrayInputStream(content); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/DelegatingPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/DelegatingPayload.java b/core/src/main/java/org/jclouds/io/payloads/DelegatingPayload.java index ef5cc9d..4524411 100644 --- a/core/src/main/java/org/jclouds/io/payloads/DelegatingPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/DelegatingPayload.java @@ -41,6 +41,14 @@ public class DelegatingPayload implements Payload { * {@inheritDoc} */ @Override + public InputStream openStream() throws IOException { + return delegate.openStream(); + } + + /** + * {@inheritDoc} + */ + @Override public InputStream getInput() { return delegate.getInput(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/FilePayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/FilePayload.java b/core/src/main/java/org/jclouds/io/payloads/FilePayload.java index 338a6e7..430f5d8 100644 --- a/core/src/main/java/org/jclouds/io/payloads/FilePayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/FilePayload.java @@ -20,10 +20,9 @@ import static com.google.common.base.Preconditions.checkNotNull; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.InputStream; +import java.io.IOException; -import com.google.common.base.Throwables; /** * @author Adrian Cole @@ -40,12 +39,8 @@ public class FilePayload extends BasePayload<File> { * {@inheritDoc} */ @Override - public InputStream getInput() { - try { - return new FileInputStream(content); - } catch (FileNotFoundException e) { - throw Throwables.propagate(e); - } + public InputStream openStream() throws IOException { + return new FileInputStream(content); } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/InputStreamPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/InputStreamPayload.java b/core/src/main/java/org/jclouds/io/payloads/InputStreamPayload.java index 450a6cb..22a1752 100644 --- a/core/src/main/java/org/jclouds/io/payloads/InputStreamPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/InputStreamPayload.java @@ -33,7 +33,7 @@ public class InputStreamPayload extends BasePayload<InputStream> { * {@inheritDoc} */ @Override - public InputStream getInput() { + public InputStream openStream() { return content; } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/InputStreamSupplierPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/InputStreamSupplierPayload.java b/core/src/main/java/org/jclouds/io/payloads/InputStreamSupplierPayload.java index bd94cd3..54f0123 100644 --- a/core/src/main/java/org/jclouds/io/payloads/InputStreamSupplierPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/InputStreamSupplierPayload.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.io.InputStream; import java.util.List; -import com.google.common.base.Throwables; import com.google.common.collect.Lists; import com.google.common.io.InputSupplier; @@ -40,14 +39,10 @@ public class InputStreamSupplierPayload extends BasePayload<InputSupplier<? exte * {@inheritDoc} */ @Override - public InputStream getInput() { - try { - InputStream returnVal = content.getInput(); - toClose.add(returnVal); - return returnVal; - } catch (IOException e) { - throw Throwables.propagate(e); - } + public InputStream openStream() throws IOException { + InputStream returnVal = content.getInput(); + toClose.add(returnVal); + return returnVal; } /** http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/MultipartForm.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/MultipartForm.java b/core/src/main/java/org/jclouds/io/payloads/MultipartForm.java index 655ca3c..8ae44dd 100644 --- a/core/src/main/java/org/jclouds/io/payloads/MultipartForm.java +++ b/core/src/main/java/org/jclouds/io/payloads/MultipartForm.java @@ -16,7 +16,6 @@ */ package org.jclouds.io.payloads; -import static com.google.common.base.Throwables.propagate; import static com.google.common.collect.Lists.newArrayList; import static com.google.common.io.ByteStreams.join; import static com.google.common.io.ByteStreams.newInputStreamSupplier; @@ -89,13 +88,8 @@ public class MultipartForm extends BasePayload<Iterable<? extends Part>> { } @Override - public InputStream getInput() { - try { - return chain.getInput(); - } catch (IOException e) { - propagate(e); - return null; - } + public InputStream openStream() throws IOException { + return chain.getInput(); } @Override http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/PhantomPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/PhantomPayload.java b/core/src/main/java/org/jclouds/io/payloads/PhantomPayload.java index 2824d53..4023ee1 100644 --- a/core/src/main/java/org/jclouds/io/payloads/PhantomPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/PhantomPayload.java @@ -46,7 +46,7 @@ public class PhantomPayload extends BasePayload<Object> { * {@inheritDoc} */ @Override - public InputStream getInput() { + public InputStream openStream() { throw new UnsupportedOperationException(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/StreamingPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/StreamingPayload.java b/core/src/main/java/org/jclouds/io/payloads/StreamingPayload.java index ef34b69..2343091 100644 --- a/core/src/main/java/org/jclouds/io/payloads/StreamingPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/StreamingPayload.java @@ -61,6 +61,15 @@ public class StreamingPayload implements Payload { * this payload is for streaming writes only */ @Override + public InputStream openStream() { + throw new UnsupportedOperationException("this payload is for streaming writes only"); + } + + /** + * @throws UnsupportedOperationException + * this payload is for streaming writes only + */ + @Override public InputStream getInput() { throw new UnsupportedOperationException("this payload is for streaming writes only"); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/StringPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/StringPayload.java b/core/src/main/java/org/jclouds/io/payloads/StringPayload.java index da1566f..2452a94 100644 --- a/core/src/main/java/org/jclouds/io/payloads/StringPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/StringPayload.java @@ -43,7 +43,7 @@ public class StringPayload extends BasePayload<String> { * {@inheritDoc} */ @Override - public InputStream getInput() { + public InputStream openStream() { return new ByteArrayInputStream(bytes); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/core/src/main/java/org/jclouds/io/payloads/UrlEncodedFormPayload.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/io/payloads/UrlEncodedFormPayload.java b/core/src/main/java/org/jclouds/io/payloads/UrlEncodedFormPayload.java index 8cbfcca..fa906df 100644 --- a/core/src/main/java/org/jclouds/io/payloads/UrlEncodedFormPayload.java +++ b/core/src/main/java/org/jclouds/io/payloads/UrlEncodedFormPayload.java @@ -37,7 +37,7 @@ public class UrlEncodedFormPayload extends BasePayload<String> { * {@inheritDoc} */ @Override - public InputStream getInput() { + public InputStream openStream() { return toInputStream(content); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/f3dcd3fe/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java ---------------------------------------------------------------------- diff --git a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java index 5d86df6..47d7903 100644 --- a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java +++ b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java @@ -178,15 +178,12 @@ public class ApacheHCUtils { } @Override - public InputStream getInput() { + public InputStream openStream() throws IOException { try { return content.getContent(); } catch (IllegalStateException e) { - Throwables.propagate(e); - } catch (IOException e) { - Throwables.propagate(e); + throw Throwables.propagate(e); } - return null; } @Override
