You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ar...@apache.org on 2020/12/18 09:36:10 UTC
[metamodel] 01/05: MM-1229: FixedWidth works with
UrlResource/HttpInputStream.
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....@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());
}
}