This is an automated email from the ASF dual-hosted git repository.
nkollar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/master by this push:
new 2f20252 AVRO-2339: Remove Unused LengthLimitedInputStream (#472)
2f20252 is described below
commit 2f2025201bf937cb163d263396a097bbc5fad1b0
Author: BELUGABEHR <[email protected]>
AuthorDate: Thu Mar 7 04:32:58 2019 -0500
AVRO-2339: Remove Unused LengthLimitedInputStream (#472)
---
.../apache/avro/file/LengthLimitedInputStream.java | 85 ----------------------
.../avro/file/TestLengthLimitedInputStream.java | 58 ---------------
2 files changed, 143 deletions(-)
diff --git
a/lang/java/avro/src/main/java/org/apache/avro/file/LengthLimitedInputStream.java
b/lang/java/avro/src/main/java/org/apache/avro/file/LengthLimitedInputStream.java
deleted file mode 100644
index 2dfe5a6..0000000
---
a/lang/java/avro/src/main/java/org/apache/avro/file/LengthLimitedInputStream.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.avro.file;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/** Represents a substream of certain length. */
-class LengthLimitedInputStream extends FilterInputStream {
-
- /** Bytes remaining. */
- private long remaining;
-
- protected LengthLimitedInputStream(InputStream in, long maxLength) {
- super(in);
- remaining = maxLength;
- }
-
- @Override
- public int read() throws IOException {
- if (remaining > 0) {
- int v = super.read();
- if (v != -1) {
- remaining--;
- }
- return v;
- }
- return -1;
- }
-
- @Override
- public int read(byte[] b) throws IOException {
- return read(b, 0, b.length);
- }
-
- /**
- * Returns at most Integer.MAX_VALUE.
- */
- private int remainingInt() {
- return (int)Math.min(remaining, Integer.MAX_VALUE);
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- if (remaining == 0) {
- return -1;
- }
- if (len > remaining) {
- len = remainingInt();
- }
- int v = super.read(b, off, len);
- if (v != -1) {
- remaining -= v;
- }
- return v;
- }
-
- @Override
- public int available() throws IOException {
- return Math.min(super.available(), remainingInt());
- }
-
- @Override
- public long skip(long n) throws IOException {
- long v = super.skip(Math.min(remaining, n));
- remaining -= v;
- return v;
- }
-}
diff --git
a/lang/java/avro/src/test/java/org/apache/avro/file/TestLengthLimitedInputStream.java
b/lang/java/avro/src/test/java/org/apache/avro/file/TestLengthLimitedInputStream.java
deleted file mode 100644
index 39dbf54..0000000
---
a/lang/java/avro/src/test/java/org/apache/avro/file/TestLengthLimitedInputStream.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.avro.file;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class TestLengthLimitedInputStream {
- InputStream raw;
-
- @Before
- public void setupRawStream() {
- byte[] buf = new byte[128];
- for (int i = 0; i < 128; ++i) {
- buf[i] = (byte)i;
- }
- raw = new ByteArrayInputStream(buf);
- }
-
- @Test
- public void testAvailable() throws IOException {
- InputStream is = new LengthLimitedInputStream(raw, 10);
- assertEquals(10, is.available());
- is.skip(100);
- assertEquals(0, is.available());
- }
-
- @Test
- public void testRead() throws IOException {
- InputStream is = new LengthLimitedInputStream(raw, 10);
- byte[] x = new byte[12];
- assertEquals(0, is.read());
- assertEquals(9, is.read(x));
- assertEquals(-1, is.read(x));
- assertEquals(x[8], 9);
- }
-}