This is an automated email from the ASF dual-hosted git repository. arjansh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/metamodel.git
commit 57ede254772829b1a9a15b45a928a8b79e96af1d Author: jakub <j.horci...@quadient.com> AuthorDate: Thu Dec 17 10:31:56 2020 +0100 MM-1229: FixedWidth works with UrlResource/HttpInputStream. --- .../metamodel/fixedwidth/FixedWidthDataContext.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java index 022649e..60e33d1 100644 --- a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java +++ b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java @@ -153,18 +153,22 @@ public class FixedWidthDataContext extends QueryPostprocessDataContext { private FixedWidthReader createReader() { final InputStream inputStream = _resource.read(); final FixedWidthReader reader; - + if (_configuration instanceof EbcdicConfiguration) { - reader = new EbcdicReader((BufferedInputStream) inputStream, _configuration.getEncoding(), - _configuration.getValueWidths(), _configuration.isFailOnInconsistentLineWidth(), - ((EbcdicConfiguration) _configuration).isSkipEbcdicHeader(), - ((EbcdicConfiguration) _configuration).isEolPresent()); + final BufferedInputStream bufferedInputStream = + inputStream instanceof BufferedInputStream ? (BufferedInputStream) inputStream + : new BufferedInputStream(inputStream); + reader = + new EbcdicReader(bufferedInputStream, _configuration.getEncoding(), _configuration.getValueWidths(), + _configuration.isFailOnInconsistentLineWidth(), + ((EbcdicConfiguration) _configuration).isSkipEbcdicHeader(), + ((EbcdicConfiguration) _configuration).isEolPresent()); } else { if (_configuration.isConstantValueWidth()) { reader = new FixedWidthReader(inputStream, _configuration.getEncoding(), _configuration.getFixedValueWidth(), _configuration.isFailOnInconsistentLineWidth()); } else { - reader = new FixedWidthReader(inputStream, _configuration.getEncoding(), + reader = new FixedWidthReader(inputStream, _configuration.getEncoding(), _configuration.getValueWidths(), _configuration.isFailOnInconsistentLineWidth()); } }